31 lines
1.3 KiB
Raw Permalink Normal View History

2015-11-29 20:11:52 +00:00
# fruitmachine
2015-11-29 20:28:32 +00:00
This is the start of an Apple I emulator. Nothing really works yet beyond the CPU.
Things that work:
* MOS 6502 core
* Dumb terminal-style display output
Things that don't work:
* The debugger
* Cassette interface
* Most of the UI
Known issues:
* The blinking cursor will hang around if you hit carriage return while it's being displayed
* Clicking Break and then Run will crash the emulator because I don't know how C# threading works
* The display will sometimes lose input focus, click away from the window and back in to fix that
* Many more
The ROM paths are hardcoded for the moment so the emulator expects these files to exist:
C:\apple\apple1.rom - Monitor ROM, 256B
C:\apple\apple1.vid - Character ROM, 512B
C:\apple\apple1basic.bin - Integer BASIC, available from
To load Integer BASIC from the monitor, type E000R <enter>. The prompt will switch from \ to >, indicating that you are now in BASIC mode.
Most Apple I software on the internet is available in audiocassette format and I haven't written a cassette reader yet. If you have a debug copy of MESS, you can load a file into MESS' Apple I emulator, dump the program memory, and add it to the btnLoadBinary click event with Interop.loadBinary(path, address).
M6502EmulatorDLL compiles to a DLL. Add a reference to this DLL in 6502EmulatorFrontend to compile.