diff --git a/lib/rnes/ppu.rb b/lib/rnes/ppu.rb
index <HASH>..<HASH> 100644
--- a/lib/rnes/ppu.rb
+++ b/lib/rnes/ppu.rb
@@ -82,6 +82,8 @@ module Rnes
       case address
       when 0x0002
         registers.status
+      when 0x0004
+        read_from_sprite_ram(@sprite_ram_address)
       when 0x0007
         read_from_video_ram
       else
@@ -135,7 +137,7 @@ module Rnes
       when 0x0003
         write_sprite_ram_address(value)
       when 0x0004
-        write_to_sprite_ram(value)
+        write_to_sprite_ram_via_ppu_read(value)
       when 0x0005
         write_to_scroll_registers(value)
       when 0x0006
@@ -355,7 +357,7 @@ module Rnes
     end
 
     # @param [Integer] value
-    def write_to_sprite_ram(value)
+    def write_to_sprite_ram_via_ppu_read(value)
       @sprite_ram.write(@sprite_ram_address, value)
       @sprite_ram_address += 1
     end
Implement reading OAM data from PPU $<I>