The CPU emulator is in the separate repository:
How to use
The command above starts the Apple-1 emulator with Woz Monitor at the address
0xFF00. You should see the screen and the command line prompt:
With optional flag
-p you can load an additional program to the memory:
cargo run -- -p asm/apple1hello.asm
It will be loaded to the memory with starting address
0x7000. To run it using Woz Monitor type
7000R and press enter.
You should see this:
^?\ 7000R 7000: A9 HELLO WORLD! █
To see the hex content of the program:
7000.<END ADDR>, for example:
7000.700F 7000: A9 8D 20 EF FF A9 C8 20 7008: EF FF A9 C5 20 EF FF A9
You can type
E000R to start basic (run program at
Simple BASIC program to try:
10 FOR I = 1 TO 5 20 PRINT "HELLO, WORLD!" 30 NEXT I 40 END RUN
You can disable the screen (
-s) and enable debug logging:
RUST_LOG=debug cargo run -- -s -p asm/apple1hello.asm
Apple 1 Basic
There are two different ROMs, one of them is from Replica1 (
sys/replica1.bin) and another one,
roms/apple1basic.bin. Seems like it has
0xD0F2 instead of
Both seems to be working well, though I did not test everything.
You can inspect them if you load them to memory and print hex data at location
E3D5.E3DF with Woz Monitor.
note: http://www.brielcomputers.com/phpBB3/viewtopic.php?f=10&t=404 discussion about the same problem
E3D5.E3DF E3D5: 2C F2 D0 ...
Replica1 basic content:
E3D5.E3DF E3D5: 2C 12 D0 ...
and then type