v0.1.0-alpha, Initial Alpha Release
Pre-release
Pre-release
duckboycool
released this
02 Aug 19:15
·
16 commits
to master
since this release
This is the first release of my C++ 6502 emulator. Currently, it is in an unfinished state, and does not support every operation. Before creating an issue, make sure that it doesn't involve one of the following:
- Operations BCC, BCS, BEQ, BIT, BMI, BNE, BPL, BVC, BVS, CMP, CPX, CPY, JMP, JSR, PHA, PHP, PLA, PLP, RTI, and RTS do not work.
- Flags aside from C are not currently set or used.
- Indirect and relative addressing modes (e.g.
LDA ($1000,X)
) will break program.
Other improvements that I am planning are:
- The ability to output to stdout (likely by writing a value to a specific address).
- The ability to set the starting state with command line options.
Overall Checklist
- Alpha release.
- Implementation of all supported opcodes (instructions and addressing modes).
- Correct use of processor flags.
- Printing address.
- Full release.
Maybes
- ASCII representation of memory values on printout.
- Implementation of illegal/undocumented opcodes.
- Ability to step processor.
- Ability to send IQR or NMI to processor.
Binary Checksums MD5
Windows: e7d1bd2f80a0abc9be459c9cb8541fca
Linux (x86): 4cc9d07e6e6a7c80c8b74f6ed9f2fbbb
Linux (ARM): d0103b391d758d5ba2c7aad2e56b409d
Note: On Linux, you may get an error saying permission denied when running the file. If so, then you should try running chmod u+x 6502
and running it again.