This monitor was the first attempt by a third party to provide an upgrade path from T2. It was produced in 1978 by a firm called Viewfax in Birmingham UK (of whom I know nothing else apart from the fact that the author of the program was Richard Beal). This was supplied with a nice little yellow-covered handbook and came on two 1k x 8 EPROMs. The second EPROM had quite a bit of spare space in readiness for B-BUG 2, which never appeared to my knowledge. A few commands behaved differently to T2 and the general appearance to the user was rather nicer. However, I’m told that this also suffered from bugs in some of the lesser used routines. Certainly it wasn’t fully compatible with T2 as some software had problems. Basically it was a copy of T2 with an additional EPROM to hold some new commands. The new R and W commands seemed great at the time as they were about four times faster than the old D and L commands (which were still supported). Also, the hex keyboard facility was extremely useful for putting text strings into programs.

Commands

I havn’t documented the T2 commands here as they didn’t change.

A – hexadecimal arithmetic

A xxxx yyyy responds with:  SSSS DDDD JJ

SSSS is sum of xxxx and yyyy

DDDD is difference of xxxx and yyyy, yyyy-xxxx

JJ is displacement required in a Jump Relative instruction which starts at xxxx, to cause a jump to yyyy. If such a jump is not possible ?? is displayed instead.

G – generate

G xxxx yyyy zzzz

Generate auto-start tape. Data from xxxx up to yyyy-1 is written to tape and the auto-start address is set to zzzz.

H – hex keyboard

H

Modify the keyboard so that it is possible to obtain the hex equivalent of any key. Hold down the space bar and press a key. The hex value will be displayed followed by a blank. When the space bar is not held down the keyboard operates normally. The keyboard is returned to normal using the N command.

I – intelligent copy

I xxxx yyyy zzzz

Like the Copy command but starts copying at the end of the block which will not cause data corruption in an overlapping section.

N – normal keyboard

N

Restore the keyboard to normal operation.

R – read tape

R

Reads a tape which has been written using the Write command. As each block is read the header information is displayed: SSSS BBLL. SSSS is the start address of the block, BB is the block number and LL is the length (0=256 bytes). The command ends automatically when the last block has been read.

W – write tape

W xxxx yyyy

Write data to cassette tape. Data from xxxx to yyyy-1 is written to tape. Data is in blocks of 256 bytes (but the last block may have less). 256 nulls are written when the command starts followed by the data. Each block starts with one null and ends with 10 nulls.

The register display was also extended thus:

SP   PC   AF   HL   DE   BC   I   IX   IY   Flags

The flags are a decoded representation of the F register, showing the following characters as each flag is set:  S  Z  H  P  N  C

ROM calls

The restart routines remained as the T2 EPROM.

Most of the T2 calls remained more or less the same so these have not been documented again. The new calls added are all to the second EPROM:-

0400H WRITE Write (ARG1) to (ARG2) to tape
045CH TXI Output HL in ASCII, space DE in ASCII, space. H,L,D,E are added into C.
0466H TABLE Table search & return address in HL. HL must be
start of table & A must be value to be searched
for. Each line of table to be 3 bytes – the
comparison value & the address. Terminate table
with 00 as comparison value.
047AH RND Return pseudo-random number between 1 and A.
048AH* EKEY Extension to first ROM keyboard routine.
04B9H IDELAY Variable delay based on DE. Terminate on keypress
04C6H CDA Convert BCD to ASCII
04F2H RDL Rotate packed BCD left
04FCH CAD (uses RDL) Convert ASCII to BCD
0514H ICOPY (uses ARGS) Intelligent copy
0527H ARITH (uses ARGS) See A command
0697H ARGS Load registers with ARG1, ARG2, ARG3
06A3H G See G command
06CCH SOUT Send string of up to 256 chars to serial out.
06D9H ERI Extended register display
070CH READ (uses TXI) See R command
0756H* EREG (uses ERI) Provide link to first ROM for register display
0760H* EPARSE (uses TABLE) Extension to first ROM to parse extra commands.
079AH H Set hex keyboard
07A1H N Set normal keyboard
07A6H KEX Keyboard extension
07C0H MCR Move cursor right
07CFH MCL Move cursor left
07DBH MCD Move cursor down
07EDH MCU Move cursor up

* referenced in first EPROM

Several changes were made to the T2 ROM. These fixed a couple of bugs and also allowed a NMI to trigger a register display like a breakpoint. Other changes were made to link in the second EPROM.

This did not seem to be a very popular monitor. Probably due to a few compatibility problems. Many of the routines (fast tape and hex/extended keyboard to mention but two) resurfaced later in NASBUG-T4. I don’t know how…

4 Responses to “B-BUG”


  1. 1 download free yahoo messenger 22/02/2013 at 11:27 pm

    Heya this is kinda of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML.
    I’m starting a blog soon but have no coding experience so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!

    • 2 mick 02/06/2013 at 5:12 pm

      On here the basic stuff is WYSIWYG. Some of the pages were originally edited with a HTML editor – you can still do that as well, which is very useful in some cases. After modifying the HTML you can switch back to get a view of the finished page.

      The blog is actually edited via the web browser. There’s nothing to download. That’s handy for me as all the editing is done on a linux machine. 🙂

  2. 3 Can i get Into columbia University 03/05/2013 at 12:53 am

    I am not sure where you are getting your info, but great topic.
    I needs to spend some time learning much more
    or understanding more. Thanks for wonderful info I was looking for
    this information for my mission.

  3. 4 hotmail technical support 31/05/2013 at 11:31 pm

    Excellent web site you have got here.. It’s difficult to find excellent writing like yours these days. I seriously appreciate people like you! Take care!!


Comments are currently closed.