mirror of
https://github.com/kirjavascript/trueLMAO.git
synced 2024-06-02 11:37:28 -04:00
ram debugger
This commit is contained in:
parent
fbd4c4149a
commit
14093014af
|
@ -18,22 +18,27 @@ impl Default for Debug {
|
|||
}
|
||||
}
|
||||
|
||||
const ASCII: &str = r##"................................ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~................................. ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"##;
|
||||
|
||||
impl Debug {
|
||||
pub fn render(&mut self, ctx: &egui::Context, emu: &emu::Megadrive) {
|
||||
cpu::cpu_window(&ctx, &emu);
|
||||
palette::palette_window(&ctx, &emu);
|
||||
self.vram.render(&ctx, &emu);
|
||||
|
||||
const ASCII: &str = r##"................................ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~................................. ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþ"##;
|
||||
|
||||
egui::Window::new("memory")
|
||||
.show(ctx, |ui| {
|
||||
|
||||
let tabs: [(&str, usize, Box<dyn Fn(usize) -> u8>); 2] = [
|
||||
("RAM", 0x10000, Box::new(|offset: usize|
|
||||
let tabs: [(&str, usize, Box<dyn Fn(usize) -> u8>); 4] = [
|
||||
("68K RAM", 0x10000, Box::new(|offset: usize|
|
||||
emu.core.mem.ram[offset])),
|
||||
("Z80 RAM", 0x2000, Box::new(|offset: usize|
|
||||
emu.core.mem.z80.read_byte(offset as _))),
|
||||
("ROM", emu.core.mem.rom.size(), Box::new(|offset: usize|
|
||||
emu.core.mem.rom.read_byte(offset as _))),
|
||||
("IO", 0x20, Box::new(|offset: usize|
|
||||
emu.core.mem.io.read_byte(offset as _))),
|
||||
];
|
||||
|
||||
let (selected_name, total_bytes, accessor) = &tabs[self.tab_index];
|
||||
|
@ -66,7 +71,7 @@ impl Debug {
|
|||
.map(|offset| {
|
||||
format!("{}", ASCII.chars().nth(accessor(offset) as _).unwrap_or('.'))
|
||||
}).collect::<String>();
|
||||
ui.monospace(format!("{:04X} {} {}", i * 16, bytes, ascii));
|
||||
ui.monospace(format!("{:06X} {} {}", i * 16, bytes, ascii));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue