The program has a simple shell. Commands are typed in as single letter instructions. They are almost "TEDMON"- compatible. The address pointer is initially set to the RESET-vector from the ROM image file. A real 6502 CPU would start here after a reset.
There is a demo ROM image included, which starts at hex FE00 and is simply filled with all defined 6502 opcodes. You can simply press Enter to disassemble the next line of opcode.
Code: Select all
'd' [<ADDR>]: disassemble, '': disassemble next line, 'x': exit
.FE00 00 BRK
.FE01 01 12 ORA ($12,X)
.FE03 05 12 ORA $12
.FE05 06 12 ASL $12
.FE07 08 PHP
.FE08 09 12 ORA #$12
.FE0A 0A ASL
.FE0B 0D 12 34 ORA $3412
.FE0E 0E 12 34 ASL $3412
.FE11 10 12 BPL $FE25
FE13
I did build a 2 MByte RAM expansion board for a Microcontroller, that originally has just 2 kilobytes (ATMEGA 328 on an Arduino Nano board). I took the RAM chips from an old PC EDO DIMM module. The RAM expansion module works fine and needs just 12 portbits for the connection. However, it can't expand the internal RAM of the microcontroller - the necessary signals are not available outside of the microcontroller IC. The RAM is just available with special load and store functions via port pins.
So I use a 6502 CPU emulation, which has simulated native access to the external RAM module.
edit: link to image.