Fix OAM DMA
[ScratchNES.git] / src / PPU / PPU.tosh
index 0d18c04..52ccd82 100644 (file)
@@ -57,17 +57,17 @@ repeat 224
                 end
                 set cycles to 0
        end
-       set PPU vblank? to 1
-       if PPU generate NMI = 1 then
-               interrupt: vector "0xFFFA"
-                repeat until cycles > 2380
-                    step CPU
-                end
-                set cycles to 0
-       end
-       change y by -1
+               change y by -1
 end
 pen up
+set PPU vblank? to 1
+if PPU generate NMI = 1 then
+        interrupt: vector "0xFFFA"
+end
+repeat until cycles > 2380
+    step CPU
+end
+set cycles to 0
 
 define initialize PPU
 pen up
@@ -154,9 +154,9 @@ else
 end
 
 define OAM DMA (pagebase)
-set temp to 1
+set temp to 0
 repeat 256
-       mapper read (pagebase + temp)
+       mapper read ( (256*pagebase) + PPU OAMADDR + temp)
        replace item temp of OAM with M
        change temp by 1
 end
This page took 0.023252 seconds and 4 git commands to generate.