diff options
author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2020-07-22 09:11:19 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-22 09:11:19 -0400 |
commit | 1aea38fd3e660ed7eeb74be1a8ce5ca0ee512d6c (patch) | |
tree | c8131f981d29d8c9a7f1ec2feb86c023300dfe74 /engine/gfx/load_push_oam.asm | |
parent | d96f914315c6ab82d30facbc4a5be1710f3c4a33 (diff) | |
parent | bb25c1074c9926da7912b18c4cae309104671183 (diff) |
Merge pull request #745 from Rangi42/master
Use LOAD/ENDL for OAM DMA code in HRAM (requires rgbds 0.4.1)
Diffstat (limited to 'engine/gfx/load_push_oam.asm')
-rw-r--r-- | engine/gfx/load_push_oam.asm | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/engine/gfx/load_push_oam.asm b/engine/gfx/load_push_oam.asm index 2e43c1ffe..395188817 100644 --- a/engine/gfx/load_push_oam.asm +++ b/engine/gfx/load_push_oam.asm @@ -1,21 +1,28 @@ WriteOAMDMACodeToHRAM:: ld c, LOW(hTransferVirtualOAM) - ld b, .PushOAMEnd - .PushOAM - ld hl, .PushOAM -.loop + ld b, OAMDMACodeEnd - OAMDMACode + ld hl, OAMDMACode +.copy ld a, [hli] ldh [c], a inc c dec b - jr nz, .loop + jr nz, .copy ret -.PushOAM: +OAMDMACode: +; This code is defined in ROM, but +; copied to and called from HRAM. +LOAD "OAM DMA", HRAM +hTransferVirtualOAM:: + ; initiate DMA ld a, HIGH(wVirtualOAM) ldh [rDMA], a + ; wait for DMA to finish ld a, NUM_SPRITE_OAM_STRUCTS -.pushoam_loop +.wait dec a - jr nz, .pushoam_loop + jr nz, .wait ret -.PushOAMEnd +ENDL +OAMDMACodeEnd: |