Fix bugs with emulation mode flag

This commit is contained in:
2023-10-05 16:21:33 -05:00
parent 265da3470f
commit 8f05a21ebc
5 changed files with 50 additions and 78 deletions
-2
View File
@@ -370,10 +370,8 @@ fn main() {
ui.text(format!("DBR: | {:#04X}", emulator.cpu.registers.dbr));
ui.text(format!("PC: | {:#06X}", emulator.cpu.registers.pc));
ui.text(format!("EMU MODE: | {}", emulator.cpu.registers.emulation_mode));
ui.text(format!("CARRY: | {}", emulator.cpu.registers.carry));
ui.separator();
ui.text("Status flags:");
ui.text(format!(" E (exposed: {})", emulator.cpu.registers.is_emu_mode_flag_exposed()));
ui.text("NVMXDIZC");
ui.text(format!("{:08b}", emulator.cpu.registers.p));
});
+3 -3
View File
@@ -71,13 +71,13 @@ fn render_background_char_2bpp(bgdebug: &mut BgDebug, registers: &PPURegisters)
// 8x8 pixels, 2 bitplanes, each word (16bit) holds 8 pixels
// so 1 char is 8 bytes x 2
let char_base_vram_address = current_char * 8 * 2;
let vram_address = vram_base_address + (
let effective_vram_address = vram_base_address + (
char_base_vram_address + (current_char_row * 2)
);
let current_pixel = x + (y * width);
let lsb_bitplane= vram[vram_address];
let msb_bitplane= vram[vram_address + 1];
let lsb_bitplane= vram[effective_vram_address];
let msb_bitplane= vram[effective_vram_address + 1];
let pixels = [
(
(lsb_bitplane >> 7) |