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