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
This commit is contained in:
2024-10-16 10:02:24 -04:00
parent 939fd83e80
commit b4b8bfb24b
21 changed files with 404 additions and 131 deletions
+12 -13
View File
@@ -5,16 +5,15 @@ edition = "2021"
[dependencies]
gemma = { path = "../gemma" }
glium = { version = "0.34.0", default-features = true }
image = "0.23"
imgui = { version ="0.12.0", features = ["tables-api"] }
imgui-glium-renderer = { version = "0.12.0" }
imgui-winit-support = { version = "0.12.0" }
winit = { version = "0.27", features = ["x11", "mint"] }
pretty_env_logger = "0.5.0"
copypasta = "0.8"
rand = "0.9.0-alpha.2"
log = "0.4.22"
beep = "0.3.0"
chrono = "0.4.38"
dimensioned = "0.8.0"
glium.workspace = true
image.workspace = true
imgui.workspace = true
imgui-glium-renderer.workspace = true
imgui-winit-support.workspace = true
winit.workspace = true
pretty_env_logger.workspace = true
copypasta.workspace = true
rand.workspace = true
log.workspace = true
chrono.workspace = true
dimensioned.workspace = true
@@ -100,6 +100,9 @@ impl GemmaImguiSupport {
ui.window("!!!! CONTROLS !!!!")
.size([345.0, 200.0], Condition::FirstUseEver)
.build(|| {
/* System Step Counter */
ui.text(format!("Step {:04x}", system_to_control.num_cycles).as_str());
/* ROM Lister */
let new_filename = GuiFileList::display_path(PathBuf::from("resources/roms"), &gui_state.filename_to_load, ui);
if !new_filename.is_empty() {
@@ -137,7 +140,7 @@ impl GemmaImguiSupport {
*system_to_control = Chip8Computer::new();
}
if ui.button("Dump Video Memory") {
debug!("{}", system_to_control.dump_video_to_string());
println!("{}", system_to_control.dump_video_to_string());
}
ui.same_line();
if ui.button("Dump Keypad State") {