Some incremental improvements this time.
Changes:
- Added keyboard macro for automated tape loading
- Added a simple automated regression test framework, accessible via
--test <test_dir>
command line argument - Added an option to silence Windows error message boxes via
SLEEPDART_ERRSILENT
environment variable - Added .sna state loading
- Refactored Z80 core, removed about 800 lines of redundant code
- Z80 emulation improvements: implemented MEMPTR and Q internal registers, missing nop opcodes for ED prefix, missing duplicate opcodes for DD/FD prefix, improved R register behavior accuracy, improved flag accuracy for some instructions, improved interrupt timings
- Fixed off-by-one inaccuracy in ULA contention pattern
- Fixed save dialog not appending the .szx extension
- Fixed a crash on missing palette folder
- Fixed a crash on loading invalid tape file
- Fixed Unicode handling on Windows, i.e. non-ASCII filenames work properly now
Full changelog: 0.0.1...0.1.0