Implement GDB/LLDB compatible server #3

Merged
SonicSwordcane merged 33 commits from debugger into main 2025-01-19 00:13:43 +00:00
5 changed files with 22 additions and 15 deletions
Showing only changes of commit d99344eb15 - Show all commits

2
Cargo.lock generated
View File

@ -1757,7 +1757,7 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
[[package]] [[package]]
name = "lemur" name = "lemur"
version = "0.2.5" version = "0.2.7"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"atoi", "atoi",

View File

@ -4,7 +4,7 @@ description = "An emulator for the Virtual Boy."
repository = "https://git.virtual-boy.com/PVB/lemur" repository = "https://git.virtual-boy.com/PVB/lemur"
publish = false publish = false
license = "MIT" license = "MIT"
version = "0.2.5" version = "0.2.7"
edition = "2021" edition = "2021"
[dependencies] [dependencies]

@ -1 +1 @@
Subproject commit 06849b54ba7f7fd8bba09e1cf8a8cc9107ec269b Subproject commit 57dcd8370a885541ae6a1de0f35b25675728b226

View File

@ -269,17 +269,23 @@ impl Viewport {
}); });
egui_extras::install_image_loaders(&ctx); egui_extras::install_image_loaders(&ctx);
let mut painter = egui_wgpu::winit::Painter::new( #[allow(unused_mut)]
ctx.clone(), let mut wgpu_config = egui_wgpu::WgpuConfiguration {
egui_wgpu::WgpuConfiguration { present_mode: wgpu::PresentMode::AutoNoVsync,
present_mode: wgpu::PresentMode::AutoNoVsync, ..egui_wgpu::WgpuConfiguration::default()
..egui_wgpu::WgpuConfiguration::default() };
}, #[cfg(windows)]
1, {
None, if let egui_wgpu::WgpuSetup::CreateNew {
false, supported_backends, ..
true, } = &mut wgpu_config.wgpu_setup
); {
*supported_backends -= wgpu::Backends::VULKAN;
}
}
let mut painter =
egui_wgpu::winit::Painter::new(ctx.clone(), wgpu_config, 1, None, false, true);
let mut info = ViewportInfo::default(); let mut info = ViewportInfo::default();
let mut builder = app.initial_viewport(); let mut builder = app.initial_viewport();

View File

@ -190,7 +190,8 @@ impl Sim {
let memory = vec![0u64; size.div_ceil(4)]; let memory = vec![0u64; size.div_ceil(4)];
let sim: *mut VB = Box::into_raw(memory.into_boxed_slice()).cast(); let sim: *mut VB = Box::into_raw(memory.into_boxed_slice()).cast();
unsafe { vb_init(sim) }; unsafe { vb_init(sim) };
unsafe { vb_set_option(sim, VBOption::PseudoHalt, 1) }; // pseudohalt is disabled due to breaking red alarm
unsafe { vb_set_option(sim, VBOption::PseudoHalt, 0) };
unsafe { vb_set_keys(sim, VBKey::SGN.bits()) }; unsafe { vb_set_keys(sim, VBKey::SGN.bits()) };
unsafe { vb_reset(sim) }; unsafe { vb_reset(sim) };