LY_BLANK and rLCDC constants

This commit is contained in:
xCrystal 2017-12-29 18:53:21 +01:00
parent 69762a2bfd
commit 3c6c80f1b2
21 changed files with 54 additions and 48 deletions

View File

@ -114,10 +114,16 @@ rWave_d EQU $ff3d
rWave_e EQU $ff3e rWave_e EQU $ff3e
rWave_f EQU $ff3f rWave_f EQU $ff3f
rLCDC EQU $ff40 ; LCD Control (R/W) rLCDC EQU $ff40 ; LCD Control (R/W)
rLCDC_SPRITE_ENABLE EQU 1
rLCDC_SPRITE_SIZE EQU 2
rLCDC_WINDOW_TILEMAP EQU 6
rLCDC_ENABLE EQU 7
rLCDC_DEFAULT EQU %11100011
rSTAT EQU $ff41 ; LCDC Status (R/W) rSTAT EQU $ff41 ; LCDC Status (R/W)
rSCY EQU $ff42 ; Scroll Y (R/W) rSCY EQU $ff42 ; Scroll Y (R/W)
rSCX EQU $ff43 ; Scroll X (R/W) rSCX EQU $ff43 ; Scroll X (R/W)
rLY EQU $ff44 ; LCDC Y-Coordinate (R) rLY EQU $ff44 ; LCDC Y-Coordinate (R)
LY_VBLANK EQU 144
rLYC EQU $ff45 ; LY Compare (R/W) rLYC EQU $ff45 ; LY Compare (R/W)
rDMA EQU $ff46 ; DMA Transfer and Start Address (W) rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only

View File

@ -8395,11 +8395,11 @@ BattleIntro: ; 3f4dd
ld b, SCGB_BATTLE_GRAYSCALE ld b, SCGB_BATTLE_GRAYSCALE
call GetSGBLayout call GetSGBLayout
ld hl, rLCDC ld hl, rLCDC
res 6, [hl] res rLCDC_WINDOW_TILEMAP, [hl] ; select 9800-9BFF
call InitBattleDisplay call InitBattleDisplay
call BattleStartMessage call BattleStartMessage
ld hl, rLCDC ld hl, rLCDC
set 6, [hl] set rLCDC_WINDOW_TILEMAP, [hl] ; select 9C00-9FFF
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
call EmptyBattleTextBox call EmptyBattleTextBox

View File

@ -617,7 +617,7 @@ ApplyPals:
ApplyAttrMap: ApplyAttrMap:
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jr z, .UpdateVBank1 jr z, .UpdateVBank1
ld a, [hBGMapMode] ld a, [hBGMapMode]
push af push af
@ -1073,7 +1073,7 @@ SGBBorder_PushBGPals:
ld bc, $100 tiles ld bc, $100 tiles
call CopyData call CopyData
call DrawDefaultTiles call DrawDefaultTiles
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ld hl, PalPacket_9d06 ld hl, PalPacket_9d06
call PushSGBPals call PushSGBPals
@ -1107,7 +1107,7 @@ SGBBorder_MorePalPushing:
ld bc, 16 palettes ld bc, 16 palettes
call CopyData call CopyData
call DrawDefaultTiles call DrawDefaultTiles
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ld hl, PalPacket_9d46 ld hl, PalPacket_9d46
call PushSGBPals call PushSGBPals
@ -1131,7 +1131,7 @@ SGBBorder_YetMorePalPushing:
dec b dec b
jr nz, .loop jr nz, .loop
call DrawDefaultTiles call DrawDefaultTiles
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ld hl, PalPacket_9d36 ld hl, PalPacket_9d36
call PushSGBPals call PushSGBPals

View File

@ -34,7 +34,7 @@ _DummyGame: ; e1e5b (38:5e5b)
ld [wJumptableIndex], a ld [wJumptableIndex], a
ld a, $1 ld a, $1
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ld a, $e4 ld a, $e4
call DmgToCgbBGPals call DmgToCgbBGPals

View File

@ -1035,7 +1035,7 @@ StartTitleScreen: ; 6219
ld [rSVBK], a ld [rSVBK], a
ld hl, rLCDC ld hl, rLCDC
res 2, [hl] res rLCDC_SPRITE_SIZE, [hl] ; 8x8
call ClearScreen call ClearScreen
call WaitBGMap2 call WaitBGMap2
xor a xor a

View File

@ -116,7 +116,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
.PrintTextAndExit: ; 1049c5 (41:49c5) .PrintTextAndExit: ; 1049c5 (41:49c5)
call PrintText call PrintText
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ret ret
; 1049cd (41:49cd) ; 1049cd (41:49cd)
@ -262,7 +262,7 @@ Function104a95: ; 104a95 (41:4a95)
; Delay frame ; Delay frame
.ly_loop .ly_loop
ld a, [rLY] ld a, [rLY]
cp $90 cp LY_VBLANK
jr c, .ly_loop jr c, .ly_loop
ld c, LOW(rRP) ld c, LOW(rRP)
ld a, $c0 ld a, $c0
@ -281,14 +281,14 @@ Function104a95: ; 104a95 (41:4a95)
and b and b
ld b, a ld b, a
ld a, [rLY] ld a, [rLY]
cp $90 cp LY_VBLANK
jr nc, .ly_loop2 jr nc, .ly_loop2
.ly_loop3 .ly_loop3
ld a, [$ff00+c] ld a, [$ff00+c]
and b and b
ld b, a ld b, a
ld a, [rLY] ld a, [rLY]
cp $90 cp LY_VBLANK
jr c, .ly_loop3 jr c, .ly_loop3
ld a, b ld a, b
@ -1497,7 +1497,7 @@ Function10571a: ; 10571a (41:571a)
asm_105726: ; 105726 (41:5726) asm_105726: ; 105726 (41:5726)
call PrintText call PrintText
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ret ret
; 10572e (41:572e) ; 10572e (41:572e)

View File

@ -48,7 +48,7 @@ NamingScreen: ; 116c1
call DisableLCD call DisableLCD
call LoadNamingScreenGFX call LoadNamingScreenGFX
call NamingScreen_InitText call NamingScreen_InitText
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
call .GetNamingScreenSetup call .GetNamingScreenSetup
call WaitBGMap call WaitBGMap
@ -1017,7 +1017,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
add hl, bc add hl, bc
ld [hl], $0 ld [hl], $0
call .InitCharset call .InitCharset
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
call .initwNamingScreenMaxNameLength call .initwNamingScreenMaxNameLength
ld b, SCGB_DIPLOMA ld b, SCGB_DIPLOMA

View File

@ -59,7 +59,7 @@ PokeGear: ; 90b8d (24:4b8d)
call InitPokegearModeIndicatorArrow call InitPokegearModeIndicatorArrow
ld a, 8 ld a, 8
call SkipMusic call SkipMusic
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
call TownMap_InitCursorAndPlayerIconPositions call TownMap_InitCursorAndPlayerIconPositions
xor a xor a
@ -1851,7 +1851,7 @@ _TownMap: ; 9191c
farcall ClearSpriteAnims farcall ClearSpriteAnims
ld a, 8 ld a, 8
call SkipMusic call SkipMusic
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
call TownMap_GetCurrentLandmark call TownMap_GetCurrentLandmark
ld [wTownMapPlayerIconLandmark], a ld [wTownMapPlayerIconLandmark], a

View File

@ -23,8 +23,8 @@ GetSquareRoot: ; 13b87
ret ret
.Squares: ; 13b98 .Squares: ; 13b98
root set 1 root = 1
rept $ff rept $ff
dw root*root dw root * root
root set root+1 root = root + 1
endr endr

View File

@ -17,7 +17,7 @@ PhoneRing_CopyTilemapAtOnce: ; 4d188
ld [hMapAnims], a ld [hMapAnims], a
.wait .wait
ld a, [rLY] ld a, [rLY]
cp $8f cp LY_VBLANK - 1
jr c, .wait jr c, .wait
di di
@ -31,7 +31,7 @@ PhoneRing_CopyTilemapAtOnce: ; 4d188
call .CopyTilemapAtOnce call .CopyTilemapAtOnce
.wait2 .wait2
ld a, [rLY] ld a, [rLY]
cp $8f cp LY_VBLANK - 1
jr c, .wait2 jr c, .wait2
ei ei

View File

@ -89,7 +89,7 @@ _SlotMachine:
ld hl, Options ld hl, Options
res NO_TEXT_SCROLL, [hl] res NO_TEXT_SCROLL, [hl]
ld hl, rLCDC ld hl, rLCDC
res 2, [hl] res rLCDC_SPRITE_SIZE, [hl] ; 8x8
ret ret
.InitGFX: ; 926f7 (24:66f7) .InitGFX: ; 926f7 (24:66f7)
@ -134,7 +134,7 @@ _SlotMachine:
call CopyBytes call CopyBytes
ld hl, rLCDC ld hl, rLCDC
set 2, [hl] set rLCDC_SPRITE_SIZE, [hl] ; 8x16
call EnableLCD call EnableLCD
ld hl, wSlots ld hl, wSlots
ld bc, wSlotsEnd - wSlots ld bc, wSlotsEnd - wSlots

View File

@ -201,7 +201,7 @@ _TitleScreen: ; 10ed67
; Set sprite size to 8x16 ; Set sprite size to 8x16
ld a, [rLCDC] ld a, [rLCDC]
set 2, a set rLCDC_SPRITE_SIZE, a
ld [rLCDC], a ld [rLCDC], a
ld a, +112 ld a, +112

View File

@ -45,7 +45,7 @@ UnownPuzzle: ; e1190
ld [wHoldingUnownPuzzlePiece], a ld [wHoldingUnownPuzzlePiece], a
ld [wUnownPuzzleCursorPosition], a ld [wUnownPuzzleCursorPosition], a
ld [wUnownPuzzleHeldPiece], a ld [wUnownPuzzleHeldPiece], a
ld a, $93 ld a, %10010011
ld [rLCDC], a ld [rLCDC], a
call WaitBGMap call WaitBGMap
ld b, SCGB_UNOWN_PUZZLE ld b, SCGB_UNOWN_PUZZLE
@ -85,7 +85,7 @@ UnownPuzzle: ; e1190
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
call ClearSprites call ClearSprites
ld a, $e3 ld a, rLCDC_DEFAULT
ld [rLCDC], a ld [rLCDC], a
ret ret
; e124e ; e124e

View File

@ -55,8 +55,8 @@ UnusedTitleScreen: ; 10c000
call EnableLCD call EnableLCD
ld a, [rLCDC] ld a, [rLCDC]
set 1, a set rLCDC_SPRITE_ENABLE, a
set 2, a set rLCDC_SPRITE_SIZE, a
ld [rLCDC], a ld [rLCDC], a
call DelayFrame call DelayFrame

View File

@ -107,7 +107,7 @@ _LoadStandardFont:: ; fb449
ld hl, vTiles1 ld hl, vTiles1
lb bc, BANK(Font), $80 lb bc, BANK(Font), $80
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jp z, Copy1bpp jp z, Copy1bpp
ld de, Font ld de, Font

View File

@ -3,7 +3,7 @@
Get2bpp_2:: ; dc9 Get2bpp_2:: ; dc9
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jp z, Copy2bpp jp z, Copy2bpp
homecall _Get2bpp homecall _Get2bpp
@ -13,7 +13,7 @@ Get2bpp_2:: ; dc9
Get1bpp_2:: ; ddc Get1bpp_2:: ; ddc
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jp z, Copy1bpp jp z, Copy1bpp
homecall _Get1bpp homecall _Get1bpp
@ -361,7 +361,7 @@ Request1bpp:: ; f1e
Get2bpp:: ; f82 Get2bpp:: ; f82
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jp nz, Request2bpp jp nz, Request2bpp
Copy2bpp:: ; f89 Copy2bpp:: ; f89
@ -392,7 +392,7 @@ Copy2bpp:: ; f89
Get1bpp:: ; f9d Get1bpp:: ; f9d
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
jp nz, Request1bpp jp nz, Request1bpp
Copy1bpp:: ; fa4 Copy1bpp:: ; fa4

View File

@ -62,7 +62,7 @@ Init:: ; 17d
.wait .wait
ld a, [rLY] ld a, [rLY]
cp 145 cp LY_VBLANK + 1
jr nz, .wait jr nz, .wait
xor a xor a
@ -125,7 +125,7 @@ Init:: ; 17d
ld [hWX], a ld [hWX], a
ld [rWX], a ld [rWX], a
ld a, %11100011 ld a, rLCDC_DEFAULT ; %11100011
; LCD on ; LCD on
; Win tilemap 1 ; Win tilemap 1
; Win on ; Win on

View File

@ -43,7 +43,7 @@ DisableLCD:: ; 568
; Don't need to do anything if the LCD is already off ; Don't need to do anything if the LCD is already off
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a ; lcd enable bit rLCDC_ENABLE, a
ret z ret z
xor a xor a
@ -58,11 +58,11 @@ DisableLCD:: ; 568
.wait .wait
; Wait until VBlank would normally happen ; Wait until VBlank would normally happen
ld a, [rLY] ld a, [rLY]
cp 145 cp LY_VBLANK + 1
jr nz, .wait jr nz, .wait
ld a, [rLCDC] ld a, [rLCDC]
and %01111111 ; lcd enable off and $ff ^ 1 << rLCDC_ENABLE
ld [rLCDC], a ld [rLCDC], a
xor a xor a
@ -75,7 +75,7 @@ DisableLCD:: ; 568
EnableLCD:: ; 58a EnableLCD:: ; 58a
ld a, [rLCDC] ld a, [rLCDC]
set 7, a ; lcd enable set rLCDC_ENABLE, a
ld [rLCDC], a ld [rLCDC], a
ret ret
; 591 ; 591

View File

@ -31,7 +31,7 @@ ClearTileMap:: ; fc8
; Update the BG Map. ; Update the BG Map.
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit rLCDC_ENABLE, a
ret z ret z
jp WaitBGMap jp WaitBGMap
; fdb ; fdb

View File

@ -291,9 +291,9 @@ Serve1bppRequest:: ; 170a
; Back out if we're too far into VBlank ; Back out if we're too far into VBlank
ld a, [rLY] ld a, [rLY]
cp 144 cp LY_VBLANK
ret c ret c
cp 146 cp LY_VBLANK + 2
ret nc ret nc
; Copy [Requested1bpp] 1bpp tiles from [Requested1bppSource] to [Requested1bppDest] ; Copy [Requested1bpp] 1bpp tiles from [Requested1bppSource] to [Requested1bppDest]
@ -372,9 +372,9 @@ Serve2bppRequest:: ; 1769
; Back out if we're too far into VBlank ; Back out if we're too far into VBlank
ld a, [rLY] ld a, [rLY]
cp 144 cp LY_VBLANK
ret c ret c
cp 146 cp LY_VBLANK + 2
ret nc ret nc
jr _Serve2bppRequest jr _Serve2bppRequest
@ -454,9 +454,9 @@ AnimateTileset:: ; 17d3
; Back out if we're too far into VBlank ; Back out if we're too far into VBlank
ld a, [rLY] ld a, [rLY]
cp 144 cp LY_VBLANK
ret c ret c
cp 151 cp LY_VBLANK + 7
ret nc ret nc
ld a, [hROMBank] ld a, [hROMBank]

View File

@ -411,7 +411,7 @@ Function1161d5: ; 1161d5
.wait_for_vblank .wait_for_vblank
; Wait until a vblank would occur had interrupts not just been disabled. ; Wait until a vblank would occur had interrupts not just been disabled.
ld a, [rLY] ld a, [rLY]
cp $91 cp LY_VBLANK + 1
jr nz, .wait_for_vblank jr nz, .wait_for_vblank
ld a, $d0 ld a, $d0