diff options
Diffstat (limited to 'sram.asm')
-rw-r--r-- | sram.asm | 239 |
1 files changed, 124 insertions, 115 deletions
@@ -1,9 +1,11 @@ SRAM_Begin EQU $a000 SRAM_End EQU $c000 + GLOBAL SRAM_Begin, SRAM_End SECTION "Scratch", SRAM + sScratch:: @@ -11,12 +13,12 @@ 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 +sPartyMon1Mail:: mailmsg sPartyMon1Mail +sPartyMon2Mail:: mailmsg sPartyMon2Mail +sPartyMon3Mail:: mailmsg sPartyMon3Mail +sPartyMon4Mail:: mailmsg sPartyMon4Mail +sPartyMon5Mail:: mailmsg sPartyMon5Mail +sPartyMon6Mail:: mailmsg sPartyMon6Mail ; a71a sPartyMailBackup:: @@ -28,45 +30,45 @@ sPartyMon5MailBackup:: mailmsg sPartyMon5MailBackup sPartyMon6MailBackup:: mailmsg sPartyMon6MailBackup ; a834 -sMailboxCount:: ds 1 +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 +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:: ds 1 +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 +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:: ds 1 -sMysteryGiftUnlocked:: ds 1 -sBackupMysteryGiftItem:: ds 1 -sNumDailyMysteryGiftPartnerIDs:: ds 1 +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:: ds 1 -sMysteryGiftTimerStartDay:: ds 1 +sMysteryGiftTimer:: db +sMysteryGiftTimerStartDay:: db ds 1 -sMysteryGiftTrainerHouseFlag:: ds 1 +sMysteryGiftTrainerHouseFlag:: db sMysteryGiftPartnerName:: ds NAME_LENGTH s0_ac09:: ds 1 sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 ; ac0a @@ -75,13 +77,15 @@ sBackupMysteryGiftItemEnd:: ds $30 sRTCStatusFlags:: ds 8 -sLuckyNumberDay:: ds 1 -sLuckyIDNumber:: ds 2 +sLuckyNumberDay:: db +sLuckyIDNumber:: dw + SECTION "Backup Save", SRAM + sBackupOptions:: ds OptionsEnd - Options -s0_b208:: ds 1 ; loaded with 99, used to check save corruption +sBackupCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption sBackupGameData:: ; b209 sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData @@ -93,16 +97,18 @@ sBackupGameDataEnd:: ds $18a ; bf0d -sBackupChecksum:: ds 2 -s0_bf0f:: ds 1 ; loaded with 0x7f, used to check save corruption -sStackTop:: ds 2 +sBackupChecksum:: dw + +sBackupCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption + +sStackTop:: dw SECTION "Save", SRAM sOptions:: ds OptionsEnd - Options -s1_a008:: ds 1 ; loaded with 99, used to check save corruption +sCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruption sGameData:: ; a009 sPlayerData:: ds wPlayerDataEnd - wPlayerData @@ -114,22 +120,28 @@ sGameDataEnd:: ds $18a ; ad0d -sChecksum:: ds 2 -s1_ad0f:: ds 1 ; loaded with 0x7f, used to check save corruption +sChecksum:: dw + +sCheckValue2:: db ; loaded with SAVE_CHECK_VALUE_2, used to check save corruption + SECTION "Active Box", SRAM + ; ad10 box sBox ; b160 ds $f4 + + SECTION "Link Battle Data", SRAM + sLinkBattleResults:: ds $c -sLinkBattleStats:: ; b260 -sLinkBattleWins:: ds 2 -sLinkBattleLosses:: ds 2 ; b262 -sLinkBattleDraws:: ds 2 ; b264 +sLinkBattleStats:: +sLinkBattleWins:: dw ; b260 +sLinkBattleLosses:: dw ; b262 +sLinkBattleDraws:: dw ; b264 sLinkBattleRecord:: sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1 @@ -139,88 +151,80 @@ sLinkBattleRecord4:: link_battle_record sLinkBattleRecord4 sLinkBattleRecord5:: link_battle_record sLinkBattleRecord5 sLinkBattleStatsEnd:: + SECTION "SRAM Hall of Fame", SRAM + sHallOfFame:: ; b2c0 -; temporary until I can find a way to macrofy it - hall_of_fame sHallOfFame01 - hall_of_fame sHallOfFame02 - hall_of_fame sHallOfFame03 - hall_of_fame sHallOfFame04 - hall_of_fame sHallOfFame05 - hall_of_fame sHallOfFame06 - hall_of_fame sHallOfFame07 - hall_of_fame sHallOfFame08 - hall_of_fame sHallOfFame09 - hall_of_fame sHallOfFame10 - hall_of_fame sHallOfFame11 - hall_of_fame sHallOfFame12 - hall_of_fame sHallOfFame13 - hall_of_fame sHallOfFame14 - hall_of_fame sHallOfFame15 - hall_of_fame sHallOfFame16 - hall_of_fame sHallOfFame17 - hall_of_fame sHallOfFame18 - hall_of_fame sHallOfFame19 - hall_of_fame sHallOfFame20 - hall_of_fame sHallOfFame21 - hall_of_fame sHallOfFame22 - hall_of_fame sHallOfFame23 - hall_of_fame sHallOfFame24 - hall_of_fame sHallOfFame25 - hall_of_fame sHallOfFame26 - hall_of_fame sHallOfFame27 - hall_of_fame sHallOfFame28 - hall_of_fame sHallOfFame29 - hall_of_fame sHallOfFame30 - -; x = 1 -; rept NUM_HOF_TEAMS -; ; PRINTT("{x}\n") -; if STRLEN({x}) == 2 - ; PRINTT(STRSUB({x},2,1)) - ; hall_of_fame STRCAT("sHallOfFame0", STRSUB({x},2,1)) -; else - ; PRINTT(STRSUB({x},2,2)) - ; hall_of_fame STRCAT("sHallOfFame", STRSUB({x},2,2)) -; endc -; x = x + 1 -; endr +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:: ds 1 ; be3c -sCrystalData:: - ds wCrystalDataEnd - wCrystalData -sMobileEventIndexBackup:: ds 1 +sMobileEventIndex:: db ; be3c + +sCrystalData:: ds wCrystalDataEnd - wCrystalData +sMobileEventIndexBackup:: db + SECTION "SRAM Battle Tower", SRAM -; data of the BattleTower must be in SRAM because you can save and leave between battles -sBattleTowerChallengeState:: ds 1 + +; 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:: ds 1 -sBTChoiceOfLevelGroup:: ds 1 -; The 7 trainers of the BattleTower are saved here, so nobody appears more than once -sBTTrainers:: ; sbe48 - ds 7 -s1_be4f:: ds 1 -sBattleTowerReward:: ds 1 -; Pkmn of previous trainer +sNrOfBeatenBattleTowerTrainers:: db +sBTChoiceOfLevelGroup:: db +; Battle Tower trainers are saved here, so nobody appears more than once +sBTTrainers:: ds BATTLETOWER_NROFTRAINERS ; sbe48 +sBattleTowerSaveFileFlags:: db +sBattleTowerReward:: db + +; team of previous trainer sBTPkmnOfTrainers:: ; 0xbe51 -sBTPkmnPrevTrainer1:: - ds 1 -sBTPkmnPrevTrainer2:: ds 1 -sBTPkmnPrevTrainer3:: ds 1 -; Pkmn of preprevious trainer -sBTPkmnPrevPrevTrainer1:: ds 1 -sBTPkmnPrevPrevTrainer2:: ds 1 -sBTPkmnPrevPrevTrainer3:: ds 1 +sBTPkmnPrevTrainer1:: db +sBTPkmnPrevTrainer2:: db +sBTPkmnPrevTrainer3:: db +; team of preprevious trainer +sBTPkmnPrevPrevTrainer1:: db +sBTPkmnPrevPrevTrainer2:: db +sBTPkmnPrevPrevTrainer3:: db SECTION "Boxes 1-7", SRAM, BANK [2] + box sBox1 box sBox2 box sBox3 @@ -229,7 +233,9 @@ SECTION "Boxes 1-7", SRAM, BANK [2] box sBox6 box sBox7 + SECTION "Boxes 8-14", SRAM + box sBox8 box sBox9 box sBox10 @@ -239,7 +245,8 @@ SECTION "Boxes 8-14", SRAM box sBox14 SECTION "SRAM Mobile", SRAM, BANK [5] -ds 1 ; Former location for sMobileEventIndex, moved to 1:BE3C in English + + ds 1 ; former location for sMobileEventIndex, moved to 1:BE3C in English sTrainerRankings:: ; a001 sTrainerRankingGameTimeHOF:: ds 4 sTrainerRankingStepCountHOF:: ds 4 @@ -285,9 +292,11 @@ 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 ds $945 ; aa4b + sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH |