diff --git a/examples/web/index.ts b/examples/web/index.ts index f8f1cb19f1d8e70c1bc2767ed98e40a5afc30ee1..16e211d8e8d759c6639f7220f4af687c12e3ca42 100644 --- a/examples/web/index.ts +++ b/examples/web/index.ts @@ -552,6 +552,10 @@ class GameboyEmulator extends EmulatorBase implements Emulator { e: registers.e, h: registers.h, l: registers.l, + scy: registers.scy, + scx: registers.scx, + wy: registers.wy, + wx: registers.wx, ly: registers.ly, lyc: registers.lyc }; diff --git a/examples/web/react/components/registers-gb/registers-gb.tsx b/examples/web/react/components/registers-gb/registers-gb.tsx index 804494dfb2d57bc972f688b03f12952bca6751a9..988ba20ea37839ee3fa392000f66b1f6a532774f 100644 --- a/examples/web/react/components/registers-gb/registers-gb.tsx +++ b/examples/web/react/components/registers-gb/registers-gb.tsx @@ -65,6 +65,10 @@ export const RegistersGB: FC<RegistersGBProps> = ({ </div> <div className="section"> <h4>PPU</h4> + {renderRegister("SCY", registers.scy as number)} + {renderRegister("SCX", registers.scx as number)} + {renderRegister("WY", registers.wy as number)} + {renderRegister("WX", registers.wx as number)} {renderRegister("LY", registers.ly as number)} {renderRegister("LYC", registers.lyc as number)} </div> diff --git a/src/gb.rs b/src/gb.rs index ad846604b772569ecff0dab736d1c9fa9f9a34ed..f074fa046794830170ee38fff9f69ee2fe84c3b5 100644 --- a/src/gb.rs +++ b/src/gb.rs @@ -34,6 +34,10 @@ pub struct Registers { pub e: u8, pub h: u8, pub l: u8, + pub scy: u8, + pub scx: u8, + pub wy: u8, + pub wx: u8, pub ly: u8, pub lyc: u8, } @@ -140,6 +144,10 @@ impl GameBoy { e: self.cpu.e, h: self.cpu.h, l: self.cpu.l, + scy: ppu_registers.scy, + scx: ppu_registers.scx, + wy: ppu_registers.wy, + wx: ppu_registers.wx, ly: ppu_registers.ly, lyc: ppu_registers.lyc, } diff --git a/src/ppu.rs b/src/ppu.rs index e10f891398e5bf0c76071278ab8180a47e29e3a0..e576c77022d797dac82d59003d264dae8fe97816 100644 --- a/src/ppu.rs +++ b/src/ppu.rs @@ -123,6 +123,10 @@ impl Display for ObjectData { } pub struct PpuRegisters { + pub scy: u8, + pub scx: u8, + pub wy: u8, + pub wx: u8, pub ly: u8, pub lyc: u8, } @@ -680,6 +684,10 @@ impl Ppu { pub fn registers(&self) -> PpuRegisters { PpuRegisters { + scy: self.scy, + scx: self.scx, + wy: self.wy, + wx: self.wx, ly: self.ly, lyc: self.lyc, }