Releases: Andy4495/emulator-8-bit
emulator-8-bit v1.0.1
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
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
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)
andLD IY,(nn)
incorrect opcode valueJP cc,nn
missing opcode casesLDI
,LDIR
,LDD
,LDDR
incorrect memory accessCPIR
andCPD
were not checking for matchRETN
was not updating stack pointerPOP IX
,POP IY
pulling bytes from stack in wrong orderRLC
andRRC
implemented incorrectlyBIT
opcode implemented incorrectlySUB
andSBC
incorrect OV and N flag handlingADC
Incorrect N flag handlingSUB A,(Index + d)
andSBC A,(Index + d)
added instead of subtractedRR (Index + d),m
opcode shifted wrong directionBIT (Index + d)
opcode tested incorrect bit positionDAA
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
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
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.