summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/gfx/load_pics.asm45
-rwxr-xr-xengine/items/item_effects.asm18
-rwxr-xr-xengine/pokemon/health.asm4
-rw-r--r--engine/pokemon/mon_menu.asm4
-rwxr-xr-xengine/pokemon/move_mon.asm24
-rw-r--r--home/init.asm2
-rw-r--r--home/map.asm6
-rw-r--r--home/serial.asm38
-rw-r--r--home/video.asm4
-rwxr-xr-xhram.asm157
10 files changed, 146 insertions, 156 deletions
diff --git a/engine/gfx/load_pics.asm b/engine/gfx/load_pics.asm
index 18f76ec0..187350e7 100644
--- a/engine/gfx/load_pics.asm
+++ b/engine/gfx/load_pics.asm
@@ -43,23 +43,23 @@ GetUnownLetter:
call Divide
; Increment to get 1-26
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
inc a
ld [wUnownLetter], a
ret
GetMonFrontpic:
- call _GetFrontpic
+ call GetFrontpic
jp Load2bppToSRAM
UnusedFrontpicPredef:
- call _GetFrontpic
+ call GetFrontpic
push hl
farcall StubbedGetFrontpic
pop hl
jp Load2bppToSRAM
-_GetFrontpic:
+GetFrontpic:
ld a, [wCurPartySpecies]
ld [wCurSpecies], a
and a
@@ -69,7 +69,7 @@ _GetFrontpic:
cp EGG + 1
ret nc
-.is_a_pokemon:
+.is_a_pokemon
push de
call GetBaseData
ld a, [wBasePicSize]
@@ -78,24 +78,22 @@ _GetFrontpic:
push bc
ld a, BANK(sDecompressBuffer)
call OpenSRAM
- ld hl, PokemonPicPointers
+ ld hl, PokemonPicPointers ; UnownPicPointers
ld a, [wCurPartySpecies]
ld d, BANK(PokemonPicPointers)
cp UNOWN
jr z, .unown
-
cp EGG
jr nz, .not_egg
-
ld hl, EggPic
ld a, BANK(EggPic)
jr .ok
-.unown:
+.unown
ld a, [wUnownLetter]
ld d, BANK(UnownPicPointers)
-.not_egg:
+.not_egg
dec a
ld bc, 6
call AddNTimes
@@ -108,7 +106,7 @@ _GetFrontpic:
call GetFarHalfword
pop af
-.ok:
+.ok
ld de, sDecompressBuffer
call FarDecompress
pop bc
@@ -135,11 +133,13 @@ GetMonBackpic:
cp EGG + 1
ret nc
-.is_a_pokemon:
+.is_a_pokemon
push de
ld a, BANK(sDecompressBuffer)
call OpenSRAM
- ld hl, PokemonPicPointers
+
+ ; These are assumed to be at the same address in their respective banks.
+ ld hl, PokemonPicPointers ; UnownPicPointers
ld a, [wCurPartySpecies]
ld d, BANK(PokemonPicPointers)
cp UNOWN
@@ -147,7 +147,7 @@ GetMonBackpic:
ld a, [wUnownLetter]
ld d, BANK(UnownPicPointers)
-.ok:
+.ok
dec a
ld bc, 6
call AddNTimes
@@ -195,20 +195,17 @@ FixPicBank:
push bc
ld b, a
ld hl, .FixPicBankTable
-
-.loop:
+.loop
ld a, [hli]
cp -1
jr z, .done
-
inc hl
cp b
jr nz, .loop
-
dec hl
ld b, [hl]
-.done:
+.done
ld a, b
pop bc
pop hl
@@ -223,7 +220,7 @@ FixPicBank:
Function150ff:
ld a, c
push de
- ld hl, PokemonPicPointers ; UnownPicPointers
+ ld hl, PokemonPicPointers
dec a
ld bc, 6
call AddNTimes
@@ -389,7 +386,7 @@ PadFrontpic:
rept 4
srl c
endr
-.loop:
+.loop
rept 16
ld [hli], a
endr
@@ -404,7 +401,7 @@ LoadOrientedFrontpic:
rept 4
srl c
endr
-.left_loop:
+.left_loop
rept 16
ld a, [de]
inc de
@@ -414,9 +411,9 @@ endr
jr nz, .left_loop
ret
-.x_flip:
+.x_flip
push bc
-.right_loop:
+.right_loop
ld a, [de]
inc de
ld b, a
diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm
index 274b8468..42e93894 100755
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -261,7 +261,7 @@ UltraBall: ; e926
ld a, b
jp z, .skip_hp_calc
ld a, b
- ldh [hPrintNum4], a
+ ldh [hMultiplicand + 2], a
ld hl, wEnemyMonHP
ld b, [hl]
inc hl
@@ -319,7 +319,7 @@ UltraBall: ; e926
ld b, $4
call Divide
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
and a
jr nz, .statuscheck
ld a, 1
@@ -1166,12 +1166,14 @@ RareCandy: ; ef68 (3:6f68)
pop de
ld a, $8
call GetPartyParamLocation
- ldh a, [hQuotient]
+
+ ldh a, [hMultiplicand + 0]
ld [hli], a
- ldh a, [hPrintNum3]
+ ldh a, [hMultiplicand + 1]
ld [hli], a
- ldh a, [hPrintNum4]
+ ldh a, [hMultiplicand + 2]
ld [hl], a
+
ld a, $24
call GetPartyParamLocation
ld a, [hli]
@@ -1813,9 +1815,9 @@ GetOneFifthMaxHP: ; f3ce (3:73ce)
ldh [hDivisor], a
ld b, 2
call Divide
- ldh a, [hQuotient + 1]
- ld d, a
ldh a, [hQuotient + 2]
+ ld d, a
+ ldh a, [hQuotient + 3]
ld e, a
pop bc
ret
@@ -2704,7 +2706,7 @@ Functionf8c8: ; f8c8 (3:78c8)
and a
jr z, .asm_f8fd
.asm_f8ea
- ldh a, [hPrintNum4]
+ ldh a, [hQuotient + 3]
cp $8
jr c, .asm_f8f2
ld a, $7
diff --git a/engine/pokemon/health.asm b/engine/pokemon/health.asm
index a94a3ec3..8bf0752a 100755
--- a/engine/pokemon/health.asm
+++ b/engine/pokemon/health.asm
@@ -80,10 +80,10 @@ ComputeHPBarPixels:
ldh [hDividend + 2], a
.asm_c711
ld a, e
- ldh [hPrintNum5], a
+ ldh [hDivisor], a
ld b, $4
call Divide
- ldh a, [hPrintNum4]
+ ldh a, [hQuotient + 3]
ld e, a
pop hl
and a
diff --git a/engine/pokemon/mon_menu.asm b/engine/pokemon/mon_menu.asm
index 6cc65879..aa211ae1 100644
--- a/engine/pokemon/mon_menu.asm
+++ b/engine/pokemon/mon_menu.asm
@@ -754,10 +754,10 @@ MonMenu_Softboiled_MilkDrink:
call Divide
ld a, MON_HP + 1
call GetPartyParamLocation
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
sub [hl]
dec hl
- ldh a, [hQuotient + 1]
+ ldh a, [hQuotient + 2]
sbc [hl]
ret
diff --git a/engine/pokemon/move_mon.asm b/engine/pokemon/move_mon.asm
index 5fce891f..f6ef241e 100755
--- a/engine/pokemon/move_mon.asm
+++ b/engine/pokemon/move_mon.asm
@@ -793,11 +793,11 @@ Functiondd6a: ; dd6a (3:5d6a)
pop bc
ld hl, $8
add hl, bc
- ldh a, [hQuotient]
+ ldh a, [hMultiplicand]
ld [hli], a
- ldh a, [hPrintNum3]
+ ldh a, [hMultiplicand + 1]
ld [hli], a
- ldh a, [hPrintNum4]
+ ldh a, [hMultiplicand + 2]
ld [hl], a
and a
ret
@@ -892,13 +892,13 @@ SendMonIntoBox: ; de74 (3:5e74)
ld d, a
callfar CalcExpAtLevel
pop de
- ldh a, [hQuotient]
+ ldh a, [hProduct + 1]
ld [de], a
inc de
- ldh a, [hPrintNum3]
+ ldh a, [hProduct + 2]
ld [de], a
inc de
- ldh a, [hPrintNum4]
+ ldh a, [hProduct + 3]
ld [de], a
inc de
xor a
@@ -1439,11 +1439,11 @@ CalcMonStatC: ; e181
jr nz, .not_hp
ld a, [wCurPartyLevel]
ld b, a
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
add b
ldh [hMultiplicand + 2], a
jr nc, .no_overflow_3
- ldh a, [hQuotient + 1]
+ ldh a, [hQuotient + 2]
inc a
ldh [hMultiplicand + 1], a
@@ -1452,21 +1452,21 @@ CalcMonStatC: ; e181
.not_hp
ld b, a
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
add b
ldh [hMultiplicand + 2], a
jr nc, .no_overflow_4
- ldh a, [hQuotient + 1]
+ ldh a, [hQuotient + 2]
inc a
ldh [hMultiplicand + 1], a
.no_overflow_4
- ldh a, [hQuotient + 1]
+ ldh a, [hQuotient + 2]
cp (1000 / $100) + 1
jr nc, .max_stat
cp 1000 / $100
jr c, .stat_value_okay
- ldh a, [hQuotient + 2]
+ ldh a, [hQuotient + 3]
cp 1000 % $100
jr c, .stat_value_okay
diff --git a/home/init.asm b/home/init.asm
index 82b3cf7e..a1e95d16 100644
--- a/home/init.asm
+++ b/home/init.asm
@@ -104,7 +104,7 @@ Init::
ldh [rWX], a
ld a, CONNECTION_NOT_ESTABLISHED
- ldh [hLinkPlayerNumber], a
+ ldh [hSerialConnectionStatus], a
ld h, $98
call BlankBGMap
diff --git a/home/map.asm b/home/map.asm
index d6da26c2..53fe7641 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -1566,7 +1566,7 @@ UpdateBGMapRow:: ; 28f6 (0:28f6)
dec c
jr nz, .asm_2904
ld a, $14
- ldh [hFFDE], a
+ ldh [hBGMapTileCount], a
ret
UpdateBGMapColumn:: ; 291b (0:291b)
@@ -1590,7 +1590,7 @@ UpdateBGMapColumn:: ; 291b (0:291b)
dec c
jr nz, .asm_2920
ld a, $12
- ldh [hFFDE], a
+ ldh [hBGMapTileCount], a
ret
Function2939::
@@ -2427,7 +2427,7 @@ LoadTilesetHeader:: ; 2dfa (0:2dfa)
pop bc
pop hl
ret
-
+
InexplicablyEmptyFunction:: ; 2e16
; Inexplicably empty.
; Seen in PredefPointers.
diff --git a/home/serial.asm b/home/serial.asm
index 0fb1750b..f2924384 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -10,7 +10,7 @@ Serial::
bit 0, a
jr nz, .printer
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
inc a ; is it equal to CONNECTION_NOT_ESTABLISHED?
jr z, .establish_connection
@@ -20,7 +20,7 @@ Serial::
ldh a, [hSerialSend]
ldh [rSB], a
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
jr z, .player2
@@ -43,7 +43,7 @@ Serial::
.player1
ldh [hSerialReceive], a
- ldh [hLinkPlayerNumber], a
+ ldh [hSerialConnectionStatus], a
cp USING_INTERNAL_CLOCK
jr z, ._player2
@@ -70,7 +70,7 @@ Serial::
.player2
ld a, TRUE
- ldh [hFFCC], a
+ ldh [hSerialReceivedNewData], a
ld a, SERIAL_NO_DATA_BYTE
ldh [hSerialSend], a
@@ -83,7 +83,7 @@ Serial::
Serial_ExchangeBytes::
ld a, 1
- ldh [hFFCE], a
+ ldh [hSerialIgnoringInitialData], a
.loop
ld a, [hl]
ldh [hSerialSend], a
@@ -95,7 +95,7 @@ Serial_ExchangeBytes::
.wait
dec a
jr nz, .wait
- ldh a, [hFFCE]
+ ldh a, [hSerialIgnoringInitialData]
and a
ld a, b
pop bc
@@ -104,7 +104,7 @@ Serial_ExchangeBytes::
cp SERIAL_PREAMBLE_BYTE
jr nz, .loop
xor a
- ldh [hFFCE], a
+ ldh [hSerialIgnoringInitialData], a
jr .loop
.load
@@ -119,8 +119,8 @@ Serial_ExchangeBytes::
Serial_ExchangeByte::
.loop
xor a
- ldh [hFFCC], a
- ldh a, [hLinkPlayerNumber]
+ ldh [hSerialReceivedNewData], a
+ ldh a, [hSerialConnectionStatus]
cp 2
jr nz, .not_player_2
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
@@ -130,10 +130,10 @@ Serial_ExchangeByte::
.not_player_2
.loop2
- ldh a, [hFFCC]
+ ldh a, [hSerialReceivedNewData]
and a
jr nz, .reset_ffcc
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
cp 1
jr nz, .not_player_1_or_wLinkTimeoutFrames_zero
call CheckwLinkTimeoutFramesNonzero
@@ -165,10 +165,10 @@ Serial_ExchangeByte::
dec a
ld [wce5d + 1], a
jr nz, .loop2
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
cp 1
jr z, .reset_ffcc
-
+
ld a, 255
.delay_255_cycles
dec a
@@ -176,7 +176,7 @@ Serial_ExchangeByte::
.reset_ffcc
xor a
- ldh [hFFCC], a
+ ldh [hSerialReceivedNewData], a
ldh a, [rIE]
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
sub 1 << SERIAL
@@ -246,7 +246,7 @@ Serial_ExchangeLinkMenuSelection::
ld de, wOtherPlayerLinkMode
ld c, 2
ld a, TRUE
- ldh [hFFCE], a
+ ldh [hSerialIgnoringInitialData], a
.asm_7f8
call DelayFrame
ld a, [hl]
@@ -254,10 +254,10 @@ Serial_ExchangeLinkMenuSelection::
call Serial_ExchangeByte
ld b, a
inc hl
- ldh a, [hFFCE]
+ ldh a, [hSerialIgnoringInitialData]
and a
ld a, 0
- ldh [hFFCE], a
+ ldh [hSerialIgnoringInitialData], a
jr nz, .asm_7f8
ld a, b
ld [de], a
@@ -343,7 +343,7 @@ LinkTransfer::
ld a, [wPlayerLinkAction]
add b
ldh [hSerialSend], a
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
jr nz, .player_1
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
@@ -373,7 +373,7 @@ LinkDataReceived::
; Let the other system know that the data has been received.
xor a
ldh [hSerialSend], a
- ldh a, [hLinkPlayerNumber]
+ ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
ret nz
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
diff --git a/home/video.asm b/home/video.asm
index 5b17ce44..519cd6e1 100644
--- a/home/video.asm
+++ b/home/video.asm
@@ -53,10 +53,10 @@ rept 2
endr
; We've done 2 16x8 blocks
- ldh a, [hFFDE]
+ ldh a, [hBGMapTileCount]
dec a
dec a
- ldh [hFFDE], a
+ ldh [hBGMapTileCount], a
jr nz, .next
diff --git a/hram.asm b/hram.asm
index 19caf092..e1430ff5 100755
--- a/hram.asm
+++ b/hram.asm
@@ -4,13 +4,13 @@ hTransferVirtualOAM:: ds 12 ; ff80
hROMBankBackup:: db ; ff8c
hBuffer:: db ; ff8d
-hFF8E:: db ; ff8e
+hSRAMBank:: db ; ff8e
-hRTCDayHi:: db ; ff8f
-hRTCDayLo:: db ; ff90
-hRTCHours:: db ; ff91
-hRTCMinutes:: db ; ff92
-hRTCSeconds:: db ; ff93
+hRTCDayHi:: db ; ff8f
+hRTCDayLo:: db ; ff90
+hRTCHours:: db ; ff91
+hRTCMinutes:: db ; ff92
+hRTCSeconds:: db ; ff93
ds 2
hHours:: db ; ff96
@@ -19,7 +19,8 @@ hMinutes:: db ; ff98
ds 1
hSeconds:: db ; ff9a
ds 1
- ds 1
+
+ ds 1
hVBlankCounter:: db ; ff9d
ds 1
@@ -27,19 +28,20 @@ hVBlankCounter:: db ; ff9d
hROMBank:: db ; ff9f
hVBlank :: db ; ffa0
hMapEntryMethod:: db ; ffa1
-hMenuReturn:: db ; ffa2
+hMenuReturn:: db ; ffa2
ds 1
-hJoypadReleased:: db ; ffa4
-hJoypadPressed:: db ; ffa5
-hJoypadDown:: db ; ffa6
-hJoypadSum:: db ; ffa7
-hJoyReleased:: db ; ffa8
-hJoyPressed:: db ; ffa9
-hJoyDown:: db ; ffaa
-hJoyLast:: db ; ffab
+hJoypadReleased:: db ; ffa4
+hJoypadPressed:: db ; ffa5
+hJoypadDown:: db ; ffa6
+hJoypadSum:: db ; ffa7
+hJoyReleased:: db ; ffa8
+hJoyPressed:: db ; ffa9
+hJoyDown:: db ; ffaa
+hJoyLast:: db ; ffab
+
+hInMenu:: db ; ffac
-hInMenu:: db ; ffac
ds 1
hPrinter:: db ; ffae
@@ -47,105 +49,94 @@ hGraphicStartTile:: db ; ffaf
hMoveMon:: db ; ffb0
UNION ; ffb1
-hMapObjectIndexBuffer:: db ; ffb1
-hObjectStructIndexBuffer:: db ; ffb2
+hMapObjectIndexBuffer:: db ; ffb1
+hObjectStructIndexBuffer:: db ; ffb2
NEXTU ; ffb1
-hConnectionStripLength:: db ; ffb1
-hConnectedMapWidth:: db ; ffb2
-ENDU ;ffb3
+hConnectionStripLength:: db ; ffb1
+hConnectedMapWidth:: db ; ffb2
+ENDU ; ffb3
hEnemyMonSpeed:: dw ; ffb3
UNION ; ffb5
- ds 2
-hPartyMon1Speed:: dw ; ffb7
-
-NEXTU ; ffb5
+; math-related values
UNION ; ffb5
-hDividend:: ds 4 ; ffb5 ; length in b register, before 'call Divide' (max 4 bytes)
-hDivisor:: db ; ffb9 ; 1 byte long
-NEXTU ; ffb5
+; inputs to Multiply
ds 1
-hQuotient:: ds 3 ; ffb6 ; result (3 bytes long)
-hRemainder:: db ; ffb9
+hMultiplicand:: ds 3 ; ffb6
+hMultiplier:: db ; ffb9
NEXTU ; ffb5
- ds 1
-hMultiplicand:: ds 3 ; ffb6 ; 3 bytes long
-hMultiplier:: db ; ffb9 ; 1 byte long
+; result of Multiply
+hProduct:: ds 4 ; ffb5
+NEXTU
+; inputs to Divide
+hDividend:: ds 4 ; ffb5
+hDivisor:: db ; ffb9
NEXTU ; ffb5
-hProduct:: ds 4 ; ffb5 ; result (4 bytes long)
-ENDU ; ffba
+; results of Divide
+hQuotient:: ds 4 ; ffb5
+hRemainder:: db ; ffb9
+ENDU
hMathBuffer:: ds 5 ; ffba
NEXTU ; ffb5
-
-hPrintNum1:: db ; ffb5
-hPrintNum2:: db ; ffb6
-hPrintNum3:: db ; ffb7
-hPrintNum4:: db ; ffb8
-hPrintNum5:: db ; ffb9
-hPrintNum6:: db ; ffba
-hPrintNum7:: db ; ffbb
-hPrintNum8:: db ; ffbc
-hPrintNum9:: db ; ffbd
-hPrintNum10:: db ; ffbe
+; PrintNum scratch space
+hPrintNumBuffer:: ds 10 ; ffb5
NEXTU ; ffb5
-
- ds 9
+; miscellaneous
+ ds 9
hMGStatusFlags:: db ; ffbe
ENDU ; ffbf
-hUsedSpriteIndex:: db ; ffbf
-hUsedSpriteTile:: db ; ffc0
-hFFC1:: db ; ffc1
-hFFC2:: db ; ffc2
-hFFC3:: db ; ffc3
-hFFC4:: db ; ffc4
+hUsedSpriteIndex:: db ; ffbf
+hUsedSpriteTile:: db ; ffc0
+hFFC1:: db ; ffc1
+hFFC2:: db ; ffc2
+hFFC3:: db ; ffc3
+hFFC4:: db ; ffc4
UNION ; ffc5
hMoneyTemp:: ds 3 ; ffc5
NEXTU ; ffc5
-hMGJoypadPressed:: db ; ffc5
-hMGJoypadReleased:: db ; ffc6
+hMGJoypadPressed:: db ; ffc5
+hMGJoypadReleased:: db ; ffc6
ENDU ; ffc8
hLCDCPointer:: db ; ffc8
hLYOverrideStart:: db ; ffc9
hLYOverrideEnd:: db ; ffca
-hMobileReceive:: db ; ffcb
-hFFCC:: db ; ffcc
-hLinkPlayerNumber:: db ; ffcd
-hFFCE:: db ; ffce
-hSerialSend:: db ; ffcf
-hSerialReceive:: db ; ffd0
-
-hSCX:: db ; ffd1
-hSCY:: db ; ffd2
-hWX:: db ; ffd3
-hWY:: db ; ffd4
-hTilesPerCycle:: db ; ffd5
-hBGMapMode:: db ; ffd6
-hBGMapThird:: db ; ffd7
-hBGMapAddress:: db ; ffd8
+hMobileReceive:: db ; ffcb
+hSerialReceivedNewData:: db ; ffcc
+hSerialConnectionStatus:: db ; ffcd
+hSerialIgnoringInitialData:: db ; ffce
+hSerialSend:: db ; ffcf
+hSerialReceive:: db ; ffd0
- ds 1
+hSCX:: db ; ffd1
+hSCY:: db ; ffd2
+hWX:: db ; ffd3
+hWY:: db ; ffd4
+hTilesPerCycle:: db ; ffd5
+hBGMapMode:: db ; ffd6
+hBGMapThird:: db ; ffd7
+hBGMapAddress:: dw ; ffd8
-hOAMUpdate :: db ; ffda
+hOAMUpdate:: db ; ffda
-hSPBuffer:: dw ; ffdb
+hSPBuffer:: dw ; ffdb
-hBGMapUpdate:: db ; ffdd
-hFFDE:: db ; ffde
+hBGMapUpdate:: db ; ffdd
+hBGMapTileCount:: db ; ffde
ds 1
-hMapAnims:: db ; ffe0
-hTileAnimFrame:: db ; ffe1
+hMapAnims:: db ; ffe0
+hTileAnimFrame:: db ; ffe1
hLastTalked:: db ; ffe2
@@ -156,14 +147,14 @@ hRandomSub:: db ; ffe4
hSecondsBackup:: db ; ffe5
hBattleTurn:: ; ffe6
-;Which trainers turn is it? 0: Player, 1: Opponent Trainer
- db
-
+; Which trainer's turn is it? 0: player, 1: opponent trainer
+ db
+
hCGBPalUpdate:: db ; ffe7
hCGB:: db ; ffe8
hSGB:: db ; ffe9
hDMATransfer:: db ; ffea
hMobile:: db ; ffeb
-hFFEC:: db ; ffec
+hSystemBooted:: db ; ffec
hClockResetTrigger:: db ; ffed