pokecrystal/sram.asm

246 lines
6.2 KiB
NASM
Raw Normal View History

2015-11-04 00:43:47 +00:00
SRAM_Begin EQU $a000
SRAM_End EQU $c000
GLOBAL SRAM_Begin, SRAM_End
SECTION "Scratch", SRAM, BANK [0]
2015-10-04 18:14:51 +00:00
sScratch::
SECTION "SRAM Bank 0", SRAM [$a600], BANK [0]
2015-11-18 04:29:14 +00:00
; a600
2015-11-17 22:56:49 +00:00
sPartyMail::
2015-11-18 04:29:14 +00:00
sPartyMon1Mail:: mailmsg sPartyMon1Mail
sPartyMon2Mail:: mailmsg sPartyMon2Mail
sPartyMon3Mail:: mailmsg sPartyMon3Mail
sPartyMon4Mail:: mailmsg sPartyMon4Mail
sPartyMon5Mail:: mailmsg sPartyMon5Mail
sPartyMon6Mail:: mailmsg sPartyMon6Mail
; a71a
2015-11-17 22:56:49 +00:00
sPartyMailBackup::
sPartyMon1MailBackup:: mailmsg sPartyMon1MailBackup
sPartyMon2MailBackup:: mailmsg sPartyMon2MailBackup
sPartyMon3MailBackup:: mailmsg sPartyMon3MailBackup
sPartyMon4MailBackup:: mailmsg sPartyMon4MailBackup
sPartyMon5MailBackup:: mailmsg sPartyMon5MailBackup
sPartyMon6MailBackup:: mailmsg sPartyMon6MailBackup
2015-11-18 04:29:14 +00:00
; a834
2015-11-17 22:56:49 +00:00
sMailboxCount:: ds 1
sMailbox::
2015-11-18 04:29:14 +00:00
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
2015-11-17 22:56:49 +00:00
sMailboxCountBackup:: ds 1
sMailboxBackup::
2015-11-18 04:29:14 +00:00
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
2015-10-04 18:14:51 +00:00
sMysteryGiftItem:: ds 1
2015-11-20 16:47:52 +00:00
sMysteryGiftUnlocked:: ds 1
2015-11-18 04:29:14 +00:00
sBackupMysteryGiftItem:: ds 1
2015-11-23 05:21:21 +00:00
sNumDailyMysteryGiftPartnerIDs:: ds 1
sDailyMysteryGiftPartnerIDs:: ds 5 * 2 ; maximum 5 per day, 2 bytes per ID
2015-11-20 16:47:52 +00:00
sMysteryGiftDecorationsReceived:: flag_array NUM_NON_TROPHY_DECOS
ds 4
2015-10-24 14:34:19 +00:00
sMysteryGiftTimer:: ds 1
sMysteryGiftTimerStartDay:: ds 1
2015-10-04 18:14:51 +00:00
ds 1
sMysteryGiftTrainerHouseFlag:: ds 1
2015-11-23 05:21:21 +00:00
sMysteryGiftPartnerName:: ds NAME_LENGTH
s0_ac09:: ds 1
2016-03-02 03:31:21 +00:00
sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 ; ac0a
2015-11-18 04:29:14 +00:00
sBackupMysteryGiftItemEnd::
2015-10-04 18:14:51 +00:00
ds $30
2015-11-20 16:47:52 +00:00
sRTCStatusFlags:: ds 8
sLuckyNumberDay:: ds 1
sLuckyIDNumber:: ds 2
2015-10-04 18:14:51 +00:00
2015-11-20 16:47:52 +00:00
SECTION "Backup Save", SRAM [$b200], BANK [0]
2015-10-04 18:14:51 +00:00
sBackupOptions:: ds OptionsEnd - Options
2016-03-27 16:47:28 +00:00
s0_b208:: ds 1 ; loaded with 99, used to check save corruption
2015-10-04 18:14:51 +00:00
sBackupGameData:: ; b209
2015-10-04 18:14:51 +00:00
sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData
sBackupMapData:: ds wMapDataEnd - wMapData
sBackupPokemonData:: ds wPokemonDataEnd - wPokemonData
sBackupGameDataEnd::
; bd83
ds $18a
; bf0d
sBackupChecksum:: ds 2
2016-03-27 16:47:28 +00:00
s0_bf0f:: ds 1 ; loaded with 0x7f, used to check save corruption
2015-10-04 18:14:51 +00:00
sStackTop:: ds 2
SECTION "Save", SRAM, BANK [1]
2015-10-04 18:14:51 +00:00
sOptions:: ds OptionsEnd - Options
2015-11-16 16:53:26 +00:00
s1_a008:: ds 1 ; loaded with 99, used to check save corruption
2015-10-04 18:14:51 +00:00
sGameData:: ; a009
2015-10-04 18:14:51 +00:00
sPlayerData:: ds wPlayerDataEnd - wPlayerData
sMapData:: ds wMapDataEnd - wMapData
sPokemonData:: ds wPokemonDataEnd - wPokemonData
sGameDataEnd::
; ab83
ds $18a
; ad0d
sChecksum:: ds 2
2015-11-16 16:53:26 +00:00
s1_ad0f:: ds 1 ; loaded with 0x7f, used to check save corruption
2015-10-04 18:14:51 +00:00
SECTION "Active Box", SRAM, BANK [1]
2015-10-04 18:14:51 +00:00
; ad10
box sBox
; b160
ds $f4
SECTION "Link Battle Data", SRAM, BANK [1]
2016-01-13 05:39:41 +00:00
sLinkBattleResults:: ds $c
2015-10-04 18:14:51 +00:00
sLinkBattleStats:: ; b260
sLinkBattleWins:: ds 2
sLinkBattleLosses:: ds 2 ; b262
sLinkBattleDraws:: ds 2 ; b264
2016-01-13 05:39:41 +00:00
link_battle_record: MACRO
\1Name:: ds NAME_LENGTH +- 1
\1ID:: ds 2
\1Wins:: ds 2
\1Losses:: ds 2
\1Draws:: ds 2
endm
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
2015-10-04 18:14:51 +00:00
sLinkBattleStatsEnd::
SECTION "SRAM Hall of Fame", SRAM, BANK [1]
2015-10-04 18:14:51 +00:00
sHallOfFame:: ; b2c0
2015-12-05 13:08:01 +00:00
; 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
2015-10-04 18:14:51 +00:00
sHallOfFameEnd::
SECTION "SRAM Crystal Data", SRAM, BANK [1]
2016-01-27 17:25:12 +00:00
sMobileEventIndex:: ds 1 ; be3c
2015-10-04 18:14:51 +00:00
sCrystalData::
ds wCrystalDataEnd - wCrystalData
2015-11-05 19:06:03 +00:00
sMobileEventIndexBackup:: ds 1
SECTION "SRAM Battle Tower", SRAM, BANK [1]
; data of the BattleTower must be in SRAM because you can save and leave between battles
sBattleTowerChallengeState:: ds 1
2015-11-18 04:29:14 +00:00
; 0: normal
; 2: battle tower
2015-10-04 18:14:51 +00:00
sBattleTower:: ; be46
sNrOfBeatenBattleTowerTrainers:: ds 1
2015-11-27 02:05:32 +00:00
sBTChoiceOfLevelGroup:: ds 1
2015-10-04 18:14:51 +00:00
; The 7 trainers of the BattleTower are saved here, so nobody appears more than once
sBTTrainers:: ; sbe48
ds 7
2016-03-27 16:47:28 +00:00
s1_be4f:: ds 1
sBattleTowerReward:: ds 1
2015-10-04 18:14:51 +00:00
; Pkmn 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
SECTION "Boxes 1-7", SRAM, BANK [2]
2015-10-04 18:14:51 +00:00
box sBox1
box sBox2
box sBox3
box sBox4
box sBox5
box sBox6
box sBox7
SECTION "Boxes 8-14", SRAM, BANK [3]
2015-10-04 18:14:51 +00:00
box sBox8
box sBox9
box sBox10
box sBox11
box sBox12
box sBox13
box sBox14