|
|
- INCLUDE "hardware.inc"
-
- ; The address of an internal OAM entry
- ; @param \1 16-bit register
- ; @param \2 OAM index
- ; @param \3 offset
- MACRO ld_OAM
- ld \1, _OAM + \2 * sizeof_OAM_ATTRS + \3
- ENDM
-
- ; The address of an internal OAM entry's Y coordinate
- MACRO ld_OAM_y
- ld_OAM \1, \2, 0
- ENDM
-
- ; The address of an internal OAM entry's X coordinate
- MACRO ld_OAM_x
- ld_OAM \1, \2, 1
- ENDM
-
- ; The address of an internal OAM entry's tile index
- MACRO ld_OAM_tile
- ld_OAM \1, \2, 2
- ENDM
-
- ; The address of an internal OAM entry's attributes
- MACRO ld_OAM_attr
- ld_OAM \1, \2, 3
- ENDM
-
- ; Set an entry in the internal OAM (copied on next DMA)
- ; @param \1 OAM index
- ; @param \2 X coordinate
- ; @param \3 Y coordinate
- ; @param \4 Tile index
- ; @param \5 Attributes
- MACRO OAM_set
- ld_OAM_y hl, \1
- ld a, \3
- ld [hli], a
- ld a, \2
- ld [hli], a
- ld a, \4
- ld [hli], a
- ld a, \5
- ld [hl], a
- ENDM
|