Southwest Specialty Products 6800 manual Swtpc Swtbug Swatbug Monitor ROM

Page 2

SWTPC SWTBUG® (SWATBUG) MONITOR ROM

One of the features of the SWTPC 6800 Computer System is that the conventional programmer’s console has been replaced with a monitor ROM. The programmer’s console consists of all the pretty switches and lights often found on similar microcomputers that are used to bootstrap the system after power up. The programmer’s console not only raises the cost of the system, but more often than not is confusing and tedious to use for both be-ginning and experienced programmers. The monitor ROM on the other hand is a permanently stored program that gives the computer the intelligence required to communicate with the operator thru an interfaced terminal system immediately after power up without flipping switches for 10 minutes. This technique makes the computer do the work of simplifying communication between itself and the operator.

SWTBUG® is the name of the monitor program used in the SWTPC 6800 Computer System. It might be thought of as kind of a mini-operating system since it gives the operator command control over the computer system.

Features of the SWTBUG® ROM include:

Memory Examine and Change

Program loading from cassette or paper tape thru the control interface or thru I/O port # 0.

Program saving to cassette or paper tape

Go to user program

Display contents of registers

Erase SWTPC CT-1024 terminal system screen

SWTPC MF-68 floppy disk boot

Byte search

Breakpoint debugging

Vectored hardware and software interrupts to user defined addresses

SWTBUG® is a permanently stored program and cannot be erased or lost by either a loss of power or user program error. It is always resident in the computer while power is ON and need never be loaded into the machine. Subroutines within the ROM are documented and available to the user to simplify programming and conserve on the use of user RAM memory. Character input and output, string output and return to monitor are just a few subroutines available to the user.

SWTBUG® is a 1K byte program and is addressed high in memory, far above the amount of RAM memory required for most user programs. Since SWTBUG® does require a small amount of RAM memory for operation, a 128 byte scratchpad RAM has been implemented on the processor board so that no external user RAM memory is required for monitor operation. There is even enough extra room in this RAM so that short programs such as memory diagnostics can be loaded into and run from the scratchpad RAM without requiring any external user RAM memory. Extra care however must be exercised to avoid overstoring any memory locations required for proper monitor operation. Complete de-tails on this are given later in this writeup. The SWTBUG® ROM is located from memory addresses E000 thru E3FF. The scratchpad RAM is located from memory addresses A000 thru A07F. Both components are physically located on the processor board and are functional any time the system is powered up. Whenever computer control is transferred from SWTBUG® to the user program, there are only four ways to get back into the SWTBUG® command mode. The first is to put a jump to the CONTRL entry point address within SWTBUG® as the last step of your program. The second is to incorporate a command or action within your program which transfers program control to the CONTRL entry point address within SWTBUG® The third is to depress the front panel RESET button. The fourth is turn the computer OFF and then back ON again. The fourth method is rather drastic and wipes out all RAM memory data, it is only mentioned to let you know that the computer always powers up with the SWTBUG® monitor in the command mode.

1

Image 2
Contents ROM Monitor Verson Users Guide Swtpc Swtbug Swatbug Monitor ROM Swtbug Operation Swtbug InstallationReset Memory Examine and Change M addr Register Dump Function RBIT no Label Condition Code BITGO to USER’S Program Function G CT-1024 Clear Screen Command CAscii Tape Punch Command P Jump to USER’S Program JaddrLeast Significant Byte of Lower Address END of Tape Command EMost Significant Byte of Lower Address Most Significant Byte of Upper AddressSoftware Breakpoints Baddr Optional Port Command O not zeroTape Loader Function L Jump to Prom Program Z Disk Boot DDo not This is OK Byte Search F high address low address byteVectored Software Interrupts Using NON-MASKABLE InterruptsUsing Maskable IRQ Interrupts Vectored INPUT/OUTPUTBaud Rate PIA StrobingUse of the Control Interface for Read/Punch-On/Off Decoding Compatibility Loading Binary Tapes Thru SwtbugCO-RES Ver .0 and 1.01 Acia Modifications Special Notes on Using AN Acia and Program ModificationsBlkjak Swtpc 6800 Black Jack Program Program Description Memory DiagnosticsGeneral Rules for Program Writing Temporary Storage LocationsSwtbug Subroutine and Text String Description Outee ACC a ACC B Cksm IXR UnchangedOuthr E06B LDA aFCB Start LDX #TEXT JSR PDATA1 JMP Contrl TextFCC /HELLO ENDSearch E1AE Contrl E0E3Nmiv E1A7 Goto E1D0PNCHS9 E31E Clear E2CCBreak E2D9 Pnchon E34D