Skip to content

v0.1.0-alpha, Initial Alpha Release

Pre-release
Pre-release
Compare
Choose a tag to compare
@duckboycool 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.