Skip to content

Releases: duckboycool/6502-emulator

v0.3.0-beta, Second Beta Release

24 Nov 00:05
9d5d45b
Compare
Choose a tag to compare
Pre-release

This is the third overall and likely final prerelease of the emulator.

Changes

  • Processor flags correctly implemented for operations.
  • Option to emulate real 6502 behavior of continuing on a break instruction, fetching from IRQ vector.
  • Handling of keyboard interrupts to finish printing out memory or current text.

Overall Checklist

  • Alpha release.
  • Implementation of all supported opcodes (instructions and addressing modes).
  • Correct use of processor flags.
  • Printing address.
  • Ability to limit frequency of instructions.
  • Full release.
  • Set of example programs.

Maybes

  • ASCII representation of memory values on printout.
  • Implementation of illegal/undocumented opcodes.
  • Ability to step processor.
  • Ability to send IRQ or NMI to processor.
  • Input address.

v0.2.0-beta, Beta Release

19 Nov 04:02
4cb9940
Compare
Choose a tag to compare
Pre-release

This is the second release for the emulator, and with a large amount of improvements to the first alpha version.

Changes

  • All legal opcodes implemented. This means operations BCC, BCS, BEQ, BIT, BMI, BNE, BPL, BVC, BVS, CMP, CPX, CPY, JMP, JSR, PHA, PHP, PLA, PLP, RTI, and RTS and relative and indirect addressing modes will now function.
  • Printing memory address for program output.
  • Ascii printout of memory values.
  • Example program included.
  • Better ROM input handling.

Overall Checklist

  • Alpha release.
  • Implementation of all supported opcodes (instructions and addressing modes).
  • Correct use of processor flags.
  • Printing address.
  • Full release.
  • Set of example programs.

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.
  • Input address.

v0.1.0-alpha, Initial Alpha Release

02 Aug 19:15
Compare
Choose a tag to compare
Pre-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.