Test Operating System - Nakazoto/CenturionComputer GitHub Wiki

TOS - Test Operating System

TOS is essentially just a memory monitor that allows a technician debugging the system to modify memory locations, write custom programs to confirm operation of peripherals, or otherwise peek and poke every aspect of the machine. There are two different versions of TOS available.

DIAG TOS

DIAG TOS is a bare bones memory monitor included on the ROMs of the DIAG board. It allows all the basic functionality needed, but lacks a lot of quality of life features.

Command Operation
M#### Display and modify the value stored at memory location 0x####
G#### Go to memory location 0x#### and start executing

TOS6

TOS6 is a much more in-depth version of TOS, including more features, however it is only usable on CPU6 systems.

Command Operation
O#### Offset from end of program to beginning of debug utility
G Restart/continue program from last trap
G#### Go to memory location 0x#### and start executing
G,YYYY Restart program at entry point and set trap at 0xYYYY
G,YYYY,ZZZZ Restart program at entry point and set two traps at 0xYYYY, 0xZZZZ
G####,YYYY Restart program at 0x#### and set trap at 0xYYYY
G####,YYYY,ZZZZ Restart program at 0x#### and set two traps at 0xYYYY, 0xZZZZ
Q### Quit and set completion value to ###
H(expr) Four function hexadecimal calculator
F####,YYYY,ZZ Fill 0x#### to 0xYYYY with value ZZ
D####,YYYY Display the contents of memory from 0x#### to 0xYYYY
(NN)#### Integer display command?
M#### Display and modify the value stored at memory location 0x####
R Display and modify the value in register V, A, B, X, Y, Z, S, C or P

Screenshots

DIAG TOS displaying Hellorld!

TOS6 showing work on the MMIO for the Hawk drive. It's important to note that in TOS6 when doing MMIO like in this case, it is necessary to add 3 to the beginning of the address.