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,
         }