c022b15465
working on moving the 'TestCompression' code into its own crate
2025-06-01 14:12:48 -04:00
21f6e492f6
WIP
2025-05-31 22:56:05 -04:00
ef3d605528
removes uncompressed test results as deflated version is now being used
2025-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
2025-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
2025-05-29 13:27:10 -04:00
6c902de16f
adds smoke tests to everything
...
adds deflated test examples
2025-05-28 11:32:09 -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
2025-05-27 14:00:57 -04:00
0f40002053
BUGFIX: gemmaegui: Memory window was showing 16 bytes beyond 'limit'
2025-05-27 10:16:31 -04:00
fdf09daf0f
more coverage
2025-05-27 10:02:13 -04:00
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
74bf2e71e4
moves constants out of client handler
2025-05-23 09:20:39 -04:00
c9c9cf67da
telnet now will load the IBM logo and run through it.
2025-05-22 14:15:38 -04:00
8c22cf9308
telnetd implementing more stuff.
2025-05-22 13:14:33 -04: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
2024-11-06 10:40:52 -05:00
434cf92414
weekend work
2024-11-04 10:38:46 -05:00
5663123f81
prep to add savestates
2024-11-02 08:10:20 -04:00
4e52b5b05a
ui update
2024-11-01 17:40:39 -04:00
d2537705b7
more coverage
2024-11-01 10:56:09 -04:00
00c75a82e5
more sample roms.
...
more coverage.
2024-11-01 09:41:20 -04:00
13ceb61c97
more passing tests. almost have coverage of instructions back
2024-10-31 15:01:32 -04:00
d8b14fa084
more unit tests working.
...
imgui drawing directly to background now
2024-10-30 15:04:54 -04:00
011874bca6
apply of clippy.
...
fixed missing imports and builds and tests as expected again
2024-10-30 09:48:59 -04:00
4fb2d6af29
lets try clippy
2024-10-30 09:45:18 -04:00
dfce9bf9fe
more test coverage
2024-10-29 20:15:19 -04: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
2024-10-29 15:56:34 -04:00
1694157e27
move tests to unit_tests to clean up individual files
...
adds start of font characters
2024-10-27 17:52:19 -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
2024-10-27 11:41:25 -04:00
a978ddc41e
adding SChip features
2024-10-23 09:08:20 -04:00
882f95bc73
more roms
2024-10-23 09:08:07 -04:00
eccc3fe9e3
evolve egui interface
...
move more control back up to the ComputerManager
2024-10-22 08:25:08 -04:00
665309c2e4
disassembler disassembles
2024-10-21 13:18:46 -04:00
e927f6785f
more work
2024-10-20 06:12:12 -04:00
f6751557c6
rename instructions while working on assembler/disassembler
2024-10-19 11:55:29 -04:00
dea4b1aa92
Gemma:
...
- Adding SCHIP instructions
SDL2:
- Sorting out Joystick/Gamepad/Whatever
Util:
- Disassembler in progress
2024-10-19 08:24:43 -04:00
be6e652982
Adds 'name' and 'operand' to Chip8Instruction
2024-10-18 15:34:49 -04:00
1eeb746ccf
control moved into gemma for launch/stop/step of cpu core
2024-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()
2024-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
2024-10-17 14:50:15 -04:00
a467c8e6b0
microoptimization for rendering
2024-10-17 11:35:03 -04:00
4cc56db489
lots more docs in the instructions
...
more speedups
2024-10-16 16:04:45 -04:00
128100c54e
removed code that was only there to be tested
2024-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
2024-10-16 11:45:01 -04:00
939fd83e80
add chatgpt driven changes to video rendering
2024-10-16 07:28:03 -04:00
448aeab154
BUGFIX: Collision works better, not 100%
...
BUGFIX: Video Reset works.
2024-10-14 12:13:46 -04:00
5e290d825b
more roms
2024-10-14 12:13:33 -04:00
683b0fc51a
more roms to play with
...
egui now renders the video correctly
2024-10-12 14:16:14 -04:00
6be443fa2b
BUGFIX: Video was not being XORed but just set.
2024-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
2024-10-12 11:22:37 -04:00
c9ef6d4e04
working on gemmaegui to build a usable UI
2024-10-11 15:02:15 -04:00
ef0250b519
improve core to handle looping of video
2024-10-11 13:12:13 -04:00