SPU Mark II Livedemo
The black box below is an ANSI terminal emulator with a small SPU Mark II based computer connected to it. Just press
h to see the available options in the boot rom. The BIOS implements basic Intel Hex loading and allows you to run some code there.
NOTE: This emulator does not implement the hardware features of the Ashet Home Computer, but is a playground to learn and play with the CPU without having to implement a fullly featured home computer.
The buttons, left to right, implement the following features:
- loads a binary firmware file
- resets the CPU
- invokes the non-maskable interrupt
- starts the emulation
- pauses the emulation
- executes a single instruction
To have something happen in the emulator above, type
h to view the BIOS help. It tells you that you can load a binary in ihex format with
l. Type that key, then copy-paste the following code snippet into the terminal window:
:1080000008011C80900D09401680380AFE7F382137 :1080100001000840048018001800184048656C6C86 :0C8020006F2C20576F726C64210D0A0059 :00000001FF
It should display something like
>load ihex binary Send the ihex file now. Terminate with :00000001FF or press 'q' to quit ................ OK ................ OK ............ OK >
When that is done, you can run the application by typing
r. This will jump to address
0x8000 and will execute the code loaded there.
Congratulations, you loaded your first program onto the emulated computer!
My first own firmware
Pause the emulator, and load a binary file compiled with the assember. Then press the play button to run your program.
Programs can be compiled with the assembler like this:
./zig-out/bin/assembler --format binary --output application.bin application.asm
The memory layout for the emulator is:
||UART Port. Write to send blockingly, read nonblockingly. No value available returns 0xFFFF.|