shithub: pokecrystal

Download patch

ref: ea426a88794b1d216a278b54d18cefafbf7d8771
parent: 6d333bed5fde0c2da0a6a9df2ccae83933400e42
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Wed Oct 28 09:35:39 EDT 2020

Identify more WRAM labels, and start a <X>_DummyFunction label convention

--- a/audio/sfx_crystal.asm
+++ b/audio/sfx_crystal.asm
@@ -184,7 +184,7 @@
 	duty_cycle 1
 	transpose 0, 11
 	note_type 1, 11, 1
-Sfx_Tingle_branch_17996c:
+.loop1:
 	octave 5
 	note C_, 3
 	octave 6
@@ -192,7 +192,7 @@
 	octave 5
 	note C_, 3
 	rest 2
-	sound_loop 2, Sfx_Tingle_branch_17996c
+	sound_loop 2, .loop1
 	note C_, 2
 	volume_envelope 10, 1
 	note G_, 13
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -115,7 +115,7 @@
 ; wSwarmFlags
 	const ENGINE_BUENAS_PASSWORD_2
 	const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
-; wGameTimerPause
+; wGameTimerPaused
 	const ENGINE_62
 ; wPlayerGender
 	const ENGINE_PLAYER_IS_FEMALE
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -21,9 +21,13 @@
 	const TEMPMON    ; 3
 	const WILDMON    ; 4
 
-; wGameTimerPause::
-GAMETIMERPAUSE_TIMER_PAUSED_F EQU 0
-GAMETIMERPAUSE_MOBILE_7_F     EQU 7
+; wGameTimerPaused::
+GAME_TIMER_PAUSED_F EQU 0
+GAME_TIMER_MOBILE_F EQU 7
+
+; wJoypadDisable::
+JOYPAD_DISABLE_MON_FAINT_F    EQU 6
+JOYPAD_DISABLE_SGB_TRANSFER_F EQU 7
 
 ; wOptions::
 TEXT_DELAY_MASK EQU %111
--- a/data/events/engine_flags.asm
+++ b/data/events/engine_flags.asm
@@ -125,7 +125,7 @@
 	engine_flag wSwarmFlags, SWARMFLAGS_BUENAS_PASSWORD_F
 	engine_flag wSwarmFlags, SWARMFLAGS_GOLDENROD_DEPT_STORE_SALE_F
 
-	engine_flag wGameTimerPause, GAMETIMERPAUSE_MOBILE_7_F
+	engine_flag wGameTimerPaused, GAME_TIMER_MOBILE_F
 
 	engine_flag wPlayerGender, PLAYERGENDER_FEMALE_F
 
--- a/data/events/special_pointers.asm
+++ b/data/events/special_pointers.asm
@@ -55,8 +55,8 @@
 	add_special UnownPuzzle
 	add_special SlotMachine
 	add_special CardFlip
-	add_special DummyNonfunctionalGameCornerGame
-	add_special ClearBGPalettesBufferScreen
+	add_special UnusedDummyGame ; unused
+	add_special ClearBGPalettesBufferScreen ; unused
 	add_special FadeOutPalettes
 	add_special BattleTowerFade
 	add_special FadeBlackQuickly
@@ -65,21 +65,21 @@
 	add_special ReloadSpritesNoPalettes ; bank 0
 	add_special ClearBGPalettes ; bank 0
 	add_special UpdateTimePals ; bank 0
-	add_special ClearTilemap ; bank 0
+	add_special ClearTilemap ; bank 0; unused as special
 	add_special UpdateSprites ; bank 0
 	add_special UpdatePlayerSprite ; bank 0
 	add_special GameCornerPrizeMonCheckDex
-	add_special UnusedSetSeenMon
+	add_special UnusedSetSeenMon ; unused
 	add_special WaitSFX ; bank 0
 	add_special PlayMapMusic ; bank 0
 	add_special RestartMapMusic ; bank 0
 	add_special HealMachineAnim
 	add_special SurfStartStep
-	add_special FindPartyMonAboveLevel
-	add_special FindPartyMonAtLeastThatHappy
+	add_special FindPartyMonAboveLevel ; unused
+	add_special FindPartyMonAtLeastThatHappy ; unused
 	add_special FindPartyMonThatSpecies
 	add_special FindPartyMonThatSpeciesYourTrainerID
-	add_special UnusedCheckUnusedTwoDayTimer
+	add_special UnusedCheckUnusedTwoDayTimer ; unused
 	add_special DayCareMon1
 	add_special DayCareMon2
 	add_special SelectRandomBugContestContestants
@@ -134,7 +134,7 @@
 	add_special Function170114
 	add_special BattleTowerBattle
 	add_special Function1704e1
-	add_special DummySpecial_17021d
+	add_special UnusedBattleTowerDummySpecial1
 	add_special LoadOpponentTrainerAndPokemonWithOTSprite
 	add_special Function11ba38
 	add_special CheckForBattleTowerRules
@@ -166,7 +166,7 @@
 	add_special BeastsCheck
 	add_special MonCheck
 	add_special SetPlayerPalette
-	add_special DummySpecial_170bd2
+	add_special UnusedBattleTowerDummySpecial2
 	add_special Mobile_SelectThreeMons
 	add_special Function1037eb
 	add_special Function10383c
@@ -181,4 +181,4 @@
 	add_special UnusedFindItemInPCOrBag
 	add_special InitialSetDSTFlag
 	add_special InitialClearDSTFlag
-	add_special DummySpecial_c224
+	add_special UnusedDummySpecial ; unused
--- a/engine/battle/battle_transition.asm
+++ b/engine/battle/battle_transition.asm
@@ -258,7 +258,7 @@
 StartTrainerBattle_SetUpBGMap:
 	call StartTrainerBattle_NextScene
 	xor a
-	ld [wcf64], a
+	ld [wBattleTransitionCounter], a
 	ldh [hBGMapMode], a
 	ret
 
@@ -272,7 +272,7 @@
 	ld a, [wTimeOfDayPalset]
 	cp DARKNESS_PALSET
 	jr z, .done
-	ld hl, wcf64
+	ld hl, wBattleTransitionCounter
 	ld a, [hl]
 	inc [hl]
 	srl a
@@ -290,7 +290,7 @@
 
 .done
 	xor a
-	ld [wcf64], a
+	ld [wBattleTransitionCounter], a
 	scf
 	ret
 
@@ -322,12 +322,12 @@
 	ld a, $90
 	ldh [hLYOverrideEnd], a
 	xor a
-	ld [wcf64], a
-	ld [wcf65], a
+	ld [wBattleTransitionCounter], a
+	ld [wBattleTransitionSineWaveOffset], a
 	ret
 
 StartTrainerBattle_SineWave:
-	ld a, [wcf64]
+	ld a, [wBattleTransitionCounter]
 	cp $60
 	jr nc, .end
 	call .DoSineWave
@@ -339,10 +339,10 @@
 	ret
 
 .DoSineWave:
-	ld hl, wcf65
+	ld hl, wBattleTransitionSineWaveOffset
 	ld a, [hl]
 	inc [hl]
-	ld hl, wcf64
+	ld hl, wBattleTransitionCounter
 	ld d, [hl]
 	add [hl]
 	ld [hl], a
@@ -372,13 +372,13 @@
 	ldh [rSVBK], a
 	call StartTrainerBattle_NextScene
 	xor a
-	ld [wcf64], a
+	ld [wBattleTransitionCounter], a
 	ret
 
 StartTrainerBattle_SpinToBlack:
 	xor a
 	ldh [hBGMapMode], a
-	ld a, [wcf64]
+	ld a, [wBattleTransitionCounter]
 	ld e, a
 	ld d, 0
 	ld hl, .spin_quadrants
@@ -388,13 +388,13 @@
 	ld a, [hli]
 	cp -1
 	jr z, .end
-	ld [wcf65], a
+	ld [wBattleTransitionSineWaveOffset], a
 	call .load
 	ld a, 1
 	ldh [hBGMapMode], a
 	call DelayFrame
 	call DelayFrame
-	ld hl, wcf64
+	ld hl, wBattleTransitionCounter
 	inc [hl]
 	ret
 
@@ -464,7 +464,7 @@
 	inc de
 .loop1
 	ld [hl], BATTLETRANSITION_BLACK
-	ld a, [wcf65]
+	ld a, [wBattleTransitionSineWaveOffset]
 	bit RIGHT_QUADRANT_F, a
 	jr z, .leftside
 	inc hl
@@ -475,7 +475,7 @@
 	dec c
 	jr nz, .loop1
 	pop hl
-	ld a, [wcf65]
+	ld a, [wBattleTransitionSineWaveOffset]
 	bit LOWER_QUADRANT_F, a
 	ld bc, SCREEN_WIDTH
 	jr z, .upper
@@ -490,7 +490,7 @@
 	jr z, .loop
 	ld c, a
 .loop2
-	ld a, [wcf65]
+	ld a, [wBattleTransitionSineWaveOffset]
 	bit RIGHT_QUADRANT_F, a
 	jr z, .leftside2
 	dec hl
@@ -514,13 +514,13 @@
 	ldh [rSVBK], a
 	call StartTrainerBattle_NextScene
 	ld a, $10
-	ld [wcf64], a
+	ld [wBattleTransitionCounter], a
 	ld a, 1
 	ldh [hBGMapMode], a
 	ret
 
 StartTrainerBattle_SpeckleToBlack:
-	ld hl, wcf64
+	ld hl, wBattleTransitionCounter
 	ld a, [hl]
 	and a
 	jr z, .done
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3006,10 +3006,11 @@
 	jp MonFaintedAnimation
 
 MonFaintedAnimation:
-	ld a, [wcfbe]
+	ld a, [wJoypadDisable]
 	push af
-	set 6, a
-	ld [wcfbe], a
+	set JOYPAD_DISABLE_MON_FAINT_F, a
+	ld [wJoypadDisable], a
+
 	ld b, 7
 
 .OuterLoop:
@@ -3052,7 +3053,7 @@
 	jr nz, .OuterLoop
 
 	pop af
-	ld [wcfbe], a
+	ld [wJoypadDisable], a
 	ret
 
 .Spaces:
@@ -4639,7 +4640,7 @@
 PrintPlayerHUD:
 	ld de, wBattleMonNick
 	hlcoord 10, 7
-	call ret_3e138
+	call Battle_DummyFunction
 	call PlaceString
 
 	push bc
@@ -4725,7 +4726,7 @@
 	call GetBaseData
 	ld de, wEnemyMonNick
 	hlcoord 1, 0
-	call ret_3e138
+	call Battle_DummyFunction
 	call PlaceString
 	ld h, b
 	ld l, c
@@ -4854,7 +4855,8 @@
 	ret z
 	jp FinishBattleAnim
 
-ret_3e138:
+Battle_DummyFunction:
+; called before placing either battler's nickname in the HUD
 	ret
 
 BattleMenu:
--- a/engine/debug/color_picker.asm
+++ b/engine/debug/color_picker.asm
@@ -929,13 +929,13 @@
 	ret
 
 DebugColor_PushSGBPals:
-	ld a, [wcfbe]
+	ld a, [wJoypadDisable]
 	push af
-	set 7, a
-	ld [wcfbe], a
+	set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+	ld [wJoypadDisable], a
 	call _DebugColor_PushSGBPals
 	pop af
-	ld [wcfbe], a
+	ld [wJoypadDisable], a
 	ret
 
 _DebugColor_PushSGBPals:
--- a/engine/events/battle_tower/battle_tower.asm
+++ b/engine/events/battle_tower/battle_tower.asm
@@ -183,7 +183,7 @@
 	call _BattleTowerBattle
 	ret
 
-DummySpecial_17021d:
+UnusedBattleTowerDummySpecial1:
 	ret
 
 InitBattleTowerChallengeRAM:
@@ -1008,11 +1008,11 @@
 
 BattleTowerAction_SetByteToQuickSaveChallenge:
 	ld c, BATTLETOWER_SAVED_AND_LEFT
-	jr asm_17079f
+	jr SetBattleTowerChallengeState
 
 BattleTowerAction_SetByteToCancelChallenge:
 	ld c, BATTLETOWER_NO_CHALLENGE
-asm_17079f:
+SetBattleTowerChallengeState:
 	ld a, BANK(sBattleTowerChallengeState)
 	call OpenSRAM
 	ld a, c
@@ -1447,11 +1447,11 @@
 
 Function170a9c:
 	ld c, FALSE
-	jr asm_170aa2
+	jr Set_s5_aa8d
 
 Function170aa0:
 	ld c, TRUE
-asm_170aa2:
+Set_s5_aa8d:
 	ld a, BANK(s5_aa8d)
 	call OpenSRAM
 	ld a, c
@@ -1576,7 +1576,7 @@
 
 INCLUDE "data/trainers/sprites.asm"
 
-DummySpecial_170bd2:
+UnusedBattleTowerDummySpecial2:
 	ret
 
 CheckForBattleTowerRules:
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -100,7 +100,7 @@
 	ret
 
 CelebiEvent_SpawnLeaf: ; unreferenced
-	ld hl, wcf65
+	ld hl, wFrameCounter2
 	ld a, [hl]
 	inc [hl]
 	and $7
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -426,7 +426,7 @@
 	ret
 
 .SpawnLeaf:
-	ld hl, wcf65
+	ld hl, wFrameCounter2
 	ld a, [hl]
 	inc [hl]
 	and $7
--- a/engine/events/npc_trade.asm
+++ b/engine/events/npc_trade.asm
@@ -56,11 +56,12 @@
 	call DisableSpriteUpdates
 	ld a, [wJumptableIndex]
 	push af
-	ld a, [wcf64]
+	; wTradeDialog aliases wFrameCounter, which TradeAnimation uses
+	ld a, [wTradeDialog]
 	push af
 	predef TradeAnimation
 	pop af
-	ld [wcf64], a
+	ld [wTradeDialog], a
 	pop af
 	ld [wJumptableIndex], a
 	call ReturnToMapWithSpeechTextbox
@@ -107,7 +108,7 @@
 	ld e, NPCTRADE_DIALOG
 	call GetTradeAttribute
 	ld a, [hl]
-	ld [wcf64], a
+	ld [wTradeDialog], a
 	ret
 
 DoNPCTrade:
@@ -392,7 +393,7 @@
 	ld bc, 2 * 4
 	ld hl, TradeTexts
 	call AddNTimes
-	ld a, [wcf64]
+	ld a, [wTradeDialog]
 	ld c, a
 	add hl, bc
 	add hl, bc
--- a/engine/events/print_unown_2.asm
+++ b/engine/events/print_unown_2.asm
@@ -9,7 +9,7 @@
 	push bc
 	push hl
 	push bc
-	ld de, wd002
+	ld de, wPrintedUnownTileSource
 	call .Copy
 	call .Rotate
 	ld hl, UnownPrinter_GBPrinterRectangle
@@ -19,10 +19,10 @@
 	ld a, [hli]
 	ld e, a
 	ld d, [hl]
-	ld hl, wd012
+	ld hl, wPrintedUnownTileDest
 	call .Copy
 	pop hl
-	ld bc, $10
+	ld bc, LEN_2BPP_TILE
 	add hl, bc
 	pop bc
 	inc c
@@ -44,7 +44,7 @@
 	ret
 
 .Copy:
-	ld c, $10
+	ld c, LEN_2BPP_TILE
 .loop_copy
 	ld a, [hli]
 	ld [de], a
@@ -54,12 +54,12 @@
 	ret
 
 .Rotate:
-	ld hl, wd012
+	ld hl, wPrintedUnownTileDest
 	ld e, %10000000
 	ld d, 8
 .loop_decompress
 	push hl
-	ld hl, wd002
+	ld hl, wPrintedUnownTileSource
 	call .CountSetBit
 	pop hl
 	ld a, b
--- a/engine/events/specials.asm
+++ b/engine/events/specials.asm
@@ -15,7 +15,7 @@
 
 INCLUDE "data/events/special_pointers.asm"
 
-DummySpecial_c224:
+UnusedDummySpecial:
 	ret
 
 SetPlayerPalette:
@@ -207,7 +207,7 @@
 	call StartGameCornerGame
 	ret
 
-DummyNonfunctionalGameCornerGame:
+UnusedDummyGame:
 	call CheckCoinsAndCoinCase
 	ret c
 	ld a, BANK(_DummyGame)
--- a/engine/games/dummy_game.asm
+++ b/engine/games/dummy_game.asm
@@ -133,11 +133,11 @@
 .next_try
 	dec [hl]
 	xor a
-	ld [wcf64], a
+	ld [wDummyGameCardChoice], a
 	ld hl, wJumptableIndex
 	inc [hl]
 .PickCard1:
-	ld a, [wcf64]
+	ld a, [wDummyGameCardChoice]
 	and a
 	ret z
 	dec a
@@ -155,13 +155,13 @@
 	call DummyGame_Card2Coord
 	call DummyGame_PlaceCard
 	xor a
-	ld [wcf64], a
+	ld [wDummyGameCardChoice], a
 	ld hl, wJumptableIndex
 	inc [hl]
 	ret
 
 .PickCard2:
-	ld a, [wcf64]
+	ld a, [wDummyGameCardChoice]
 	and a
 	ret z
 	dec a
@@ -527,7 +527,7 @@
 	add hl, bc
 	ld a, [hl]
 	inc a
-	ld [wcf64], a
+	ld [wDummyGameCardChoice], a
 	ret
 
 .pressed_left
--- a/engine/games/slot_machine.asm
+++ b/engine/games/slot_machine.asm
@@ -249,7 +249,7 @@
 
 AnimateSlotReelIcons: ; unreferenced
 ; This animation was present in pokegold-spaceworld.
-	ld hl, wcf66
+	ld hl, wUnusedSlotReelIconDelay
 	ld a, [hl]
 	inc [hl]
 	and $7
--- a/engine/gfx/cgb_layouts.asm
+++ b/engine/gfx/cgb_layouts.asm
@@ -43,7 +43,7 @@
 	dw _CGB_PartyMenu
 	dw _CGB_Evolution
 	dw _CGB_GSTitleScreen
-	dw _CGB0d
+	dw _CGB_Unused0D
 	dw _CGB_MoveList
 	dw _CGB_BetaPikachuMinigame
 	dw _CGB_PokedexSearchOption
@@ -60,7 +60,7 @@
 	dw _CGB_TradeTube
 	dw _CGB_TrainerOrMonFrontpicPals
 	dw _CGB_MysteryGift
-	dw _CGB1e
+	dw _CGB_Unused1E
 
 _CGB_BattleGrayscale:
 	ld hl, PalPacket_BattleGrayscale + 1
@@ -321,7 +321,7 @@
 	ldh [hCGBPalUpdate], a
 	ret
 
-Function9009: ; unreferenced
+_CGB_Unknown: ; unreferenced
 	ld hl, BillsPCOrangePalette
 	call LoadHLPaletteIntoDE
 	jr .GotPalette
@@ -595,7 +595,7 @@
 	ldh [hCGBPalUpdate], a
 	ret
 
-_CGB0d:
+_CGB_Unused0D:
 	ld hl, PalPacket_Diploma + 1
 	call CopyFourPalettes
 	call WipeAttrmap
@@ -911,7 +911,7 @@
 	call ApplyPals
 	ret
 
-_CGB1e:
+_CGB_Unused1E:
 	ld de, wBGPals1
 	ld a, [wCurPartySpecies]
 	call GetMonPalettePointer
--- a/engine/gfx/color.asm
+++ b/engine/gfx/color.asm
@@ -136,6 +136,7 @@
 Intro_LoadMagikarpPalettes: ; unreferenced
 	call CheckCGB
 	ret z
+
 ; CGB only
 	ld hl, .BGPal
 	ld de, wBGPals1
@@ -789,13 +790,13 @@
 	ret
 
 PushSGBPals:
-	ld a, [wcfbe]
+	ld a, [wJoypadDisable]
 	push af
-	set 7, a
-	ld [wcfbe], a
+	set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+	ld [wJoypadDisable], a
 	call _PushSGBPals
 	pop af
-	ld [wcfbe], a
+	ld [wJoypadDisable], a
 	ret
 
 _PushSGBPals:
@@ -841,12 +842,14 @@
 InitSGBBorder:
 	call CheckCGB
 	ret nz
+
 ; SGB/DMG only
 	di
-	ld a, [wcfbe]
+	ld a, [wJoypadDisable]
 	push af
-	set 7, a
-	ld [wcfbe], a
+	set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+	ld [wJoypadDisable], a
+
 	xor a
 	ldh [rJOYP], a
 	ldh [hSGB], a
@@ -866,7 +869,7 @@
 
 .skip
 	pop af
-	ld [wcfbe], a
+	ld [wJoypadDisable], a
 	ei
 	ret
 
@@ -873,6 +876,7 @@
 InitCGBPals::
 	call CheckCGB
 	ret z
+
 ; CGB only
 	ld a, BANK(vTiles3)
 	ldh [rVBK], a
--- a/engine/gfx/crystal_layouts.asm
+++ b/engine/gfx/crystal_layouts.asm
@@ -132,7 +132,7 @@
 MG_Mobile_Layout01:
 	call MG_Mobile_Layout_LoadPals
 	ld de, wBGPals1 palette PAL_BG_TEXT
-	ld hl, .Palette_49478
+	ld hl, .TextPalette
 	ld bc, 1 palettes
 	ld a, BANK(wBGPals1)
 	call FarCopyWRAM
@@ -149,12 +149,11 @@
 	bit 6, a
 	jr z, .asm_49464
 	call Function49480
-	jr .asm_49467
+	jr .done
 
 .asm_49464
 	call Function49496
-
-.asm_49467
+.done
 	farcall ApplyAttrmap
 	farcall ApplyPals
 	ld a, TRUE
@@ -161,7 +160,7 @@
 	ldh [hCGBPalUpdate], a
 	ret
 
-.Palette_49478:
+.TextPalette:
 	RGB 31, 31, 31
 	RGB 26, 31, 00
 	RGB 20, 16, 03
@@ -194,7 +193,7 @@
 INCLUDE "engine/tilesets/tileset_palettes.asm"
 
 MG_Mobile_Layout02:
-	ld hl, .Palette_49732
+	ld hl, .BGPalette
 	ld de, wBGPals1
 	ld bc, 1 palettes
 	ld a, BANK(wBGPals1)
@@ -202,7 +201,7 @@
 	farcall ApplyPals
 	call MG_Mobile_Layout_WipeAttrmap
 	farcall ApplyAttrmap
-	ld hl, .Palette_4973a
+	ld hl, .OBPalette
 	ld de, wOBPals1
 	ld bc, 1 palettes
 	ld a, BANK(wOBPals1)
@@ -209,13 +208,13 @@
 	call FarCopyWRAM
 	ret
 
-.Palette_49732:
+.BGPalette:
 	RGB 31, 31, 31
 	RGB 23, 16, 07
 	RGB 23, 07, 07
 	RGB 03, 07, 20
 
-.Palette_4973a:
+.OBPalette:
 	RGB 00, 00, 00
 	RGB 07, 05, 31
 	RGB 14, 18, 31
--- a/engine/gfx/sgb_layouts.asm
+++ b/engine/gfx/sgb_layouts.asm
@@ -35,7 +35,7 @@
 	dw .SGB_PartyMenu
 	dw .SGB_Evolution
 	dw .SGB_GSTitleScreen
-	dw .SGB0d
+	dw .SGB_Unused0D
 	dw .SGB_MoveList
 	dw .SGB_BetaPikachuMinigame
 	dw .SGB_PokedexSearchOption
@@ -52,7 +52,7 @@
 	dw .SGB_TradeTube
 	dw .SGB_TrainerOrMonFrontpicPals
 	dw .SGB_MysteryGift
-	dw .SGB1e
+	dw .SGB_Unused1E
 
 .SGB_BattleGrayscale:
 	ld hl, PalPacket_BattleGrayscale
@@ -397,7 +397,7 @@
 	ld de, BlkPacket_AllPal0
 	ret
 
-.SGB0d:
+.SGB_Unused0D:
 .SGB_TrainerCard:
 	ld hl, PalPacket_Diploma
 	ld de, BlkPacket_AllPal0
@@ -437,7 +437,7 @@
 	ld de, wSGBPals + PALPACKET_LENGTH
 	ret
 
-.SGB1e:
+.SGB_Unused1E:
 	ld hl, PalPacket_Pal01
 	ld de, wSGBPals
 	ld bc, PALPACKET_LENGTH
@@ -450,7 +450,7 @@
 	add hl, hl
 	ld de, PokemonPalettes
 	add hl, de
-	ld a, [wcf65]
+	ld a, [wUnusedSGB1eColorOffset]
 	and 3
 	sla a
 	sla a
--- a/engine/gfx/sprite_anims.asm
+++ b/engine/gfx/sprite_anims.asm
@@ -357,7 +357,7 @@
 
 AnimSeq_SlotsChansey:
 	callfar Slots_AnimateChansey
-	ld hl, wcf64
+	ld hl, wSlotsDelay
 	ld a, [hl]
 	cp $2
 	ret nz
@@ -382,7 +382,7 @@
 	jr c, .move_right
 	call DeinitializeSprite
 	ld a, $4
-	ld [wcf64], a
+	ld [wSlotsDelay], a
 	ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
 	call PlaySFX
 	ret
@@ -819,7 +819,7 @@
 	ret
 
 AnimSeq_IntroUnownF:
-	ld a, [wcf64]
+	ld a, [wSlotsDelay]
 	cp $40
 	ret nz
 	ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
--- a/engine/link/init_list.asm
+++ b/engine/link/init_list.asm
@@ -44,9 +44,9 @@
 	ld a, h
 	ld [wListPointer + 1], a
 	ld a, e
-	ld [wUnusedD102], a
+	ld [wUnusedNamesPointer], a
 	ld a, d
-	ld [wUnusedD102 + 1], a
+	ld [wUnusedNamesPointer + 1], a
 	ld bc, ItemAttributes
 	ld a, c
 	ld [wItemAttributesPtr], a
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -165,9 +165,9 @@
 	ld hl, wTimeCapsulePlayerData
 	call Function2868a
 	ld a, LOW(wOTPartyMonOT)
-	ld [wUnusedD102], a
+	ld [wUnusedNamesPointer], a
 	ld a, HIGH(wOTPartyMonOT)
-	ld [wUnusedD102 + 1], a
+	ld [wUnusedNamesPointer + 1], a
 	ld de, MUSIC_NONE
 	call PlayMusic
 	ldh a, [hSerialConnectionStatus]
@@ -407,9 +407,9 @@
 	ld bc, wOTPartyDataEnd - wOTPartyMons
 	call CopyBytes
 	ld a, LOW(wOTPartyMonOT)
-	ld [wUnusedD102], a
+	ld [wUnusedNamesPointer], a
 	ld a, HIGH(wOTPartyMonOT)
-	ld [wUnusedD102 + 1], a
+	ld [wUnusedNamesPointer + 1], a
 	ld de, MUSIC_NONE
 	call PlayMusic
 	ldh a, [hSerialConnectionStatus]
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -465,9 +465,9 @@
 	xor a
 	ld [wDontPlayMapMusicOnReload], a
 	ld [wLinkMode], a
-	ld hl, wGameTimerPause
-	set GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
-	res GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	set GAME_TIMER_PAUSED_F, [hl]
+	res GAME_TIMER_MOBILE_F, [hl]
 	ld hl, wEnteredMapFromContinue
 	set 1, [hl]
 	farcall OverworldLoop
--- a/engine/menus/main_menu.asm
+++ b/engine/menus/main_menu.asm
@@ -31,8 +31,8 @@
 	ld b, SCGB_DIPLOMA
 	call GetSGBLayout
 	call SetPalettes
-	ld hl, wGameTimerPause
-	res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+	ld hl, wGameTimerPaused
+	res GAME_TIMER_PAUSED_F, [hl]
 	call MainMenu_GetWhichMenu
 	ld [wWhichIndexSet], a
 	call MainMenu_PrintCurrentTimeAndDay
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -20,7 +20,7 @@
 
 TradeAnimation:
 	xor a
-	ld [wcf66], a
+	ld [wUnusedTradeAnimPlayEvolutionMusic], a
 	ld hl, wPlayerTrademonSenderName
 	ld de, wOTTrademonSenderName
 	call LinkTradeAnim_LoadTradePlayerNames
@@ -71,7 +71,7 @@
 
 TradeAnimationPlayer2:
 	xor a
-	ld [wcf66], a
+	ld [wUnusedTradeAnimPlayEvolutionMusic], a
 	ld hl, wOTTrademonSenderName
 	ld de, wPlayerTrademonSenderName
 	call LinkTradeAnim_LoadTradePlayerNames
@@ -137,7 +137,7 @@
 	push af
 	set NO_TEXT_SCROLL, [hl]
 	call .TradeAnimLayout
-	ld a, [wcf66]
+	ld a, [wUnusedTradeAnimPlayEvolutionMusic]
 	and a
 	jr nz, .anim_loop
 	ld de, MUSIC_EVOLUTION
@@ -225,7 +225,7 @@
 	jr nz, .finished
 	call .DoTradeAnimCommand
 	callfar PlaySpriteAnimations
-	ld hl, wcf65
+	ld hl, wFrameCounter2
 	inc [hl]
 	call DelayFrame
 	and a
@@ -273,8 +273,8 @@
 	add_tradeanim TradeAnim_TextboxScrollStart   ; 1e
 	add_tradeanim TradeAnim_ScrollOutRight       ; 1f
 	add_tradeanim TradeAnim_ScrollOutRight2      ; 20
-	add_tradeanim TradeAnim_Wait80              ; 21
-	add_tradeanim TradeAnim_Wait40              ; 22
+	add_tradeanim TradeAnim_Wait80               ; 21
+	add_tradeanim TradeAnim_Wait40               ; 22
 	add_tradeanim TradeAnim_RockingBall          ; 23
 	add_tradeanim TradeAnim_DropBall             ; 24
 	add_tradeanim TradeAnim_WaitAnim             ; 25
@@ -285,9 +285,9 @@
 	add_tradeanim TradeAnim_GetTrademonSFX       ; 2a
 	add_tradeanim TradeAnim_End                  ; 2b
 	add_tradeanim TradeAnim_AnimateFrontpic      ; 2c
-	add_tradeanim TradeAnim_Wait96              ; 2d
-	add_tradeanim TradeAnim_Wait80IfOTEgg       ; 2e
-	add_tradeanim TradeAnim_Wait180IfOTEgg      ; 2f
+	add_tradeanim TradeAnim_Wait96               ; 2d
+	add_tradeanim TradeAnim_Wait80IfOTEgg        ; 2e
+	add_tradeanim TradeAnim_Wait180IfOTEgg       ; 2f
 
 TradeAnim_IncrementJumptableIndex:
 	ld hl, wJumptableIndex
@@ -1333,7 +1333,7 @@
 	ret
 
 TradeAnim_FlashBGPals:
-	ld a, [wcf65]
+	ld a, [wFrameCounter2]
 	and $7
 	ret nz
 	ldh a, [rBGP]
--- a/engine/overworld/events.asm
+++ b/engine/overworld/events.asm
@@ -812,7 +812,7 @@
 CheckMenuOW:
 	xor a
 	ldh [hMenuReturn], a
-	ldh [hUnusedFFA1], a
+	ldh [hUnusedByte], a
 	ldh a, [hJoyPressed]
 
 	bit SELECT_F, a
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -458,11 +458,11 @@
 	ld de, GiveItemScript
 	jp ScriptCall
 
-ret_96f76:
+GiveItemScript_DummyFunction:
 	ret
 
 GiveItemScript:
-	callasm ret_96f76
+	callasm GiveItemScript_DummyFunction
 	writetext .ReceivedItemText
 	iffalse .Full
 	waitsfx
@@ -2316,13 +2316,13 @@
 	ret
 
 Script_halloffame:
-	ld hl, wGameTimerPause
-	res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+	ld hl, wGameTimerPaused
+	res GAME_TIMER_PAUSED_F, [hl]
 	farcall StubbedTrainerRankings_HallOfFame
 	farcall StubbedTrainerRankings_HallOfFame2
 	farcall HallOfFame
-	ld hl, wGameTimerPause
-	set GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+	ld hl, wGameTimerPaused
+	set GAME_TIMER_PAUSED_F, [hl]
 	jr ReturnFromCredits
 
 Script_credits:
--- a/engine/pokedex/pokedex.asm
+++ b/engine/pokedex/pokedex.asm
@@ -91,7 +91,7 @@
 	ld [wJumptableIndex], a
 	ld [wPrevDexEntryJumptableIndex], a
 	ld [wPrevDexEntryBackup], a
-	ld [wcf66], a
+	ld [wUnusedPokedexByte], a
 
 	call Pokedex_CheckUnlockedUnownMode
 
--- a/engine/pokegear/pokegear.asm
+++ b/engine/pokegear/pokegear.asm
@@ -92,7 +92,7 @@
 	ld [wJumptableIndex], a ; POKEGEARSTATE_CLOCKINIT
 	ld [wPokegearCard], a ; POKEGEARCARD_CLOCK
 	ld [wPokegearMapRegion], a ; JOHTO_REGION
-	ld [wcf66], a
+	ld [wUnusedPokegearByte], a
 	ld [wPokegearPhoneScrollPosition], a
 	ld [wPokegearPhoneCursorPosition], a
 	ld [wPokegearPhoneSelectedPerson], a
@@ -2038,7 +2038,7 @@
 	lb bc, BANK(FlyMapLabelBorderGFX), 6
 	call Request1bpp
 	call FlyMap
-	call ret_91c8f
+	call Pokegear_DummyFunction
 	ld b, SCGB_POKEGEAR_PALS
 	call GetSGBLayout
 	call SetPalettes
@@ -2243,7 +2243,7 @@
 
 INCLUDE "data/maps/flypoints.asm"
 
-ret_91c8f:
+Pokegear_DummyFunction:
 	ret
 
 FlyMap:
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -782,9 +782,9 @@
 	call ByteFill
 	xor a
 	ld [wJumptableIndex], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
+	ld [wUnusedBillsPCData], a
+	ld [wUnusedBillsPCData+1], a
+	ld [wUnusedBillsPCData+2], a
 	ld [wBillsPC_CursorPosition], a
 	ld [wBillsPC_ScrollPosition], a
 	ret
--- a/engine/pokemon/stats_screen.asm
+++ b/engine/pokemon/stats_screen.asm
@@ -33,7 +33,7 @@
 	push af
 	ld a, [wJumptableIndex]
 	ld b, a
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	ld c, a
 
 	push bc
@@ -52,7 +52,7 @@
 	ld a, b
 	ld [wJumptableIndex], a
 	ld a, c
-	ld [wcf64], a
+	ld [wStatsScreenFlags], a
 	pop af
 	ld [wBoxAlignment], a
 	pop af
@@ -63,11 +63,11 @@
 	xor a
 	ld [wJumptableIndex], a
 ; ???
-	ld [wcf64], a
-	ld a, [wcf64]
+	ld [wStatsScreenFlags], a
+	ld a, [wStatsScreenFlags]
 	and $ff ^ STAT_PAGE_MASK
 	or PINK_PAGE ; first_page
-	ld [wcf64], a
+	ld [wStatsScreenFlags], a
 .loop
 	ld a, [wJumptableIndex]
 	and $ff ^ (1 << 7)
@@ -83,11 +83,11 @@
 	xor a
 	ld [wJumptableIndex], a
 ; ???
-	ld [wcf64], a
-	ld a, [wcf64]
+	ld [wStatsScreenFlags], a
+	ld a, [wStatsScreenFlags]
 	and $ff ^ STAT_PAGE_MASK
 	or PINK_PAGE ; first_page
-	ld [wcf64], a
+	ld [wStatsScreenFlags], a
 .loop
 	farcall Mobile_SetOverworldDelay
 	ld a, [wJumptableIndex]
@@ -115,7 +115,7 @@
 	dw StatsScreen_Exit
 
 StatsScreen_WaitAnim:
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	bit 6, [hl]
 	jr nz, .try_anim
 	bit 5, [hl]
@@ -126,10 +126,10 @@
 .try_anim
 	farcall SetUpPokeAnim
 	jr nc, .finish
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	res 6, [hl]
 .finish
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	res 5, [hl]
 	farcall HDMATransferTilemapToWRAMBank3
 	ret
@@ -147,7 +147,7 @@
 	ret
 
 MonStatsInit:
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	res 6, [hl]
 	call ClearBGPalettes
 	call ClearTilemap
@@ -157,7 +157,7 @@
 	cp EGG
 	jr z, .egg
 	call StatsScreen_InitUpperHalf
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 4, [hl]
 	ld h, 4
 	call StatsScreen_SetJumptableIndex
@@ -217,7 +217,7 @@
 	ld de, .HatchSoonString
 	hlcoord 8, 17
 	call PlaceString
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 5, [hl]
 	pop hl
 	pop de
@@ -232,7 +232,7 @@
 
 StatsScreen_LoadPage:
 	call StatsScreen_LoadGFX
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	res 4, [hl]
 	ld a, [wJumptableIndex]
 	inc a
@@ -314,7 +314,7 @@
 
 StatsScreen_JoypadAction:
 	push af
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	maskbits NUM_STAT_PAGES
 	ld c, a
 	pop af
@@ -393,10 +393,10 @@
 	ret
 
 .set_page
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	and $ff ^ STAT_PAGE_MASK
 	or c
-	ld [wcf64], a
+	ld [wStatsScreenFlags], a
 	ld h, 4
 	call StatsScreen_SetJumptableIndex
 	ret
@@ -530,7 +530,7 @@
 	call .ClearBox
 	call .PageTilemap
 	call .LoadPals
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	bit 4, [hl]
 	jr nz, .place_frontpic
 	call SetPalettes
@@ -541,7 +541,7 @@
 	ret
 
 .ClearBox:
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	maskbits NUM_STAT_PAGES
 	ld c, a
 	call StatsScreen_LoadPageIndicators
@@ -551,17 +551,17 @@
 	ret
 
 .LoadPals:
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	maskbits NUM_STAT_PAGES
 	ld c, a
 	farcall LoadStatsScreenPals
 	call DelayFrame
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 5, [hl]
 	ret
 
 .PageTilemap:
-	ld a, [wcf64]
+	ld a, [wStatsScreenFlags]
 	maskbits NUM_STAT_PAGES
 	dec a
 	ld hl, .Jumptable
@@ -848,7 +848,7 @@
 	ret
 
 .AnimateMon:
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 5, [hl]
 	ld a, [wCurPartySpecies]
 	cp UNOWN
@@ -890,7 +890,7 @@
 	ld d, $0
 	ld e, ANIM_MON_MENU
 	predef LoadMonAnimation
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 6, [hl]
 	ret
 
@@ -1033,7 +1033,7 @@
 .picked
 	hlcoord 1, 9
 	call PlaceString
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 5, [hl]
 	call SetPalettes ; pals
 	call DelayFrame
@@ -1099,7 +1099,7 @@
 	hlcoord 0, 0
 	ld d, $0
 	predef LoadMonAnimation
-	ld hl, wcf64
+	ld hl, wStatsScreenFlags
 	set 6, [hl]
 	ret
 
--- a/engine/printer/printer.asm
+++ b/engine/printer/printer.asm
@@ -447,9 +447,11 @@
 	ret
 
 .pressed_b
-	ld a, [wca80]
+	ld a, [wUnusedGameboyPrinterSafeCancelFlag]
 	cp $0c
 	jr nz, .cancel
+
+; wait for printer activity to finish before canceling?
 .loop
 	ld a, [wPrinterOpcode]
 	and a
--- a/home/game_time.asm
+++ b/home/game_time.asm
@@ -32,8 +32,8 @@
 	ret nz
 
 ; Is the timer paused?
-	ld hl, wGameTimerPause
-	bit GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+	ld hl, wGameTimerPaused
+	bit GAME_TIMER_PAUSED_F, [hl]
 	ret z
 
 ; Is the timer already capped?
--- a/home/init.asm
+++ b/home/init.asm
@@ -10,8 +10,8 @@
 	ldh [rIE], a
 	ei
 
-	ld hl, wcfbe
-	set 7, [hl]
+	ld hl, wJoypadDisable
+	set JOYPAD_DISABLE_SGB_TRANSFER_F, [hl]
 
 	ld c, 32
 	call DelayFrames
@@ -50,7 +50,7 @@
 	ldh [rOBP1], a
 	ldh [rTMA], a
 	ldh [rTAC], a
-	ld [wd000], a
+	ld [wUnusedInitializedToZero], a
 
 	ld a, %100 ; Start timer at 4096Hz
 	ldh [rTAC], a
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -27,8 +27,8 @@
 ; hJoypadSum: pressed so far
 
 ; Any of these three bits can be used to disable input.
-	ld a, [wcfbe]
-	and %11010000
+	ld a, [wJoypadDisable]
+	and (1 << JOYPAD_DISABLE_MON_FAINT_F) | (1 << JOYPAD_DISABLE_SGB_TRANSFER_F) | (1 << 4)
 	ret nz
 
 ; If we're saving, input is disabled.
--- a/home/names.asm
+++ b/home/names.asm
@@ -56,9 +56,9 @@
 
 .done
 	ld a, e
-	ld [wUnusedD102], a
+	ld [wUnusedNamesPointer], a
 	ld a, d
-	ld [wUnusedD102 + 1], a
+	ld [wUnusedNamesPointer + 1], a
 
 	pop de
 	pop bc
--- a/hram.asm
+++ b/hram.asm
@@ -31,7 +31,7 @@
 hMapEntryMethod:: db
 
 hMenuReturn:: db
-hUnusedFFA1:: db
+hUnusedByte:: db
 
 hJoypadReleased:: db
 hJoypadPressed::  db
--- a/mobile/mobile_22.asm
+++ b/mobile/mobile_22.asm
@@ -20,18 +20,18 @@
 	ret
 
 Function89168:
-	ld hl, wGameTimerPause
-	set GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	set GAME_TIMER_MOBILE_F, [hl]
 	ret
 
 Function8916e:
-	ld hl, wGameTimerPause
-	res GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	res GAME_TIMER_MOBILE_F, [hl]
 	ret
 
 Function89174:
-	ld hl, wGameTimerPause
-	bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	bit GAME_TIMER_MOBILE_F, [hl]
 	ret
 
 Function8917a:
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -2660,8 +2660,8 @@
 	call CloseSRAM
 	ld hl, wdc41
 	res 4, [hl]
-	ld hl, wGameTimerPause
-	bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	bit GAME_TIMER_MOBILE_F, [hl]
 	jr z, .skip
 	ld hl, wdc41
 	set 4, [hl]
@@ -4425,15 +4425,15 @@
 	call ClearSprites
 	farcall Function8adb3
 	ret c
-	ld hl, wGameTimerPause
-	set GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	set GAME_TIMER_MOBILE_F, [hl]
 	ld hl, wdc41
 	set 4, [hl]
 	ret
 
 Function101ead:
-	ld hl, wGameTimerPause
-	bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+	ld hl, wGameTimerPaused
+	bit GAME_TIMER_MOBILE_F, [hl]
 	jr nz, .asm_101ec8
 	ld hl, wdc41
 	bit 2, [hl]
--- a/mobile/mobile_5b.asm
+++ b/mobile/mobile_5b.asm
@@ -7,11 +7,11 @@
 	ldh a, [hSystemBooted]
 	and a
 	ret z
-	; Set some flag, preserving the old state
-	ld a, [wcfbe]
+	; Disable the joypad during mobile setup
+	ld a, [wJoypadDisable]
 	push af
-	set 7, a
-	ld [wcfbe], a
+	set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+	ld [wJoypadDisable], a
 	; Do stuff
 	call MobileSystemSplashScreen_InitGFX ; Load GFX
 	farcall SetRAMStateForMobile
@@ -24,7 +24,7 @@
 	ldh [hSystemBooted], a
 	; Restore the flag state
 	pop af
-	ld [wcfbe], a
+	ld [wJoypadDisable], a
 	ret
 
 .RunJumptable:
--- a/wram.asm
+++ b/wram.asm
@@ -904,7 +904,7 @@
 wGameboyPrinterRAM::
 wGameboyPrinter2bppSource:: ds 40 tiles
 wGameboyPrinter2bppSourceEnd::
-wca80:: db
+wUnusedGameboyPrinterSafeCancelFlag:: db
 wPrinterRowIndex:: db
 
 ; Printer data
@@ -1356,12 +1356,6 @@
 	db
 
 UNION
-; unidentified
-wcf64:: db
-wcf65:: db
-wcf66:: db
-
-NEXTU
 ; intro data
 wIntroSceneFrameCounter:: db
 wIntroSceneTimer:: db
@@ -1386,11 +1380,13 @@
 wPrevDexEntryBackup::
 wPokedexStatus:: db
 endc
+wUnusedPokedexByte:: db
 
 NEXTU
 ; pokegear
 wPokegearCard:: db
 wPokegearMapRegion:: db
+wUnusedPokegearByte:: db
 
 NEXTU
 ; pack
@@ -1405,12 +1401,22 @@
 wTrainerCardBadgeAttributes:: db
 
 NEXTU
-; card flip data
+; slot machine
+wSlotsDelay:: db
+	ds 1
+wUnusedSlotReelIconDelay:: db
+
+NEXTU
+; card flip
 wCardFlipCursorY:: db
 wCardFlipCursorX:: db
 wCardFlipWhichCard:: db
 
 NEXTU
+; dummy game
+wDummyGameCardChoice:: db
+
+NEXTU
 ; magnet train
 wMagnetTrainOffset:: db
 wMagnetTrainPosition:: db
@@ -1423,6 +1429,16 @@
 wUnownPuzzleHeldPiece:: db
 
 NEXTU
+; battle transitions
+wBattleTransitionCounter:: db
+wBattleTransitionSineWaveOffset::
+wBattleTransitionSpinQuadrant:: db
+
+NEXTU
+; bill's pc
+wUnusedBillsPCData:: ds 3
+
+NEXTU
 ; debug mon color picker
 wDebugColorRGBJumptableIndex:: db
 wDebugColorCurColor:: db
@@ -1435,21 +1451,34 @@
 wDebugTilesetCurColor:: db
 
 NEXTU
+; stats screen
+wStatsScreenFlags:: db
+
+NEXTU
 ; battle tower
-	ds $2
+wNrOfBeatenBattleTowerTrainers:: db
+	ds 1
 wBattleTowerRoomMenuJumptableIndex:: db
 
 NEXTU
 ; miscellaneous
 wFrameCounter::
-wNrOfBeatenBattleTowerTrainers::
 wMomBankDigitCursorPosition::
 wNamingScreenLetterCase::
 wHallOfFameMonCounter::
-wSlotsDelay::
+wTradeDialog::
 	db
+wFrameCounter2::
 wPrinterQueueLength::
+wUnusedSGB1eColorOffset::
 	db
+wUnusedTradeAnimPlayEvolutionMusic:: db
+
+NEXTU
+; mobile
+wcf64:: db
+wcf65:: db
+wcf66:: db
 ENDU
 
 wRequested2bppSize:: db
@@ -1553,7 +1582,7 @@
 
 wcfbb:: db
 
-wGameTimerPause::
+wGameTimerPaused::
 ; bit 0: game timer paused
 ; bit 7: something mobile
 	db
@@ -1560,11 +1589,11 @@
 
 	ds 1
 
-wcfbe::
+wJoypadDisable::
 ; bits 4, 6, or 7 can be used to disable joypad input
 ; bit 4
-; bit 6: mon fainted?
-; bit 7: SGB flag?
+; bit 6: ongoing mon faint animation
+; bit 7: ongoing sgb data transfer
 	db
 
 	ds 1
@@ -1635,7 +1664,7 @@
 
 wGBCOnlyDecompressBuffer:: ; a $540-byte buffer that continues past this SECTION
 
-wd000:: db
+wUnusedInitializedToZero:: db
 
 wDefaultSpawnpoint:: db
 
@@ -1734,6 +1763,11 @@
 wWhichBoxToPrint:: db
 
 NEXTU
+; Unown printing
+wPrintedUnownTileSource:: ds 1 tiles
+wPrintedUnownTileDest:: ds 1 tiles
+
+NEXTU
 ; trainer HUD data
 	ds 1
 wPlaceBallsDirection:: db
@@ -2017,7 +2051,8 @@
 ENDU
 
 wListPointer:: dw
-wUnusedD102:: dw
+wUnusedNamesPointer:: dw
+
 wItemAttributesPtr:: dw
 
 wCurItem:: db