summaryrefslogtreecommitdiff
path: root/engine/gfx/load_push_oam.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/gfx/load_push_oam.asm')
-rw-r--r--engine/gfx/load_push_oam.asm21
1 files changed, 21 insertions, 0 deletions
diff --git a/engine/gfx/load_push_oam.asm b/engine/gfx/load_push_oam.asm
new file mode 100644
index 000000000..95f67ff73
--- /dev/null
+++ b/engine/gfx/load_push_oam.asm
@@ -0,0 +1,21 @@
+WriteOAMDMACodeToHRAM:: ; 4031
+ ld c, hTransferVirtualOAM - $ff00
+ ld b, .PushOAMEnd - .PushOAM
+ ld hl, .PushOAM
+.loop
+ ld a, [hli]
+ ld [$ff00+c], a
+ inc c
+ dec b
+ jr nz, .loop
+ ret
+
+.PushOAM: ; 403f
+ ld a, HIGH(wVirtualOAM)
+ ld [rDMA], a
+ ld a, NUM_SPRITE_OAM_STRUCTS
+.pushoam_loop
+ dec a
+ jr nz, .pushoam_loop
+ ret
+.PushOAMEnd