e9f8d917a4chirp-imgui: First prototype, using pixels demo as baseJohn Breaux2023-04-23 12:13:22 -0500
c1219e60f0cpu.rs: Refactor for modularity - Break into submodules - Move bus into submodule of CPU - Keep program and charset rom inside CPU - Take only the screen on the external Bus - Refactor the disassembler into an instruction definition and the actual "Dis" itemJohn Breaux2023-04-23 12:10:02 -0500
33da1089a2AnyRange: Add AnyRange for taking any range in errorJohn Breaux2023-04-23 12:01:47 -0500
89f66c3d5bAdd chip8Archive as a submodule, for testingJohn Breaux2023-04-02 14:21:43 -0500
f27537b3b8tests: Update tests to match current behavior.John Breaux2023-04-01 02:31:51 -0500
a4c548d0eclib.rs: Remove crate::prelude, re-export in lib.rsJohn Breaux2023-04-01 02:31:06 -0500
bb8015f33cQuirks: Make the Cosmac VIP behavior default.John Breaux2023-04-01 00:15:40 -0500
7173b9e39bBreak io into chirp-minifb, and refactor to use Results in more placesJohn Breaux2023-04-01 00:14:15 -0500
3cc3aa534cRemove Cargo.lock and add to .gitignoreJohn Breaux2023-03-31 19:10:24 -0500
a744fa08c7Merge branch 'imperative-rs' Rewrote the disassembler and cpu::tick() for code concision and massive speed improvements.John Breaux2023-03-31 14:33:40 -0500
cc3bc3a7feMajor Refactor: Make invalid states unrepresentable™️ - Rewrote the instruction decoder as an enum - Used imperative_rs to auto-generate the bit twiddling logic - Implemented Display on that enum, for disassembly - Rewrote CPU::tick - Now >10x faster - Disassembly mode is still 5x slower though - Implemented time-based benchmarking - (use option -S to set the number of instructions per epoch)John Breaux2023-03-30 08:27:06 -0500
b7c3e3113dFix the last few instances of "chumpulator"John Breaux2023-03-29 12:29:07 -0500
ce0dc954d0tests: Improve cpu.rs line coverage to >99%John Breaux2023-03-28 12:31:56 -0500
83c178413dtests: Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.John Breaux2023-03-28 08:57:24 -0500
f2f47e13d4bus: Change named ranges from hashmap to array Improves performance by 0.4 seconds in unit testsJohn Breaux2023-03-28 07:35:18 -0500
fbc0a0b2eatests: Coverage and cleanup/speedup - Improved test coverage to >80% of lines, functions - When doctests are included. - Wrote new unit tests: - Explicit tests for invalid instructions in the ranges {5xyn, 8xyn, 9xyn, Fxbb} - rand Tests for 1052671 cycles, to ensure randomly generated number is < ANDed byte - Ex9E (sek), ExA1(snek) will press only the expected key, then every key except the expected key, for every address - Fx0A (waitk) asserts based on the waveform of a keypress. After all, an A press is an A press. - Improved test performance by printing slightly less - Removed nightly requirement - (now optional, with feature = "unstable") - Amended justfile to test with cargo nextest (nice) - Changed release builds to optlevel 3John Breaux2023-03-28 07:33:17 -0500
66bed02a5eAdd justfile for common commands, instead of aliasesJohn Breaux2023-03-28 04:38:16 -0500