Commit Graph

85 Commits

Author SHA1 Message Date
tmerritt c022b15465 working on moving the 'TestCompression' code into its own crate 2025-06-01 14:12:48 -04:00
tmerritt 21f6e492f6 WIP 2025-05-31 22:56:05 -04:00
tmerritt ef3d605528 removes uncompressed test results as deflated version is now being used 2025-05-30 10:59:43 -04:00
tmerritt 66ab2363d8 BUGFIX GEMMARAT: fixes input bug with frequent drops of inputs from 2 input loops
CLEANUP: remove unused imports, _ unused variables
2025-05-30 09:23:42 -04:00
tmerritt 9b64a959f3 CLEANUP: cleans up dependencies to use workspace version
CLEANUP: standardizes on pretty_env_logger
NEWBIN: Adds gemmarat to use Ratatui as an interface
CLEANUP: removes debugging display from computer.rs
ENHANCEMENT: Constants for locations of test roms built from environment
BUGFIX: SoundTimer was using i32 internally when it needs to be u8
CLEANUP: removes commented code used during diagnostics
2025-05-29 13:27:10 -04:00
tmerritt 6c902de16f adds smoke tests to everything
adds deflated test examples
2025-05-28 11:32:09 -04:00
tmerritt e45d269828 test compression is now working. you can compress a test and decompress it.
needs to be rolled into the test util suite
2025-05-27 14:00:57 -04:00
tmerritt 0f40002053 BUGFIX: gemmaegui: Memory window was showing 16 bytes beyond 'limit' 2025-05-27 10:16:31 -04:00
tmerritt fdf09daf0f more coverage 2025-05-27 10:02:13 -04:00
tmerritt d27d2e8e45 Adds more util methods for swapping endianness and extracting data from instructions
Adds tests for new util methods
2025-05-26 08:40:15 -04:00
tmerritt 74bf2e71e4 moves constants out of client handler 2025-05-23 09:20:39 -04:00
tmerritt c9c9cf67da telnet now will load the IBM logo and run through it. 2025-05-22 14:15:38 -04:00
tmerritt 8c22cf9308 telnetd implementing more stuff. 2025-05-22 13:14:33 -04:00
tmerritt 67ca71ccb7 my first schip rom works in my schip emulator.
BUGFIX: Corrects runaway after drawing in my first schip rom
scroll down, left, right all test with test rom
assembler now assembles to the expected output it seems
fixes incorrect loading of schip font to memory
replaces schip font from new chatgpt feedback
2024-11-06 10:40:52 -05:00
tmerritt 434cf92414 weekend work 2024-11-04 10:38:46 -05:00
tmerritt 5663123f81 prep to add savestates 2024-11-02 08:10:20 -04:00
tmerritt 4e52b5b05a ui update 2024-11-01 17:40:39 -04:00
tmerritt d2537705b7 more coverage 2024-11-01 10:56:09 -04:00
tmerritt 00c75a82e5 more sample roms.
more coverage.
2024-11-01 09:41:20 -04:00
tmerritt 13ceb61c97 more passing tests. almost have coverage of instructions back 2024-10-31 15:01:32 -04:00
tmerritt d8b14fa084 more unit tests working.
imgui drawing directly to background now
2024-10-30 15:04:54 -04:00
tmerritt 011874bca6 apply of clippy.
fixed missing imports and builds and tests as expected again
2024-10-30 09:48:59 -04:00
tmerritt 4fb2d6af29 lets try clippy 2024-10-30 09:45:18 -04:00
tmerritt dfce9bf9fe more test coverage 2024-10-29 20:15:19 -04:00
tmerritt b492eb5f49 WIP
richer test suite
Updates imgui to have target ips and limits correctly.
Initial IPS = 1000, plan to expose to user
More tests for encode/decode of instructions
Adding text to instruction parsing
2024-10-29 15:56:34 -04:00
tmerritt 1694157e27 move tests to unit_tests to clean up individual files
adds start of font characters
2024-10-27 17:52:19 -04:00
tmerritt e29ac45c84 scroll down works on CHIP-8 and High-Res modes
scroll left and right work in stdef and hidef
adds octo test roms
adds schip fonts to memory
2024-10-27 11:41:25 -04:00
tmerritt a978ddc41e adding SChip features 2024-10-23 09:08:20 -04:00
tmerritt 882f95bc73 more roms 2024-10-23 09:08:07 -04:00
tmerritt eccc3fe9e3 evolve egui interface
move more control back up to the ComputerManager
2024-10-22 08:25:08 -04:00
tmerritt 665309c2e4 disassembler disassembles 2024-10-21 13:18:46 -04:00
tmerritt e927f6785f more work 2024-10-20 06:12:12 -04:00
tmerritt f6751557c6 rename instructions while working on assembler/disassembler 2024-10-19 11:55:29 -04:00
tmerritt dea4b1aa92 Gemma:
- Adding SCHIP instructions
SDL2:
- Sorting out Joystick/Gamepad/Whatever
Util:
- Disassembler in progress
2024-10-19 08:24:43 -04:00
tmerritt be6e652982 Adds 'name' and 'operand' to Chip8Instruction 2024-10-18 15:34:49 -04:00
tmerritt 1eeb746ccf control moved into gemma for launch/stop/step of cpu core 2024-10-18 10:52:39 -04:00
tmerritt d829b9f03f Adds ComputerManager so no write access to the computer directly happens.
ComputerManager has a thread to run the CPU whenever its told to either
step or run.  It can be told to stop the CPU too.  Cycle count and keystate
feedback is available along with read-only of the computer from status()
2024-10-18 09:59:43 -04:00
tmerritt 902d5c1875 Adds gemmasdl2
-> needs work but starts and runs and steps through the 1-chip8
 -> has debugging level code for determining what buttons are being pushed
2024-10-17 14:50:15 -04:00
tmerritt a467c8e6b0 microoptimization for rendering 2024-10-17 11:35:03 -04:00
tmerritt 4cc56db489 lots more docs in the instructions
more speedups
2024-10-16 16:04:45 -04:00
tmerritt 128100c54e removed code that was only there to be tested 2024-10-16 11:57:57 -04:00
tmerritt b4b8bfb24b more validation tests for gemma video rendering
Adds 'doom like' 3dviprmaze-vip for demo (VERY VERY SLOW)
updates egui interface to let user select from files in resources/roms
updates cargo to centralize dependencies
95 passing tests
2024-10-16 11:45:01 -04:00
tmerritt 939fd83e80 add chatgpt driven changes to video rendering 2024-10-16 07:28:03 -04:00
tmerritt 448aeab154 BUGFIX: Collision works better, not 100%
BUGFIX: Video Reset works.
2024-10-14 12:13:46 -04:00
tmerritt 5e290d825b more roms 2024-10-14 12:13:33 -04:00
tmerritt 683b0fc51a more roms to play with
egui now renders the video correctly
2024-10-12 14:16:14 -04:00
tmerritt 6be443fa2b BUGFIX: Video was not being XORed but just set. 2024-10-12 13:47:15 -04:00
tmerritt bfb615cfe7 more dump of "Emma" for Gemma
Video reset now tests ok
gemma egui interface now implements stupid workaround for video reset
2024-10-12 11:22:37 -04:00
tmerritt c9ef6d4e04 working on gemmaegui to build a usable UI 2024-10-11 15:02:15 -04:00
tmerritt ef0250b519 improve core to handle looping of video 2024-10-11 13:12:13 -04:00