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,nnmissing opcode casesLDI,LDIR,LDD,LDDRincorrect memory accessCPIRandCPDwere not checking for matchRETNwas not updating stack pointerPOP IX,POP IYpulling bytes from stack in wrong orderRLCandRRCimplemented incorrectlyBITopcode implemented incorrectlySUBandSBCincorrect OV and N flag handlingADCIncorrect N flag handlingSUB A,(Index + d)andSBC A,(Index + d)added instead of subtractedRR (Index + d),mopcode shifted wrong directionBIT (Index + d)opcode tested incorrect bit positionDAAmultiple 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.