|
|
- INCLUDE "hardware.inc"
-
- SECTION "OAM Mirror", WRAM0, ALIGN[8]
-
- _OAM:: ds 40 * 4
- _OAM_end:
-
- SECTION "OAM DMA routine", ROM0
-
- ; Initialize OAM
- OAM_Init::
- ; Clear internal OAM
- ld hl, _OAM
- xor a
- ld c, _OAM_end - _OAM
- call memset
-
- ; Copy DMA transfer routine to HRAM
- ld hl, waitForDMA
- ld bc, DMA_Start
- ld d, waitForDMA_end - waitForDMA
- call memcpy
-
- ret
-
- waitForDMA:
- ld [rDMA], a
- ld a, 40
- .wait:
- dec a
- jr nz, .wait
- ret
- waitForDMA_end:
-
- SECTION "OAM DMA", HRAM
-
- DMA_Start::
- ds waitForDMA_end - waitForDMA
|