ef3d605528
removes uncompressed test results as deflated version is now being used
tmerritt2025-05-30 10:59:43 -04:00
66ab2363d8
BUGFIX GEMMARAT: fixes input bug with frequent drops of inputs from 2 input loops CLEANUP: remove unused imports, _ unused variables
tmerritt2025-05-30 09:23:42 -04:00
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
tmerritt2025-05-29 13:26:41 -04:00
e45d269828
test compression is now working. you can compress a test and decompress it. needs to be rolled into the test util suite
tmerritt2025-05-27 14:00:57 -04:00
d27d2e8e45
Adds more util methods for swapping endianness and extracting data from instructions Adds tests for new util methods
tmerritt2025-05-26 08:40:15 -04:00
74bf2e71e4
moves constants out of client handler
tmerritt2025-05-23 09:20:39 -04:00
c9c9cf67da
telnet now will load the IBM logo and run through it.
tmerritt2025-05-22 14:15:38 -04:00
8c22cf9308
telnetd implementing more stuff.
tmerritt2025-05-22 13:14:33 -04:00
cddbe0c46e
fixes reset from exection completion adds 'default.oc8' adds control window size to state for load/save of settings maybe? moves TestCompressionTool code into InstructionUtil remove gemmautil and moves into gemma
tmerritt2024-11-08 09:42:28 -05:00
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
tmerritt2024-11-05 10:02:19 -05:00
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
tmerritt2024-10-28 14:42:14 -04:00
1694157e27
move tests to unit_tests to clean up individual files adds start of font characters
tmerritt2024-10-27 12:08:22 -04:00
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
tmerritt2024-10-25 08:19:03 -04:00
f6751557c6
rename instructions while working on assembler/disassembler
tmerritt2024-10-19 11:55:29 -04:00
dea4b1aa92
Gemma: - Adding SCHIP instructions SDL2: - Sorting out Joystick/Gamepad/Whatever Util: - Disassembler in progress
tmerritt2024-10-19 08:24:43 -04:00
be6e652982
Adds 'name' and 'operand' to Chip8Instruction
tmerritt2024-10-18 15:34:49 -04:00
1eeb746ccf
control moved into gemma for launch/stop/step of cpu core
tmerritt2024-10-18 10:52:39 -04:00
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()
tmerritt2024-10-18 09:59:43 -04:00
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
tmerritt2024-10-17 14:45:16 -04:00
a467c8e6b0
microoptimization for rendering
tmerritt2024-10-17 11:35:03 -04:00
4cc56db489
lots more docs in the instructions more speedups
tmerritt2024-10-16 16:04:45 -04:00
128100c54e
removed code that was only there to be tested
tmerritt2024-10-16 11:57:57 -04:00
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
tmerritt2024-10-16 10:02:24 -04:00
939fd83e80
add chatgpt driven changes to video rendering
tmerritt2024-10-16 07:28:03 -04:00
448aeab154
BUGFIX: Collision works better, not 100% BUGFIX: Video Reset works.
tmerritt2024-10-14 12:13:46 -04:00
683b0fc51a
more roms to play with egui now renders the video correctly
tmerritt2024-10-12 14:16:14 -04:00
6be443fa2b
BUGFIX: Video was not being XORed but just set.
tmerritt2024-10-12 13:47:15 -04:00
bfb615cfe7
more dump of "Emma" for Gemma Video reset now tests ok gemma egui interface now implements stupid workaround for video reset
tmerritt2024-10-12 10:51:57 -04:00
c9ef6d4e04
working on gemmaegui to build a usable UI
tmerritt2024-10-11 15:02:15 -04:00
ef0250b519
improve core to handle looping of video
tmerritt2024-10-11 13:12:13 -04:00
c455175447
adds more sample roms. 21 is the random number now i guess
tmerritt2024-10-11 13:11:52 -04:00
6f7b894e92
Gemma now has a test that runs the IBM Logo and verifies the video is as expected when done.
tmerritt2024-10-11 09:50:01 -04:00
2ef8a78c32
start of computer integration tests
tmerritt2024-10-11 08:51:44 -04:00
4fc0bfd3d8
now passes the flags test rom
tmerritt2024-10-10 16:12:48 -04:00
e176ee5638
8xy4 and 8xy5 pass. more flag tests passing
tmerritt2024-10-10 10:19:34 -04:00
4217571ded
rename to gemma add gemmaegui
tmerritt2024-10-09 15:16:47 -04:00
067164c657
adds more test roms adds list of test roms and ability to load as desired passes the Corax+ opcode test now
tmerritt2024-10-09 09:44:51 -04:00
6fe644ef46
adds support for showing/hiding the 3 windows - memory - video - registers
tmerritt2024-10-08 19:44:58 -04:00
d06bc3fd87
stack now traps overflow and underflow fixes missing whitespace adds multi_sprite test output
tmerritt2024-10-08 10:30:20 -04:00
b4383436aa
emmagui isnt rendering correctly. backend isnt writing a sprite correctly and attempting to poke outside memory
tmerritt2024-10-07 13:33:35 -04:00
24ea413848
more test etc. video needs stuff bad
tmerritt2024-09-28 22:20:51 -04:00
731f20d894
more fixed tests and covered text.
tmerritt2024-09-28 08:55:35 -04:00
fc62512edd
now blows up with the hard test. the easy one runs but the rendering is still not done
tmerritt2024-09-26 13:21:19 -04:00
7436200a6f
adds better handling for invalid instructions adds tests for invalid instructions adds tarpaulin for generating coverage
tmerritt2024-09-26 12:46:26 -04:00
9c60454270
coverage at 100% - delay_timer - keypad - sound_timers - video - util
tmerritt2024-09-26 11:12:44 -04:00
7b36061268
registers better integrated more tests and docs to the executors
tmerritt2024-09-25 11:26:09 -04:00
0075c5ef7d
more tests. registers are their own struct now
tmerritt2024-09-25 09:05:25 -04:00
d00d093b11
moves instruction code into instruction from computer adds test suite to verify encode/decode of instructions. (( next is execution of instructions )) moves utility code for splitting parts of instructions to its own place with tests
tmerritt2024-09-24 11:17:10 -04:00
d6f7c73de3
add test chip8 file more decoder and executor code lots and lots more tests. lots and lots and lots and lots more needed
tmerritt2024-09-23 16:12:52 -04:00