PPU: implement OAM DMA transfer
taylus opened this issue · 2 comments
taylus commented
Writing to $FF46 should cause a bulk copy of memory into OAM.
See:
taylus commented
Dr. Mario is a good example of using this since it doesn't require a memory mapper to run.
Its vblank handler jumps to $01a6. At $01c0 is a call $ffb6
which is in HRAM so it must be the game's DMA transfer routine:
See also: https://github.com/taylus/gameboy-dev/tree/master/rgbds/03-hello-sprites
This is why when I run this ROM currently, no heart sprite appears on the title screen...! (sprite OAM is empty... all zeroes, because DMA isn't filling it in).