mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Identify more labels and constants
This commit is contained in:
parent
f2efda1f68
commit
e171c84c29
@ -247,21 +247,21 @@ UpdateChannels:
|
||||
ldh [rNR10], a
|
||||
.noPitchSweep
|
||||
bit NOTE_REST, [hl] ; rest
|
||||
jr nz, .ch1rest
|
||||
jr nz, .ch1_rest
|
||||
bit NOTE_NOISE_SAMPLING, [hl]
|
||||
jr nz, .asm_e81a2
|
||||
jr nz, .ch1_noise_sampling
|
||||
bit NOTE_FREQ_OVERRIDE, [hl]
|
||||
jr nz, .frequency_override
|
||||
jr nz, .ch1_frequency_override
|
||||
bit NOTE_VIBRATO_OVERRIDE, [hl]
|
||||
jr nz, .asm_e8184
|
||||
jr .check_duty_override
|
||||
jr nz, .ch1_vibrato_override
|
||||
jr .ch1_check_duty_override
|
||||
|
||||
.frequency_override
|
||||
.ch1_frequency_override
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR13], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR14], a
|
||||
.check_duty_override
|
||||
.ch1_check_duty_override
|
||||
bit NOTE_DUTY_OVERRIDE, [hl]
|
||||
ret z
|
||||
ld a, [wCurTrackDuty]
|
||||
@ -272,7 +272,7 @@ UpdateChannels:
|
||||
ldh [rNR11], a
|
||||
ret
|
||||
|
||||
.asm_e8184
|
||||
.ch1_vibrato_override
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR11]
|
||||
@ -283,7 +283,7 @@ UpdateChannels:
|
||||
ldh [rNR13], a
|
||||
ret
|
||||
|
||||
.ch1rest
|
||||
.ch1_rest
|
||||
ldh a, [rNR52]
|
||||
and %10001110 ; ch1 off
|
||||
ldh [rNR52], a
|
||||
@ -291,7 +291,7 @@ UpdateChannels:
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.asm_e81a2
|
||||
.ch1_noise_sampling
|
||||
ld hl, wCurTrackDuty
|
||||
ld a, $3f ; sound length
|
||||
or [hl]
|
||||
@ -310,11 +310,11 @@ UpdateChannels:
|
||||
ld hl, CHANNEL_NOTE_FLAGS
|
||||
add hl, bc
|
||||
bit NOTE_REST, [hl] ; rest
|
||||
jr nz, .ch2rest
|
||||
jr nz, .ch2_rest
|
||||
bit NOTE_NOISE_SAMPLING, [hl]
|
||||
jr nz, .asm_e8204
|
||||
jr nz, .ch2_noise_sampling
|
||||
bit NOTE_VIBRATO_OVERRIDE, [hl]
|
||||
jr nz, .asm_e81e6
|
||||
jr nz, .ch2_vibrato_override
|
||||
bit NOTE_DUTY_OVERRIDE, [hl]
|
||||
ret z
|
||||
ld a, [wCurTrackDuty]
|
||||
@ -325,14 +325,14 @@ UpdateChannels:
|
||||
ldh [rNR21], a
|
||||
ret
|
||||
|
||||
.asm_e81db ; unused
|
||||
.ch2_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR23], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR24], a
|
||||
ret
|
||||
|
||||
.asm_e81e6
|
||||
.ch2_vibrato_override
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR21]
|
||||
@ -343,7 +343,7 @@ UpdateChannels:
|
||||
ldh [rNR23], a
|
||||
ret
|
||||
|
||||
.ch2rest
|
||||
.ch2_rest
|
||||
ldh a, [rNR52]
|
||||
and %10001101 ; ch2 off
|
||||
ldh [rNR52], a
|
||||
@ -351,7 +351,7 @@ UpdateChannels:
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.asm_e8204
|
||||
.ch2_noise_sampling
|
||||
ld hl, wCurTrackDuty
|
||||
ld a, $3f ; sound length
|
||||
or [hl]
|
||||
@ -369,27 +369,27 @@ UpdateChannels:
|
||||
.Channel7:
|
||||
ld hl, CHANNEL_NOTE_FLAGS
|
||||
add hl, bc
|
||||
bit NOTE_REST, [hl] ; rest
|
||||
jr nz, .ch3rest
|
||||
bit NOTE_REST, [hl]
|
||||
jr nz, .ch3_rest
|
||||
bit NOTE_NOISE_SAMPLING, [hl]
|
||||
jr nz, .asm_e824d
|
||||
jr nz, .ch3_noise_sampling
|
||||
bit NOTE_VIBRATO_OVERRIDE, [hl]
|
||||
jr nz, .asm_e823a
|
||||
jr nz, .ch3_vibrato_override
|
||||
ret
|
||||
|
||||
.asm_e822f ; unused
|
||||
.ch3_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR33], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR34], a
|
||||
ret
|
||||
|
||||
.asm_e823a
|
||||
.ch3_vibrato_override
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR33], a
|
||||
ret
|
||||
|
||||
.ch3rest
|
||||
.ch3_rest
|
||||
ldh a, [rNR52]
|
||||
and %10001011 ; ch3 off
|
||||
ldh [rNR52], a
|
||||
@ -397,12 +397,12 @@ UpdateChannels:
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.asm_e824d
|
||||
.ch3_noise_sampling
|
||||
ld a, $3f ; sound length
|
||||
ldh [rNR31], a
|
||||
xor a
|
||||
ldh [rNR30], a
|
||||
call .asm_e8268
|
||||
call .load_wave_pattern
|
||||
ld a, $80
|
||||
ldh [rNR30], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
@ -412,7 +412,7 @@ UpdateChannels:
|
||||
ldh [rNR34], a
|
||||
ret
|
||||
|
||||
.asm_e8268
|
||||
.load_wave_pattern
|
||||
push hl
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
and $f ; only 0-9 are valid
|
||||
@ -470,18 +470,18 @@ endr
|
||||
.Channel8:
|
||||
ld hl, CHANNEL_NOTE_FLAGS
|
||||
add hl, bc
|
||||
bit NOTE_REST, [hl] ; rest
|
||||
jr nz, .ch4rest
|
||||
bit NOTE_REST, [hl]
|
||||
jr nz, .ch4_rest
|
||||
bit NOTE_NOISE_SAMPLING, [hl]
|
||||
jr nz, .asm_e82d4
|
||||
jr nz, .ch4_noise_sampling
|
||||
ret
|
||||
|
||||
.asm_e82c1 ; unused
|
||||
.ch4_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR43], a
|
||||
ret
|
||||
|
||||
.ch4rest
|
||||
.ch4_rest
|
||||
ldh a, [rNR52]
|
||||
and %10000111 ; ch4 off
|
||||
ldh [rNR52], a
|
||||
@ -489,7 +489,7 @@ endr
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.asm_e82d4
|
||||
.ch4_noise_sampling
|
||||
ld a, $3f ; sound length
|
||||
ldh [rNR41], a
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
|
@ -1,3 +1,17 @@
|
||||
; PokemonCenterPC.WhichPC indexes
|
||||
const_def
|
||||
const PCPC_BEFORE_POKEDEX ; 0
|
||||
const PCPC_BEFORE_HOF ; 1
|
||||
const PCPC_POSTGAME ; 2
|
||||
|
||||
; PokemonCenterPC.JumpTable indexes
|
||||
const_def
|
||||
const PCPCITEM_PLAYERS_PC ; 0
|
||||
const PCPCITEM_BILLS_PC ; 1
|
||||
const PCPCITEM_OAKS_PC ; 2
|
||||
const PCPCITEM_HALL_OF_FAME ; 3
|
||||
const PCPCITEM_TURN_OFF ; 4
|
||||
|
||||
PokemonCenterPC:
|
||||
call PC_CheckPartyForPokemon
|
||||
ret c
|
||||
@ -39,14 +53,8 @@ PokemonCenterPC:
|
||||
dw PlaceNthMenuStrings
|
||||
dw .JumpTable
|
||||
|
||||
PCPC_PLAYERS_PC EQU 0
|
||||
PCPC_BILLS_PC EQU 1
|
||||
PCPC_OAKS_PC EQU 2
|
||||
PCPC_HALL_OF_FAME EQU 3
|
||||
PCPC_TURN_OFF EQU 4
|
||||
|
||||
.JumpTable:
|
||||
; entries correspond to PCPC_* constants
|
||||
; entries correspond to PCPCITEM_* constants
|
||||
dw PlayersPC, .String_PlayersPC
|
||||
dw BillsPC, .String_BillsPC
|
||||
dw OaksPC, .String_OaksPC
|
||||
@ -60,42 +68,44 @@ PCPC_TURN_OFF EQU 4
|
||||
.String_TurnOff: db "TURN OFF@"
|
||||
|
||||
.WhichPC:
|
||||
; before Pokédex
|
||||
; entries correspond to PCPC_* constants
|
||||
|
||||
; PCPC_BEFORE_POKEDEX
|
||||
db 3
|
||||
db PCPC_BILLS_PC
|
||||
db PCPC_PLAYERS_PC
|
||||
db PCPC_TURN_OFF
|
||||
db PCPCITEM_BILLS_PC
|
||||
db PCPCITEM_PLAYERS_PC
|
||||
db PCPCITEM_TURN_OFF
|
||||
db -1 ; end
|
||||
|
||||
; before Hall Of Fame
|
||||
; PCPC_BEFORE_HOF
|
||||
db 4
|
||||
db PCPC_BILLS_PC
|
||||
db PCPC_PLAYERS_PC
|
||||
db PCPC_OAKS_PC
|
||||
db PCPC_TURN_OFF
|
||||
db PCPCITEM_BILLS_PC
|
||||
db PCPCITEM_PLAYERS_PC
|
||||
db PCPCITEM_OAKS_PC
|
||||
db PCPCITEM_TURN_OFF
|
||||
db -1 ; end
|
||||
|
||||
; postgame
|
||||
; PCPC_POSTGAME
|
||||
db 5
|
||||
db PCPC_BILLS_PC
|
||||
db PCPC_PLAYERS_PC
|
||||
db PCPC_OAKS_PC
|
||||
db PCPC_HALL_OF_FAME
|
||||
db PCPC_TURN_OFF
|
||||
db PCPCITEM_BILLS_PC
|
||||
db PCPCITEM_PLAYERS_PC
|
||||
db PCPCITEM_OAKS_PC
|
||||
db PCPCITEM_HALL_OF_FAME
|
||||
db PCPCITEM_TURN_OFF
|
||||
db -1 ; end
|
||||
|
||||
.ChooseWhichPCListToUse:
|
||||
call CheckReceivedDex
|
||||
jr nz, .got_dex
|
||||
ld a, 0 ; before Pokédex
|
||||
ld a, PCPC_BEFORE_POKEDEX
|
||||
ret
|
||||
|
||||
.got_dex
|
||||
ld a, [wHallOfFameCount]
|
||||
and a
|
||||
ld a, 1 ; before Hall Of Fame
|
||||
ld a, PCPC_BEFORE_HOF
|
||||
ret z
|
||||
ld a, 2 ; postgame
|
||||
ld a, PCPC_POSTGAME
|
||||
ret
|
||||
|
||||
PC_CheckPartyForPokemon:
|
||||
@ -113,6 +123,22 @@ PC_CheckPartyForPokemon:
|
||||
text_far _PokecenterPCCantUseText
|
||||
text_end
|
||||
|
||||
|
||||
; PlayersPCMenuData.WhichPC indexes
|
||||
const_def
|
||||
const PLAYERSPC_NORMAL ; 0
|
||||
const PLAYERSPC_HOUSE ; 1
|
||||
|
||||
; PlayersPCMenuData.PlayersPCMenuPointers indexes
|
||||
const_def
|
||||
const PLAYERSPCITEM_WITHDRAW_ITEM ; 0
|
||||
const PLAYERSPCITEM_DEPOSIT_ITEM ; 1
|
||||
const PLAYERSPCITEM_TOSS_ITEM ; 2
|
||||
const PLAYERSPCITEM_MAIL_BOX ; 3
|
||||
const PLAYERSPCITEM_DECORATION ; 4
|
||||
const PLAYERSPCITEM_TURN_OFF ; 5
|
||||
const PLAYERSPCITEM_LOG_OFF ; 6
|
||||
|
||||
BillsPC:
|
||||
call PC_PlayChoosePCSound
|
||||
ld hl, PokecenterBillsPCText
|
||||
@ -125,7 +151,7 @@ PlayersPC:
|
||||
call PC_PlayChoosePCSound
|
||||
ld hl, PokecenterPlayersPCText
|
||||
call PC_DisplayText
|
||||
ld b, $0
|
||||
ld b, PLAYERSPC_NORMAL
|
||||
call _PlayersPC
|
||||
and a
|
||||
ret
|
||||
@ -182,7 +208,7 @@ _PlayersHousePC:
|
||||
call PC_PlayBootSound
|
||||
ld hl, PlayersPCTurnOnText
|
||||
call PC_DisplayText
|
||||
ld b, $1
|
||||
ld b, PLAYERSPC_HOUSE
|
||||
call _PlayersPC
|
||||
and a
|
||||
jr nz, .asm_156f9
|
||||
@ -190,12 +216,12 @@ _PlayersHousePC:
|
||||
call ApplyTilemap
|
||||
call UpdateSprites
|
||||
call PC_PlayShutdownSound
|
||||
ld c, $0
|
||||
ld c, FALSE
|
||||
ret
|
||||
|
||||
.asm_156f9
|
||||
call ClearBGPalettes
|
||||
ld c, $1
|
||||
ld c, TRUE
|
||||
ret
|
||||
|
||||
PlayersPCTurnOnText:
|
||||
@ -241,20 +267,12 @@ PlayersPCMenuData:
|
||||
.PlayersPCMenuData:
|
||||
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
|
||||
db 0 ; # items?
|
||||
dw .PlayersPCMenuList1
|
||||
dw .WhichPC
|
||||
dw PlaceNthMenuStrings
|
||||
dw .PlayersPCMenuPointers
|
||||
|
||||
PLAYERSPC_WITHDRAW_ITEM EQU 0
|
||||
PLAYERSPC_DEPOSIT_ITEM EQU 1
|
||||
PLAYERSPC_TOSS_ITEM EQU 2
|
||||
PLAYERSPC_MAIL_BOX EQU 3
|
||||
PLAYERSPC_DECORATION EQU 4
|
||||
PLAYERSPC_TURN_OFF EQU 5
|
||||
PLAYERSPC_LOG_OFF EQU 6
|
||||
|
||||
.PlayersPCMenuPointers:
|
||||
; entries correspond to PLAYERSPC_* constants
|
||||
; entries correspond to PLAYERSPCITEM_* constants
|
||||
dw PlayerWithdrawItemMenu, .WithdrawItem
|
||||
dw PlayerDepositItemMenu, .DepositItem
|
||||
dw PlayerTossItemMenu, .TossItem
|
||||
@ -271,23 +289,26 @@ PLAYERSPC_LOG_OFF EQU 6
|
||||
.TurnOff: db "TURN OFF@"
|
||||
.LogOff: db "LOG OFF@"
|
||||
|
||||
.PlayersPCMenuList1:
|
||||
.WhichPC:
|
||||
; entries correspond to PLAYERSPC_* constants
|
||||
|
||||
; PLAYERSPC_NORMAL
|
||||
db 5
|
||||
db PLAYERSPC_WITHDRAW_ITEM
|
||||
db PLAYERSPC_DEPOSIT_ITEM
|
||||
db PLAYERSPC_TOSS_ITEM
|
||||
db PLAYERSPC_MAIL_BOX
|
||||
db PLAYERSPC_TURN_OFF
|
||||
db PLAYERSPCITEM_WITHDRAW_ITEM
|
||||
db PLAYERSPCITEM_DEPOSIT_ITEM
|
||||
db PLAYERSPCITEM_TOSS_ITEM
|
||||
db PLAYERSPCITEM_MAIL_BOX
|
||||
db PLAYERSPCITEM_TURN_OFF
|
||||
db -1 ; end
|
||||
|
||||
.PlayersPCMenuList2:
|
||||
; PLAYERSPC_HOUSE
|
||||
db 6
|
||||
db PLAYERSPC_WITHDRAW_ITEM
|
||||
db PLAYERSPC_DEPOSIT_ITEM
|
||||
db PLAYERSPC_TOSS_ITEM
|
||||
db PLAYERSPC_MAIL_BOX
|
||||
db PLAYERSPC_DECORATION
|
||||
db PLAYERSPC_LOG_OFF
|
||||
db PLAYERSPCITEM_WITHDRAW_ITEM
|
||||
db PLAYERSPCITEM_DEPOSIT_ITEM
|
||||
db PLAYERSPCITEM_TOSS_ITEM
|
||||
db PLAYERSPCITEM_MAIL_BOX
|
||||
db PLAYERSPCITEM_DECORATION
|
||||
db PLAYERSPCITEM_LOG_OFF
|
||||
db -1 ; end
|
||||
|
||||
PC_DisplayTextWaitMenu:
|
||||
@ -445,7 +466,7 @@ PlayerDepositItemMenu:
|
||||
.TryDepositItem:
|
||||
ld a, [wSpriteUpdatesEnabled]
|
||||
push af
|
||||
ld a, $0
|
||||
ld a, FALSE
|
||||
ld [wSpriteUpdatesEnabled], a
|
||||
farcall CheckItemMenu
|
||||
ld a, [wItemAttributeParamBuffer]
|
||||
@ -485,7 +506,7 @@ PlayerDepositItemMenu:
|
||||
ld a, [wItemAttributeParamBuffer]
|
||||
and a
|
||||
jr z, .AskQuantity
|
||||
ld a, $1
|
||||
ld a, 1
|
||||
ld [wItemQuantityChangeBuffer], a
|
||||
jr .ContinueDeposit
|
||||
|
||||
@ -550,7 +571,7 @@ PCItemsJoypad:
|
||||
.loop
|
||||
ld a, [wSpriteUpdatesEnabled]
|
||||
push af
|
||||
ld a, $0
|
||||
ld a, FALSE
|
||||
ld [wSpriteUpdatesEnabled], a
|
||||
ld hl, .PCItemsMenuData
|
||||
call CopyMenuHeader
|
||||
|
@ -14,7 +14,7 @@ FarDecompress::
|
||||
ret
|
||||
|
||||
Decompress::
|
||||
; Pokemon Crystal uses an lz variant for compression.
|
||||
; Pokemon GSC uses an lz variant (lz3) for compression.
|
||||
; This is mainly (but not necessarily) used for graphics.
|
||||
|
||||
; This function decompresses lz-compressed data from hl to de.
|
||||
|
@ -1,23 +1,21 @@
|
||||
FarCall_de::
|
||||
; Call a:de.
|
||||
; Preserves other registers.
|
||||
|
||||
ldh [hTempBank], a
|
||||
ldh a, [hROMBank]
|
||||
push af
|
||||
ldh a, [hTempBank]
|
||||
rst Bankswitch
|
||||
call .de
|
||||
call FarCall_JumpToDE
|
||||
jr ReturnFarCall
|
||||
|
||||
.de
|
||||
FarCall_JumpToDE:
|
||||
push de
|
||||
ret
|
||||
|
||||
FarCall_hl::
|
||||
; Call a:hl.
|
||||
; Preserves other registers.
|
||||
|
||||
ldh [hTempBank], a
|
||||
ldh a, [hROMBank]
|
||||
push af
|
||||
@ -29,7 +27,6 @@ FarCall_hl::
|
||||
ReturnFarCall::
|
||||
; We want to retain the contents of f.
|
||||
; To do this, we can pop to bc instead of af.
|
||||
|
||||
ld a, b
|
||||
ld [wFarCallBCBuffer], a
|
||||
ld a, c
|
||||
@ -40,6 +37,7 @@ ReturnFarCall::
|
||||
ld a, b
|
||||
rst Bankswitch
|
||||
|
||||
; Restore the contents of bc.
|
||||
ld a, [wFarCallBCBuffer]
|
||||
ld b, a
|
||||
ld a, [wFarCallBCBuffer + 1]
|
||||
|
@ -334,14 +334,13 @@ Request1bpp::
|
||||
jr .loop
|
||||
|
||||
Get2bpp::
|
||||
; copy c 2bpp tiles from b:de to hl
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
jp nz, Request2bpp
|
||||
; fallthrough
|
||||
|
||||
Copy2bpp:
|
||||
; copy c 2bpp tiles from b:de to hl
|
||||
|
||||
push hl
|
||||
ld h, d
|
||||
ld l, e
|
||||
@ -364,14 +363,13 @@ Copy2bpp:
|
||||
jp FarCopyBytes
|
||||
|
||||
Get1bpp::
|
||||
; copy c 1bpp tiles from b:de to hl
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
jp nz, Request1bpp
|
||||
; fallthrough
|
||||
|
||||
Copy1bpp::
|
||||
; copy c 1bpp tiles from b:de to hl
|
||||
|
||||
push de
|
||||
ld d, h
|
||||
ld e, l
|
||||
|
Loading…
Reference in New Issue
Block a user