mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
86061d37d2
Labelled WRAM addresses, added constants for mobile commands, fixed some mobile lib function names, documented most of the functions for specific commands.
413 lines
9.1 KiB
NASM
413 lines
9.1 KiB
NASM
SECTION "Scratch", SRAM
|
|
|
|
sScratch:: ds $600 ; a000
|
|
|
|
|
|
SECTION "SRAM Bank 0", SRAM
|
|
|
|
; a600
|
|
sPartyMail::
|
|
sPartyMon1Mail:: mailmsg sPartyMon1Mail
|
|
sPartyMon2Mail:: mailmsg sPartyMon2Mail
|
|
sPartyMon3Mail:: mailmsg sPartyMon3Mail
|
|
sPartyMon4Mail:: mailmsg sPartyMon4Mail
|
|
sPartyMon5Mail:: mailmsg sPartyMon5Mail
|
|
sPartyMon6Mail:: mailmsg sPartyMon6Mail
|
|
|
|
; a71a
|
|
sPartyMailBackup::
|
|
sPartyMon1MailBackup:: mailmsg sPartyMon1MailBackup
|
|
sPartyMon2MailBackup:: mailmsg sPartyMon2MailBackup
|
|
sPartyMon3MailBackup:: mailmsg sPartyMon3MailBackup
|
|
sPartyMon4MailBackup:: mailmsg sPartyMon4MailBackup
|
|
sPartyMon5MailBackup:: mailmsg sPartyMon5MailBackup
|
|
sPartyMon6MailBackup:: mailmsg sPartyMon6MailBackup
|
|
|
|
; a834
|
|
sMailboxCount:: db
|
|
sMailbox::
|
|
sMailbox1:: mailmsg sMailbox1
|
|
sMailbox2:: mailmsg sMailbox2
|
|
sMailbox3:: mailmsg sMailbox3
|
|
sMailbox4:: mailmsg sMailbox4
|
|
sMailbox5:: mailmsg sMailbox5
|
|
sMailbox6:: mailmsg sMailbox6
|
|
sMailbox7:: mailmsg sMailbox7
|
|
sMailbox8:: mailmsg sMailbox8
|
|
sMailbox9:: mailmsg sMailbox9
|
|
sMailbox10:: mailmsg sMailbox10
|
|
|
|
; aa0b
|
|
sMailboxCountBackup:: db
|
|
sMailboxBackup::
|
|
sMailbox1Backup:: mailmsg sMailbox1Backup
|
|
sMailbox2Backup:: mailmsg sMailbox2Backup
|
|
sMailbox3Backup:: mailmsg sMailbox3Backup
|
|
sMailbox4Backup:: mailmsg sMailbox4Backup
|
|
sMailbox5Backup:: mailmsg sMailbox5Backup
|
|
sMailbox6Backup:: mailmsg sMailbox6Backup
|
|
sMailbox7Backup:: mailmsg sMailbox7Backup
|
|
sMailbox8Backup:: mailmsg sMailbox8Backup
|
|
sMailbox9Backup:: mailmsg sMailbox9Backup
|
|
sMailbox10Backup:: mailmsg sMailbox10Backup
|
|
|
|
; abe2
|
|
sMysteryGiftItem:: db
|
|
sMysteryGiftUnlocked:: db
|
|
sBackupMysteryGiftItem:: db
|
|
sNumDailyMysteryGiftPartnerIDs:: db
|
|
sDailyMysteryGiftPartnerIDs:: ds 5 * 2 ; maximum 5 per day, 2 bytes per ID
|
|
sMysteryGiftDecorationsReceived:: flag_array NUM_NON_TROPHY_DECOS
|
|
ds 4
|
|
sMysteryGiftTimer:: db
|
|
sMysteryGiftTimerStartDay:: db
|
|
ds 1
|
|
sMysteryGiftTrainerHouseFlag:: db
|
|
sMysteryGiftPartnerName:: ds NAME_LENGTH
|
|
s0_ac09:: ds 1
|
|
sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 ; ac0a
|
|
sBackupMysteryGiftItemEnd::
|
|
|
|
ds $30
|
|
|
|
sRTCStatusFlags:: ds 8
|
|
sLuckyNumberDay:: db
|
|
sLuckyIDNumber:: dw
|
|
|
|
|
|
SECTION "Backup Save", SRAM
|
|
|
|
sBackupOptions:: ds wOptionsEnd - wOptions
|
|
|
|
sBackupCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption
|
|
|
|
sBackupGameData:: ; b209
|
|
sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData
|
|
sBackupCurMapData:: ds wCurMapDataEnd - wCurMapData
|
|
sBackupPokemonData:: ds wPokemonDataEnd - wPokemonData
|
|
sBackupGameDataEnd::
|
|
|
|
; bd83
|
|
ds $18a
|
|
; bf0d
|
|
|
|
sBackupChecksum:: dw
|
|
|
|
sBackupCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption
|
|
|
|
sStackTop:: dw
|
|
|
|
|
|
SECTION "Save", SRAM
|
|
|
|
sOptions:: ds wOptionsEnd - wOptions
|
|
|
|
sCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption
|
|
|
|
sGameData:: ; a009
|
|
sPlayerData:: ds wPlayerDataEnd - wPlayerData
|
|
sCurMapData:: ds wCurMapDataEnd - wCurMapData
|
|
sPokemonData:: ds wPokemonDataEnd - wPokemonData
|
|
sGameDataEnd::
|
|
|
|
; ab83
|
|
ds $18a
|
|
; ad0d
|
|
|
|
sChecksum:: dw
|
|
|
|
sCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption
|
|
|
|
|
|
SECTION "Active Box", SRAM
|
|
|
|
; ad10
|
|
sBox:: box sBox
|
|
; b160
|
|
|
|
ds $f4
|
|
|
|
|
|
SECTION "Link Battle Data", SRAM
|
|
|
|
sLinkBattleResults:: ds $c
|
|
|
|
sLinkBattleStats::
|
|
sLinkBattleWins:: dw ; b260
|
|
sLinkBattleLosses:: dw ; b262
|
|
sLinkBattleDraws:: dw ; b264
|
|
|
|
sLinkBattleRecord::
|
|
sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1
|
|
sLinkBattleRecord2:: link_battle_record sLinkBattleRecord2
|
|
sLinkBattleRecord3:: link_battle_record sLinkBattleRecord3
|
|
sLinkBattleRecord4:: link_battle_record sLinkBattleRecord4
|
|
sLinkBattleRecord5:: link_battle_record sLinkBattleRecord5
|
|
sLinkBattleStatsEnd::
|
|
|
|
|
|
SECTION "SRAM Hall of Fame", SRAM
|
|
|
|
sHallOfFame:: ; b2c0
|
|
sHallOfFame01:: hall_of_fame sHallOfFame01
|
|
sHallOfFame02:: hall_of_fame sHallOfFame02
|
|
sHallOfFame03:: hall_of_fame sHallOfFame03
|
|
sHallOfFame04:: hall_of_fame sHallOfFame04
|
|
sHallOfFame05:: hall_of_fame sHallOfFame05
|
|
sHallOfFame06:: hall_of_fame sHallOfFame06
|
|
sHallOfFame07:: hall_of_fame sHallOfFame07
|
|
sHallOfFame08:: hall_of_fame sHallOfFame08
|
|
sHallOfFame09:: hall_of_fame sHallOfFame09
|
|
sHallOfFame10:: hall_of_fame sHallOfFame10
|
|
sHallOfFame11:: hall_of_fame sHallOfFame11
|
|
sHallOfFame12:: hall_of_fame sHallOfFame12
|
|
sHallOfFame13:: hall_of_fame sHallOfFame13
|
|
sHallOfFame14:: hall_of_fame sHallOfFame14
|
|
sHallOfFame15:: hall_of_fame sHallOfFame15
|
|
sHallOfFame16:: hall_of_fame sHallOfFame16
|
|
sHallOfFame17:: hall_of_fame sHallOfFame17
|
|
sHallOfFame18:: hall_of_fame sHallOfFame18
|
|
sHallOfFame19:: hall_of_fame sHallOfFame19
|
|
sHallOfFame20:: hall_of_fame sHallOfFame20
|
|
sHallOfFame21:: hall_of_fame sHallOfFame21
|
|
sHallOfFame22:: hall_of_fame sHallOfFame22
|
|
sHallOfFame23:: hall_of_fame sHallOfFame23
|
|
sHallOfFame24:: hall_of_fame sHallOfFame24
|
|
sHallOfFame25:: hall_of_fame sHallOfFame25
|
|
sHallOfFame26:: hall_of_fame sHallOfFame26
|
|
sHallOfFame27:: hall_of_fame sHallOfFame27
|
|
sHallOfFame28:: hall_of_fame sHallOfFame28
|
|
sHallOfFame29:: hall_of_fame sHallOfFame29
|
|
sHallOfFame30:: hall_of_fame sHallOfFame30
|
|
sHallOfFameEnd::
|
|
|
|
|
|
SECTION "SRAM Crystal Data", SRAM
|
|
|
|
sMobileEventIndex:: db ; be3c
|
|
|
|
sCrystalData:: ds wCrystalDataEnd - wCrystalData
|
|
|
|
sMobileEventIndexBackup:: db ; be44
|
|
|
|
|
|
SECTION "SRAM Battle Tower", SRAM
|
|
|
|
; Battle Tower data must be in SRAM because you can save and leave between battles
|
|
sBattleTowerChallengeState::
|
|
; 0: normal
|
|
; 2: battle tower
|
|
db
|
|
|
|
sBattleTower:: ; be46
|
|
sNrOfBeatenBattleTowerTrainers:: db
|
|
sBTChoiceOfLevelGroup:: db
|
|
; Battle Tower trainers are saved here, so nobody appears more than once
|
|
sBTTrainers:: ds BATTLETOWER_STREAK_LENGTH ; sbe48
|
|
sBattleTowerSaveFileFlags:: db
|
|
sBattleTowerReward:: db
|
|
|
|
; team of previous trainer
|
|
sBTMonOfTrainers:: ; be51
|
|
sBTMonPrevTrainer1:: db
|
|
sBTMonPrevTrainer2:: db
|
|
sBTMonPrevTrainer3:: db
|
|
; team of preprevious trainer
|
|
sBTMonPrevPrevTrainer1:: db
|
|
sBTMonPrevPrevTrainer2:: db
|
|
sBTMonPrevPrevTrainer3:: db
|
|
|
|
|
|
SECTION "Boxes 1-7", SRAM, BANK [2]
|
|
|
|
sBox1:: box sBox1
|
|
sBox2:: box sBox2
|
|
sBox3:: box sBox3
|
|
sBox4:: box sBox4
|
|
sBox5:: box sBox5
|
|
sBox6:: box sBox6
|
|
sBox7:: box sBox7
|
|
|
|
|
|
SECTION "Boxes 8-14", SRAM
|
|
|
|
sBox8:: box sBox8
|
|
sBox9:: box sBox9
|
|
sBox10:: box sBox10
|
|
sBox11:: box sBox11
|
|
sBox12:: box sBox12
|
|
sBox13:: box sBox13
|
|
sBox14:: box sBox14
|
|
|
|
|
|
SECTION "SRAM Mobile 1", SRAM
|
|
|
|
ds $7
|
|
|
|
s4_a007:: ; struct size $30 ; a007
|
|
|
|
ds $c
|
|
|
|
s4_a013:: ds 36 ; a013
|
|
|
|
ds $5d5
|
|
|
|
s4_a60c:: db ; a60c
|
|
|
|
ds $1
|
|
|
|
s4_a60e:: dw ; a60e
|
|
|
|
ds $1f0
|
|
|
|
sMobileBattleTimer:: ds 3
|
|
|
|
|
|
SECTION "SRAM Mobile 2", SRAM
|
|
|
|
ds 1 ; former location for sMobileEventIndex, moved to 1:BE3C in English
|
|
|
|
sTrainerRankings:: ; a001
|
|
sTrainerRankingGameTimeHOF:: ds 4
|
|
sTrainerRankingStepCountHOF:: ds 4
|
|
sTrainerRankingHealingsHOF:: ds 4
|
|
sTrainerRankingBattlesHOF:: ds 3
|
|
sTrainerRankingStepCount:: ds 4
|
|
sTrainerRankingBattleTowerWins:: ds 4
|
|
sTrainerRankingTMsHMsTaught:: ds 3
|
|
sTrainerRankingBattles:: ds 3
|
|
sTrainerRankingWildBattles:: ds 3
|
|
sTrainerRankingTrainerBattles:: ds 3
|
|
sTrainerRankingUnused1:: ds 3
|
|
sTrainerRankingHOFEntries:: ds 3
|
|
sTrainerRankingWildMonsCaught:: ds 3
|
|
sTrainerRankingHookedEncounters:: ds 3
|
|
sTrainerRankingEggsHatched:: ds 3
|
|
sTrainerRankingMonsEvolved:: ds 3
|
|
sTrainerRankingFruitPicked:: ds 3
|
|
sTrainerRankingHealings:: ds 3
|
|
sTrainerRankingMysteryGift:: ds 3
|
|
sTrainerRankingTrades:: ds 3
|
|
sTrainerRankingFly:: ds 3
|
|
sTrainerRankingSurf:: ds 3
|
|
sTrainerRankingWaterfall:: ds 3
|
|
sTrainerRankingWhiteOuts:: ds 3
|
|
sTrainerRankingLuckyNumberShow:: ds 3
|
|
sTrainerRankingPhoneCalls:: ds 3
|
|
sTrainerRankingUnused2:: ds 3
|
|
sTrainerRankingLinkBattles:: ds 3
|
|
sTrainerRankingSplash:: ds 3
|
|
sTrainerRankingTreeEncounters:: ds 3
|
|
sTrainerRankingUnused3:: ds 3
|
|
sTrainerRankingColosseumWins:: ds 3
|
|
sTrainerRankingColosseumLosses:: ds 3
|
|
sTrainerRankingColosseumDraws:: ds 3
|
|
sTrainerRankingSelfdestruct:: ds 3
|
|
sTrainerRankingCurrentSlotsStreak:: ds 2
|
|
sTrainerRankingLongestSlotsStreak:: ds 2
|
|
sTrainerRankingTotalSlotsPayouts:: ds 4
|
|
sTrainerRankingTotalBattlePayouts:: ds 4
|
|
sTrainerRankingLongestMagikarp:: ds 2
|
|
sTrainerRankingShortestMagikarp:: ds 2
|
|
sTrainerRankingBugContestScore:: ds 2
|
|
sTrainerRankingsChecksum:: ds 2
|
|
sTrainerRankingsEnd:: ; a083
|
|
|
|
ds 1 ; Former location for sMobileEventIndexBackup, moved to 1:BE44 in English
|
|
|
|
sTrainerRankingsBackup:: ds sTrainerRankingsEnd - sTrainerRankings ; a084
|
|
|
|
ds $6fa
|
|
|
|
s5_a800:: db ; a800
|
|
|
|
ds $24
|
|
|
|
s5_a825:: db ; a825
|
|
s5_a826:: db ; a826
|
|
|
|
ds $6d
|
|
|
|
s5_a894:: ds NAME_LENGTH_JAPANESE ; a894
|
|
|
|
ds $2
|
|
|
|
s5_a89c:: ds 22 ; a89c
|
|
s5_a8b2:: ds 150 ; a8b2
|
|
|
|
s5_a948:: ds 246 ; a948
|
|
|
|
ds $3
|
|
|
|
s5_aa41:: ds 4 ; aa41
|
|
|
|
ds $2
|
|
|
|
s5_aa47:: db ; aa47
|
|
s5_aa48:: db ; aa48
|
|
|
|
ds $1
|
|
|
|
s5_aa4a:: db ; aa4a
|
|
|
|
sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH ; aa4b
|
|
|
|
ds $1
|
|
|
|
s5_aa5d:: ds MOBILE_LOGIN_PASSWORD_LENGTH ; aa5d
|
|
|
|
ds $4
|
|
|
|
s5_aa72:: db ; aa72
|
|
s5_aa73:: ds 12 ; aa73
|
|
s5_aa7f:: ds 12 ; aa7f
|
|
|
|
s5_aa8b:: db ; aa8b
|
|
s5_aa8c:: db ; aa8c
|
|
s5_aa8d:: db ; aa8d
|
|
s5_aa8e:: ds 7 * $cc ; aa8e
|
|
|
|
ds $1
|
|
|
|
s5_b023:: ds 105 ; b023
|
|
s5_b08c:: ds 4 ; b08c
|
|
s5_b090:: db ; b090
|
|
s5_b091:: db ; b091
|
|
s5_b092:: ds 31 ; b092
|
|
|
|
ds $100
|
|
|
|
s5_b1b1:: db ; b1b1
|
|
s5_b1b2:: db ; b1b2
|
|
s5_b1b3:: db ; b1b3
|
|
s5_b1b4:: db ; b1b4
|
|
|
|
ds $1e
|
|
|
|
s5_b1d3:: ; b1d3
|
|
|
|
ds $120
|
|
|
|
s5_b2f3:: db ; b2f3
|
|
s5_b2f4:: ds 4 ; b2f4
|
|
|
|
ds $1
|
|
|
|
s5_b2f9:: db ; b2f9
|
|
s5_b2fa:: db ; b2fa
|
|
s5_b2fb:: db ; b2fb
|
|
|
|
ds $b49
|
|
|
|
s5_be45:: db ; be45
|
|
s5_be46:: db ; be46
|
|
|
|
ds $1b8
|
|
|
|
s5_bfff:: db ; bfff
|
|
|
|
|
|
SECTION "SRAM Mobile 3", SRAM
|
|
|
|
s6_a000:: ; a000
|