You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.7 KiB
92 lines
2.7 KiB
;; Game Boy Constants |
|
; Interrupt Flags |
|
INTERRUPT_SETTINGS EQU $ffff |
|
INT_VBLANK_ON EQU %00000001 |
|
INT_VBLANK_OFF EQU %00000000 |
|
INT_LCDC_ON EQU %00000010 |
|
INT_LCDC_OFF EQU %00000000 |
|
INT_TIMER_ON EQU %00000100 |
|
INT_TIMER_OFF EQU %00000000 |
|
INT_SERIAL_ON EQU %00001000 |
|
INT_SERIAL_OFF EQU %00000000 |
|
|
|
; LCD Control |
|
LCD_CONTROL_REGISTER EQU $ff40 |
|
LCD_POSITION_REGISTER EQU $ff44 |
|
BKG_DISPLAY_ON EQU %00000001 |
|
BKG_DISPLAY_OFF EQU %00000000 |
|
OBJ_DISPLAY_ON EQU %00000010 |
|
OBJ_DISPLAY_OFF EQU %00000000 |
|
OBJ_SIZE_8X8 EQU %00000000 |
|
OBJ_SIZE_16X8 EQU %00000100 |
|
BKG_USE_LOC_9800 EQU %00000000 |
|
BKG_USE_LOC_9C00 EQU %00001000 |
|
TLS_USE_LOC_8800 EQU %00000000 |
|
TLS_USE_LOC_8000 EQU %00010000 |
|
WND_DISPLAY_ON EQU %00100000 |
|
WND_DISPLAY_OFF EQU %00000000 |
|
WND_USE_LOC_9800 EQU %00000000 |
|
WND_USE_LOC_9C00 EQU %01000000 |
|
DISPLAY_ON EQU %10000000 |
|
DISPLAY_OFF EQU %00000000 |
|
|
|
; LCD Status |
|
LCD_STATUS_REGISTER EQU $ff41 |
|
LCD_VBLANK_MODE EQU %00000000 |
|
LCD_HBLANK_MODE EQU %00000001 |
|
LCD_SPRITE_MODE EQU %00000010 |
|
LCD_TRANSFER_ACTIVE EQU %00000011 |
|
|
|
; Timer |
|
TIMER_REGISTER EQU $ff06 |
|
TIMER_SETTINGS EQU $ff07 |
|
TIMER_4KHZ EQU %00000000 |
|
TIMER_16KHZ EQU %00000011 |
|
TIMER_65KHZ EQU %00000010 |
|
TIMER_262KHZ EQU %00000001 |
|
TIMER_START EQU %00000100 |
|
TIMER_STOP EQU %00000000 |
|
|
|
; Input Register |
|
INPUT_REGISTER EQU $ff00 |
|
INPUT_A EQU %00000001 |
|
INPUT_B EQU %00000010 |
|
INPUT_SELECT EQU %00000100 |
|
INPUT_START EQU %00001000 |
|
INPUT_RIGHT EQU %00010000 |
|
INPUT_LEFT EQU %00100000 |
|
INPUT_UP EQU %01000000 |
|
INPUT_DOWN EQU %10000000 |
|
|
|
; Video Registers |
|
BKG_POS_X_REGISTER EQU $ff43 |
|
BKG_POS_Y_REGISTER EQU $ff42 |
|
WND_POS_X_REGISTER EQU $ff4b |
|
WND_POS_Y_REGISTER EQU $ff4a |
|
|
|
; DMA Register |
|
DMA_REGISTER EQU $ff46 |
|
|
|
; Palette Registers |
|
PALETTE_BKG_REGISTER EQU $ff47 |
|
PALETTE_OBJ0_REGISTER EQU $ff48 |
|
PALETTE_OBJ1_REGISTER EQU $ff49 |
|
|
|
; Video Locations |
|
TLS_LOC_8000 EQU $8000 |
|
TLS_LOC_8800 EQU $8800 |
|
BKG_LOC_9800 EQU $9800 |
|
BKG_LOC_9C00 EQU $9C00 |
|
WND_LOC_9800 EQU $9800 |
|
WND_LOC_9C00 EQU $9c00 |
|
|
|
; Object attributes |
|
OBJ_ATTR_PALETTE0 EQU %00000000 |
|
OBJ_ATTR_PALETTE1 EQU %00010000 |
|
OBJ_ATTR_MIRROR_X EQU %00100000 |
|
OBJ_ATTR_MIRROR_Y EQU %01000000 |
|
OBJ_ATTR_PRIORITY EQU %10000000 |
|
|
|
; Initial Stack Pointer |
|
INITIAL_STACK_POINTER EQU $fff4 |
|
|
|
|