Identify hardware register bits (#469)

This commit is contained in:
Sylvie 2024-09-24 10:48:10 -04:00 committed by GitHub
parent b5d2540e7c
commit 6ae63a8cea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 24 additions and 13 deletions

View file

@ -81,8 +81,14 @@ DEF rWave_d EQU $ff3d
DEF rWave_e EQU $ff3e DEF rWave_e EQU $ff3e
DEF rWave_f EQU $ff3f DEF rWave_f EQU $ff3f
DEF rLCDC EQU $ff40 ; LCD Control (R/W) DEF rLCDC EQU $ff40 ; LCD Control (R/W)
DEF rLCDC_ENABLE EQU 7 DEF rLCDC_BG_PRIORITY EQU 0
DEF rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE DEF rLCDC_SPRITES_ENABLE EQU 1
DEF rLCDC_SPRITE_SIZE EQU 2
DEF rLCDC_BG_TILEMAP EQU 3
DEF rLCDC_TILE_DATA EQU 4
DEF rLCDC_WINDOW_ENABLE EQU 5
DEF rLCDC_WINDOW_TILEMAP EQU 6
DEF rLCDC_ENABLE EQU 7
DEF rSTAT EQU $ff41 ; LCDC Status (R/W) DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
DEF rSCY EQU $ff42 ; Scroll Y (R/W) DEF rSCY EQU $ff42 ; Scroll Y (R/W)
DEF rSCX EQU $ff43 ; Scroll X (R/W) DEF rSCX EQU $ff43 ; Scroll X (R/W)
@ -111,3 +117,8 @@ DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
DEF rPCM12 EQU $ff76 ; Channels 1 & 2 Amplitude (R) DEF rPCM12 EQU $ff76 ; Channels 1 & 2 Amplitude (R)
DEF rPCM34 EQU $ff77 ; Channels 3 & 4 Amplitude (R) DEF rPCM34 EQU $ff77 ; Channels 3 & 4 Amplitude (R)
DEF rIE EQU $ffff ; Interrupt Enable (R/W) DEF rIE EQU $ffff ; Interrupt Enable (R/W)
DEF rIE_VBLANK EQU 0
DEF rIE_LCD EQU 1
DEF rIE_TIMER EQU 2
DEF rIE_SERIAL EQU 3
DEF rIE_JOYPAD EQU 4

View file

@ -12,7 +12,7 @@ AnimateHallOfFame:
call FillMemory call FillMemory
call EnableLCD call EnableLCD
ld hl, rLCDC ld hl, rLCDC
set 3, [hl] set rLCDC_BG_TILEMAP, [hl]
xor a xor a
ld hl, wHallOfFame ld hl, wHallOfFame
ld bc, HOF_TEAM ld bc, HOF_TEAM
@ -88,7 +88,7 @@ AnimateHallOfFame:
xor a xor a
ldh [hWY], a ldh [hWY], a
ld hl, rLCDC ld hl, rLCDC
res 3, [hl] res rLCDC_BG_TILEMAP, [hl]
ret ret
HallOfFameText: HallOfFameText:

View file

@ -319,8 +319,8 @@ PlayShootingStar:
call LoadIntroGraphics call LoadIntroGraphics
call EnableLCD call EnableLCD
ld hl, rLCDC ld hl, rLCDC
res 5, [hl] res rLCDC_WINDOW_ENABLE, [hl]
set 3, [hl] set rLCDC_BG_TILEMAP, [hl]
ld c, 64 ld c, 64
call DelayFrames call DelayFrames
farcall AnimateShootingStar farcall AnimateShootingStar

View file

@ -8,7 +8,6 @@ SoftReset::
Init:: Init::
; Program init. ; Program init.
DEF rLCDC_DEFAULT EQU %11100011
; * LCD enabled ; * LCD enabled
; * Window tile map at $9C00 ; * Window tile map at $9C00
; * Window display enabled ; * Window display enabled
@ -17,6 +16,7 @@ DEF rLCDC_DEFAULT EQU %11100011
; * 8x8 OBJ size ; * 8x8 OBJ size
; * OBJ display enabled ; * OBJ display enabled
; * BG display enabled ; * BG display enabled
DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
di di
@ -35,7 +35,7 @@ DEF rLCDC_DEFAULT EQU %11100011
ldh [rOBP0], a ldh [rOBP0], a
ldh [rOBP1], a ldh [rOBP1], a
ld a, rLCDC_ENABLE_MASK ld a, 1 << rLCDC_ENABLE
ldh [rLCDC], a ldh [rLCDC], a
call DisableLCD call DisableLCD

View file

@ -3,7 +3,7 @@ DisableLCD::
ldh [rIF], a ldh [rIF], a
ldh a, [rIE] ldh a, [rIE]
ld b, a ld b, a
res 0, a res rIE_VBLANK, a
ldh [rIE], a ldh [rIE], a
.wait .wait
@ -12,7 +12,7 @@ DisableLCD::
jr nz, .wait jr nz, .wait
ldh a, [rLCDC] ldh a, [rLCDC]
and ~rLCDC_ENABLE_MASK and ~(1 << rLCDC_ENABLE)
ldh [rLCDC], a ldh [rLCDC], a
ld a, b ld a, b
ldh [rIE], a ldh [rIE], a

View file

@ -1,6 +1,6 @@
LoadFontTilePatterns:: LoadFontTilePatterns::
ldh a, [rLCDC] ldh a, [rLCDC]
bit 7, a ; is the LCD enabled? bit rLCDC_ENABLE, a
jr nz, .on jr nz, .on
.off .off
ld hl, FontGraphics ld hl, FontGraphics
@ -16,7 +16,7 @@ LoadFontTilePatterns::
LoadTextBoxTilePatterns:: LoadTextBoxTilePatterns::
ldh a, [rLCDC] ldh a, [rLCDC]
bit 7, a ; is the LCD enabled? bit rLCDC_ENABLE, a
jr nz, .on jr nz, .on
.off .off
ld hl, TextBoxGraphics ld hl, TextBoxGraphics
@ -32,7 +32,7 @@ LoadTextBoxTilePatterns::
LoadHpBarAndStatusTilePatterns:: LoadHpBarAndStatusTilePatterns::
ldh a, [rLCDC] ldh a, [rLCDC]
bit 7, a ; is the LCD enabled? bit rLCDC_ENABLE, a
jr nz, .on jr nz, .on
.off .off
ld hl, HpBarAndStatusGraphics ld hl, HpBarAndStatusGraphics