ref: ce4c2d3d1247b7d90c7cf6d5b64ef486a88b70c7
dir: /engine/gfx/oam_dma.asm/
WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. ld c, LOW(hDMARoutine) ld b, DMARoutineEnd - DMARoutine ld hl, DMARoutine .copy ld a, [hli] ldh [c], a inc c dec b jr nz, .copy ret DMARoutine: LOAD "OAM DMA", HRAM hDMARoutine:: ; initiate DMA ld a, HIGH(wShadowOAM) ldh [rDMA], a ; wait for DMA to finish ld a, $28 .wait dec a jr nz, .wait ret ENDL DMARoutineEnd: