CROSSWOZ
By Michael Doornbos
- 2 minutes read - 287 wordsA cross-CPU emulator with a WOZMON-style monitor that runs in your browser. 6502, 65C02, Z80, 8080, 8085, 6809, 1802, and TMS9900 share one 64K memory bus, and you swap the chip with a single command.
Launch
The full manual covers every monitor command, the mini-assembler syntax for each CPU, the paper tape formats, and a per-CPU walkthrough.
Screenshot
Supported CPUs
- 6502 (MOS, 1975). Apple-1, Commodore, NES, Atari.
- 65C02 (WDC, 1983). Apple IIc and IIe Enhanced, BBC Master.
- Z80 (Zilog, 1976). CP/M, ZX Spectrum, MSX, Game Boy.
- 8080 (Intel, 1974). Altair 8800 and IMSAI 8080, Intel mnemonics.
- 8085 (Intel, 1976). The 8080 plus RIM/SIM, used on SDK-85 trainer boards.
- 6809 (Motorola, 1978). TRS-80 CoCo, Dragon 32, Vectrex.
- 1802 (RCA CDP1802, 1976). COSMAC ELF and the Voyager and Galileo spacecraft.
- TMS9900 (Texas Instruments, 1976). TI-99/4 and 4A. The 16-bit one, with the workspace-pointer trick where the registers actually live in RAM.
Shared 64K of RAM
The same 64K is shared across cores. Type cpu z80 and last cycle’s bytes are still sitting in memory, ready for a different chip to read.
Mini-assembler
Each CPU has its own mini-assembler in the KIM-1 style. Type A 0300 to enter assemble mode, one instruction per line, blank line to exit.
Monitor commands
Style borrowed from Apple-1 WOZMON.
XXXXexamines memory at addressXXXX.XXXX.YYYYexamines the rangeXXXXthroughYYYY.XXXX: aa bb ccwrites bytes starting atXXXX.Rruns from the reset vector.Ssingle-steps one instruction.D XXXXdisassembles fromXXXX.A XXXXenters assemble mode (blank line exits).cpu <name>swaps to a different CPU. RAM stays intact.
What’s next
A MiSTer FPGA port is in the works, then a custom FPGA PCB.