SBC-2's operating system is essentially a System Monitor, Mini-assembler, disassembler, and Break handler.

The source files are assembled with the TASS assembler.

I've been slowly adding features to the Monitor to improve its functionality.

The latest addition is the "U" command that allows you to upload files from any serial terminal program using either XMODEM/CRC or plain text in Intel-Hex format.   This will allow you to create binary files on a PC and then tranfer them directly to RAM for execution.   Both XMODEM/CRC and Intel-Hex offer some level of error detection and correction to improve reliability during the transfer.   My thanks to Ross Archer for contributing his Intel-Hex code and for helping to tweek the XMODEM interface.   To use, just press "U" and then initial the transfer from your terminal program.   The SBC will autodetect the upload file format and adjust accordingly.   The XMODEM/CRC file must have the starting address as the first two bytes, low byte first.   The TASS assembler's object files are written in this format so no special processing between assembly and uploading is required!

Look for an XMODEM/CRC file download feature to be added in the future.

Here is a list of my operating system's commands:

65C02 Monitor V5.1 Ready
with Enhanced Basic Interpreter (c) Lee Davison
(Press ? for help)

Syntax = {} required, [] optional, HHHH hex address, DD hex data

[HHHH][ HHHH]{Return} - Hex dump address(s)(up to 16 if no address entered)
[HHHH]{.HHHH}{Return} - Hex dump range of addresses (16 per line)
[HHHH]{:DD}[ DD]{Return} - Change data bytes
[HHHH]{G}{Return} - Execute a program (use RTS to return to monitor)
{HHHH.HHHH>HHHH{I}{Return} - move range at 2nd HHHH down to 1st to 3rd HHHH
[HHHH]{L}{Return} - List (disassemble) 20 lines of program
[HHHH]{.HHHH}{L}{Return} - Dissassemble a range
{HHHH.HHHH>HHHH{M}{Return} - Move range at 1st HHHH thru 2nd to 3rd HHHH
[HHHH][ HHHH]{Q}{Return} - Text dump address(s)
[HHHH]{.HHHH}{Q}{Return} - Text dump range of addresses (16 per line)
{R}{Return} - Print register contents from memory locations
{U}{Return} - Upload File (Xmodem/CRC or Intel Hex)
{V}{Return} - Monitor Version
{HHHH.HHHH>HHHH{W}{Return} - Write data in RAM to EEPROM
{!}{Return} - Enter Assembler
{@}{Return} - Cold-Start Enhanced Basic
{#}{Return} - Warm_Start Enhanced Basic
{?}{Return} - Print menu of commands

Mini-Assembler commands are:

Syntax = {} required, [] optional
     HHHH=hex address, OPC=Opcode, DD=hex data, '_'=Space Bar
     '$' Symbols are optional, all values are HEX.
     Any input after a 'semi-colon' is ignored.

{HHHH}{_}{Return} - Set input address
[HHHH]{_}{OPC}[_][#($DDHHHH,X),Y]{Return} - Assemble line
[HHHH]{L}{Return} - List (disassemble) 20 lines of program
{Return} - Exit Assembler back to Monitor
{?}{Return} - Print menu of commands
A copy of the binary and source code of the monitor program can be downloaded here ->

By gracious permission of Peter Jennings, the original author and copyright holder of "MicroChess", I present my modified version for SBC-2. It used the RS-232 terminal to display a text-based chess board. It can be downloaded here ->


All info provided "as-is" and is Copyright 2010.