Skip to content

Releases: Andy4495/emulator-8-bit

emulator-8-bit v1.0.1

11 Jul 02:31
Compare
Choose a tag to compare

Version 1.0.1: Fix version string - No functional changes from v1.0.0

All opcodes have been implemented and automated tests for all opcodes are included as GitHub actions.

Changes since v1.0.0:

  • Fix version string to display "v1.0.1"

Full Changelog: v1.0.0...v1.0.1

emulator-8-bit v1.0.0

21 Apr 04:00
Compare
Choose a tag to compare

Version 1.0.0: Ready for first release.

All opcodes have been implemented and automated tests for all opcodes are included as GitHub actions.

Changes since v0.3.0:

Emulator operational improvements:

  • Add debug menu and breakpoint support
  • Use consistent algorithms for main/extended opcodes
  • Add nullptr checks
  • Add tests for duplicate mnemonics

Opcode execution fixes:

  • DEC r incorrect N flag

Full Changelog: v0.3.0...v1.0.0

emulator-8-bit v0.3.0

17 Apr 04:26
Compare
Choose a tag to compare
emulator-8-bit v0.3.0 Pre-release
Pre-release

Extensive opcode execution tests have been added as GitHub Actions. These tests have led to numerous core emulator improvements and Z80 opcode execution fixes.

Emulator operational improvements:

  • Improved menu structure
  • Automated tests for opcode execution
  • Cold reset initialization updated to match actual hardware behavior
  • Other internal improvements and optimizations

Opcode execution fixes:

  • LD IX,(nn) and LD IY,(nn) incorrect opcode value
  • JP cc,nn missing opcode cases
  • LDI, LDIR, LDD, LDDR incorrect memory access
  • CPIR and CPD were not checking for match
  • RETN was not updating stack pointer
  • POP IX, POP IY pulling bytes from stack in wrong order
  • RLC and RRC implemented incorrectly
  • BIT opcode implemented incorrectly
  • SUB and SBC incorrect OV and N flag handling
  • ADC Incorrect N flag handling
  • SUB A,(Index + d) and SBC A,(Index + d) added instead of subtracted
  • RR (Index + d),m opcode shifted wrong direction
  • BIT (Index + d) opcode tested incorrect bit position
  • DAA multiple issues with execution and flag updates
  • R register was not double incrementing for extended opcodes
  • Incorrect H flag update across several opcodes
  • Index/displacement fixes across several opcodes
  • Index bit opcodes caused segfault due to uninitialized pointer

Full Changelog: v0.2.0...v0.3.0

emulator-8-bit v0.2.0

09 Mar 15:21
Compare
Choose a tag to compare
emulator-8-bit v0.2.0 Pre-release
Pre-release

Disassembly mode tested:

  • Numerous opcodes updated with corrected mnemonics
  • Corrected negative index displacement handling
  • Better handling of undefined opcodes
  • Automated tests added

Created abstract_CPU base class to allow extending the emulator to other CPUs beyond the Z80.

Added zasm assembler executable to tools directory for ease of automated testing.

Opcode execution and flag updates probably have some bugs that need to be fleshed out with more complete testing.

Full Changelog: v0.1.0...v0.2.0

emulator-8-bit v0.1.0

11 Feb 23:59
Compare
Choose a tag to compare
emulator-8-bit v0.1.0 Pre-release
Pre-release

First release of the emulator.
Not fully tested.
Disassembler mode should be pretty close to correct (opcodes and mnemonics).
Opcode execution and flag updates probably have some bugs that need to be fleshed out with more complete testing.