Skip to content

Commit 6ae63a8

Browse files
authored
Identify hardware register bits (#469)
1 parent b5d2540 commit 6ae63a8

File tree

6 files changed

+24
-13
lines changed

6 files changed

+24
-13
lines changed

constants/hardware_constants.asm

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,14 @@ DEF rWave_d EQU $ff3d
8181
DEF rWave_e EQU $ff3e
8282
DEF rWave_f EQU $ff3f
8383
DEF rLCDC EQU $ff40 ; LCD Control (R/W)
84-
DEF rLCDC_ENABLE EQU 7
85-
DEF rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE
84+
DEF rLCDC_BG_PRIORITY EQU 0
85+
DEF rLCDC_SPRITES_ENABLE EQU 1
86+
DEF rLCDC_SPRITE_SIZE EQU 2
87+
DEF rLCDC_BG_TILEMAP EQU 3
88+
DEF rLCDC_TILE_DATA EQU 4
89+
DEF rLCDC_WINDOW_ENABLE EQU 5
90+
DEF rLCDC_WINDOW_TILEMAP EQU 6
91+
DEF rLCDC_ENABLE EQU 7
8692
DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
8793
DEF rSCY EQU $ff42 ; Scroll Y (R/W)
8894
DEF rSCX EQU $ff43 ; Scroll X (R/W)
@@ -111,3 +117,8 @@ DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
111117
DEF rPCM12 EQU $ff76 ; Channels 1 & 2 Amplitude (R)
112118
DEF rPCM34 EQU $ff77 ; Channels 3 & 4 Amplitude (R)
113119
DEF rIE EQU $ffff ; Interrupt Enable (R/W)
120+
DEF rIE_VBLANK EQU 0
121+
DEF rIE_LCD EQU 1
122+
DEF rIE_TIMER EQU 2
123+
DEF rIE_SERIAL EQU 3
124+
DEF rIE_JOYPAD EQU 4

engine/movie/hall_of_fame.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ AnimateHallOfFame:
1212
call FillMemory
1313
call EnableLCD
1414
ld hl, rLCDC
15-
set 3, [hl]
15+
set rLCDC_BG_TILEMAP, [hl]
1616
xor a
1717
ld hl, wHallOfFame
1818
ld bc, HOF_TEAM
@@ -88,7 +88,7 @@ AnimateHallOfFame:
8888
xor a
8989
ldh [hWY], a
9090
ld hl, rLCDC
91-
res 3, [hl]
91+
res rLCDC_BG_TILEMAP, [hl]
9292
ret
9393

9494
HallOfFameText:

engine/movie/intro.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@ PlayShootingStar:
319319
call LoadIntroGraphics
320320
call EnableLCD
321321
ld hl, rLCDC
322-
res 5, [hl]
323-
set 3, [hl]
322+
res rLCDC_WINDOW_ENABLE, [hl]
323+
set rLCDC_BG_TILEMAP, [hl]
324324
ld c, 64
325325
call DelayFrames
326326
farcall AnimateShootingStar

home/init.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ SoftReset::
88
Init::
99
; Program init.
1010

11-
DEF rLCDC_DEFAULT EQU %11100011
1211
; * LCD enabled
1312
; * Window tile map at $9C00
1413
; * Window display enabled
@@ -17,6 +16,7 @@ DEF rLCDC_DEFAULT EQU %11100011
1716
; * 8x8 OBJ size
1817
; * OBJ display enabled
1918
; * BG display enabled
19+
DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
2020

2121
di
2222

@@ -35,7 +35,7 @@ DEF rLCDC_DEFAULT EQU %11100011
3535
ldh [rOBP0], a
3636
ldh [rOBP1], a
3737

38-
ld a, rLCDC_ENABLE_MASK
38+
ld a, 1 << rLCDC_ENABLE
3939
ldh [rLCDC], a
4040
call DisableLCD
4141

home/lcd.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ DisableLCD::
33
ldh [rIF], a
44
ldh a, [rIE]
55
ld b, a
6-
res 0, a
6+
res rIE_VBLANK, a
77
ldh [rIE], a
88

99
.wait
@@ -12,7 +12,7 @@ DisableLCD::
1212
jr nz, .wait
1313

1414
ldh a, [rLCDC]
15-
and ~rLCDC_ENABLE_MASK
15+
and ~(1 << rLCDC_ENABLE)
1616
ldh [rLCDC], a
1717
ld a, b
1818
ldh [rIE], a

home/load_font.asm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
LoadFontTilePatterns::
22
ldh a, [rLCDC]
3-
bit 7, a ; is the LCD enabled?
3+
bit rLCDC_ENABLE, a
44
jr nz, .on
55
.off
66
ld hl, FontGraphics
@@ -16,7 +16,7 @@ LoadFontTilePatterns::
1616

1717
LoadTextBoxTilePatterns::
1818
ldh a, [rLCDC]
19-
bit 7, a ; is the LCD enabled?
19+
bit rLCDC_ENABLE, a
2020
jr nz, .on
2121
.off
2222
ld hl, TextBoxGraphics
@@ -32,7 +32,7 @@ LoadTextBoxTilePatterns::
3232

3333
LoadHpBarAndStatusTilePatterns::
3434
ldh a, [rLCDC]
35-
bit 7, a ; is the LCD enabled?
35+
bit rLCDC_ENABLE, a
3636
jr nz, .on
3737
.off
3838
ld hl, HpBarAndStatusGraphics

0 commit comments

Comments
 (0)