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_f EQU $ff3f
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)
rSCY EQU $ff42 ; Scroll Y (R/W)
rSCX EQU $ff43 ; Scroll X (R/W)
rLY EQU $ff44 ; LCDC Y-Coordinate (R)
LY_VBLANK EQU 144
rLYC EQU $ff45 ; LY Compare (R/W)
rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
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
call GetSGBLayout
ld hl, rLCDC
res 6, [hl]
res rLCDC_WINDOW_TILEMAP, [hl] ; select 9800-9BFF
call InitBattleDisplay
call BattleStartMessage
ld hl, rLCDC
set 6, [hl]
set rLCDC_WINDOW_TILEMAP, [hl] ; select 9C00-9FFF
xor a
ld [hBGMapMode], a
call EmptyBattleTextBox

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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