Daryl's Computer Hobby Page
  Home     SBC Circuit Boards     SBC Software     I/O Devices     Windows 65C02 Simulator     Downloads     News, Events, & History  
  Building Files Tutorial     SBC Operating System     DiskOS Disk Operating System for SBC-3     SBC-1 PC terminal Emulator  

SBC-2's operating system is essentially the same as SBC-1's except the console uses a 65C51 Serial Interface rather than using the custom 4-wire interface.

Also, the source files are now being assembled with the TASS assembler rather than my DOS Assembler to facilitate the integration with Enhanced-BASIC.

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 V4.8 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
See the "Download" tab for copies of the binary and source code of the monitor program.


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