Clean up wram sections so that all space is accounted for.

This commit is contained in:
yenatch 2014-09-19 12:44:48 -07:00
parent d6ac5407e7
commit ca58bd215c
3 changed files with 140 additions and 79 deletions

View File

@ -250,7 +250,9 @@ HM_06 EQU $F8
HM_07 EQU $F9 HM_07 EQU $F9
HM_08 EQU $FA HM_08 EQU $FA
NUM_TMS EQU HM_01 - TM_01 - 2
NUM_TMS EQU 50
NUM_HMS EQU 7
; leftovers from red ; leftovers from red

View File

@ -1,9 +1,15 @@
PARTY_LENGTH EQU 6 PARTY_LENGTH EQU 6
MAX_ITEMS EQU 20
MAX_BALLS EQU 12
MAX_KEY_ITEMS EQU 25
MAX_PC_ITEMS EQU 50
; strings ; strings
PLAYER_NAME_LENGTH EQU 8 PLAYER_NAME_LENGTH EQU 8
PKMN_NAME_LENGTH EQU 11 PKMN_NAME_LENGTH EQU 11
MOVE_NAME_LENGTH EQU 13 MOVE_NAME_LENGTH EQU 13
ITEM_NAME_LENGTH EQU 13
NAME_LENGTH EQU 11 NAME_LENGTH EQU 11
LV_CHAR EQU $6e LV_CHAR EQU $6e

209
wram.asm
View File

@ -116,26 +116,29 @@ channel_struct: MACRO
ds 1 ; c132 ds 1 ; c132
ENDM ENDM
SECTION "tiles0",VRAM[$8000],BANK[0]
SECTION "CHR0", VRAM [$8000], BANK [0]
VTiles0:: VTiles0::
SECTION "tiles1",VRAM[$8800],BANK[0] SECTION "CHR1", VRAM [$8800], BANK [0]
VTiles1:: VTiles1::
SECTION "tiles2",VRAM[$9000],BANK[0] SECTION "CHR2", VRAM [$9000], BANK [0]
VTiles2:: VTiles2::
SECTION "bgmap0",VRAM[$9800],BANK[0] SECTION "BG0", VRAM [$9800], BANK [0]
VBGMap0:: VBGMap0::
SECTION "bgmap1",VRAM[$9C00],BANK[0] SECTION "BG1", VRAM [$9C00], BANK [0]
VBGMap1:: VBGMap1::
SECTION "WRAMBank0",WRAM0[$c000] SECTION "Stack", WRAM0
ds $ff
SECTION "stack",WRAM0[$c0ff] Stack::
Stack:: ds -$100 ; c0ff ds 1
SECTION "audio",WRAM0[$c100] SECTION "Audio", WRAM0
MusicPlaying:: ; c100 MusicPlaying:: ; c100
; nonzero if playing ; nonzero if playing
ds 1 ds 1
@ -249,6 +252,9 @@ wMapMusic:: ; c2c0
ds 1 ds 1
SECTION "WRAM", WRAM0
wLZAddress:: dw ; c2c2 wLZAddress:: dw ; c2c2
wLZBank:: db ; c2c4 wLZBank:: db ; c2c4
@ -274,8 +280,8 @@ InLinkBattle:: ; c2dc
ScriptVar:: ; c2dd ScriptVar:: ; c2dd
ds 1 ds 1
ds 28
SECTION "tiles",WRAM0[$c2fa]
TileDown:: ; c2fa TileDown:: ; c2fa
ds 1 ds 1
TileUp:: ; c2fb TileUp:: ; c2fb
@ -294,19 +300,22 @@ TilePermissions:: ; c2fe
; bit 0: right ; bit 0: right
ds 1 ds 1
SECTION "icons",WRAM0[$c3b6] ds 183
CurIcon:: ; c3b6 CurIcon:: ; c3b6
ds 1 ds 1
SECTION "gfx",WRAM0[$c400] ds 73
SECTION "Sprites", WRAM0 [$c400]
Sprites:: ; c400 Sprites:: ; c400
; 4 bytes per sprite ; 4 bytes per sprite
; 40 sprites ; 40 sprites
; struct: ; struct:
; y in pixels ; y (px)
; x in pixels ; x (px)
; tile id ; tile id
; attributes: ; attributes:
; bit 7: priority ; bit 7: priority
@ -318,12 +327,17 @@ Sprites:: ; c400
ds 4 * 40 ds 4 * 40
SpritesEnd:: SpritesEnd::
SECTION "Tilemap", WRAM0
TileMap:: ; c4a0 TileMap:: ; c4a0
; 20x18 grid of 8x8 tiles ; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT ds SCREEN_WIDTH * SCREEN_HEIGHT
TileMapEnd:: TileMapEnd::
SECTION "Battle", WRAM0
wBattle:: wBattle::
wEnemyMoveStruct:: ds MOVE_LENGTH ; c608 wEnemyMoveStruct:: ds MOVE_LENGTH ; c608
@ -333,16 +347,16 @@ EnemyMonNick:: ds PKMN_NAME_LENGTH ; c616
BattleMonNick:: ds PKMN_NAME_LENGTH ; c621 BattleMonNick:: ds PKMN_NAME_LENGTH ; c621
BattleMon:: battle_struct BattleMon ; c62c BattleMon:: battle_struct BattleMon ; c62c
ds 10 ds 10
OTName:: ; c656 OTName:: ds NAME_LENGTH ; c656
ds NAME_LENGTH
ds 2 ds 2
CurOTMon:: ; c663 CurOTMon:: ; c663
ds 1 ds 1
ds 1 ds 1
TypeModifier:: ; c665 TypeModifier:: ; c665
@ -355,11 +369,11 @@ TypeModifier:: ; c665
CriticalHit:: ; c666 CriticalHit:: ; c666
; nonzero for a critical hit ; nonzero for a critical hit
ds 1 ds 1
AttackMissed:: ; c667 AttackMissed:: ; c667
; nonzero for a miss ; nonzero for a miss
ds 1 ds 1
PlayerSubStatus1:: ; c668 PlayerSubStatus1:: ; c668
; bit ; bit
; 7 attract ; 7 attract
@ -472,7 +486,7 @@ EnemyDamageTaken:: ; c684
ds 2 ds 2
ds 3 ds 3
ds 1 ds 1
BattleScriptBuffer:: ; c68a BattleScriptBuffer:: ; c68a
@ -584,7 +598,7 @@ AlreadyFailed:: ; c6fb
ds 1 ds 1
ds 3 ds 3
PlayerScreens:: ; c6ff PlayerScreens:: ; c6ff
; bit ; bit
; 4 reflect ; 4 reflect
@ -662,21 +676,25 @@ BattleEnded:: ; c734
wBattleEnd:: wBattleEnd::
; c741 ; c741
SECTION "overworldmap",WRAM0[$c800] ds 191
SECTION "Overworld Map", WRAM0 [$c800]
OverworldMap:: ; c800 OverworldMap:: ; c800
ds 1300 ds 1300
OverworldMapEnd:: OverworldMapEnd::
ds 12 ds 12
SECTION "gfx2",WRAM0[$cd20]
SECTION "Video", WRAM0 [$cd20]
CreditsPos:: CreditsPos::
BGMapBuffer:: ; cd20 BGMapBuffer:: ; cd20
ds 2 ds 2
CreditsTimer:: ; cd22 CreditsTimer:: ; cd22
ds 1 ds 1
ds 37 ds 37
BGMapPalBuffer:: ; cd48 BGMapPalBuffer:: ; cd48
ds 40 ds 40
@ -690,7 +708,7 @@ PlayerHPPal:: ; cd99
ds 1 ds 1
EnemyHPPal:: ; cd9a EnemyHPPal:: ; cd9a
ds 1 ds 1
ds 62 ds 62
AttrMap:: ; cdd9 AttrMap:: ; cdd9
@ -702,7 +720,7 @@ AttrMap:: ; cdd9
AttrMapEnd:: AttrMapEnd::
ds 30 ds 30
MonType:: ; cf5f MonType:: ; cf5f
ds 1 ds 1
@ -730,9 +748,8 @@ Requested1bppDest:: ; cf6f
MenuSelection:: ; cf74 MenuSelection:: ; cf74
ds 1 ds 1
ds 60
SECTION "VBlank",WRAM0[$cfb1]
OverworldDelay:: ; cfb1 OverworldDelay:: ; cfb1
ds 1 ds 1
TextDelayFrames:: ; cfb2 TextDelayFrames:: ; cfb2
@ -753,7 +770,8 @@ GameTimerPause:: ; cfbc
; bit 0 ; bit 0
ds 1 ds 1
SECTION "Engine",WRAM0[$cfc2] ds 5
FXAnimID:: FXAnimID::
FXAnimIDLo:: ; cfc2 FXAnimIDLo:: ; cfc2
ds 1 ds 1
@ -776,13 +794,13 @@ Options:: ; cfcc
; bit 6: battle style shift/set ; bit 6: battle style shift/set
; bit 7: battle scene off/on ; bit 7: battle scene off/on
ds 1 ds 1
ds 1 ds 1
TextBoxFrame:: ; cfce TextBoxFrame:: ; cfce
; bits 0-2: textbox frame 0-7 ; bits 0-2: textbox frame 0-7
ds 1 ds 1
ds 1 ds 1
GBPrinter:: ; cfd0 GBPrinter:: ; cfd0
@ -799,12 +817,12 @@ Options2:: ; cfd1
ds 1 ds 1
ds 46 ds 46
SECTION "WRAMBank1",WRAMX[$d000],BANK[1]
SECTION "WRAM 1", WRAMX, BANK [1]
ds 2 ds 2
DefaultFlypoint:: ; d002 DefaultFlypoint:: ; d002
ds 1 ds 1
; d003 ; d003
@ -888,7 +906,7 @@ CurItem:: ; d106
ds 1 ds 1
ds 1 ds 1
CurPartySpecies:: ; d108 CurPartySpecies:: ; d108
ds 1 ds 1
@ -912,14 +930,14 @@ PartyMenuActionText:: ; d141
CurPartyLevel:: ; d143 CurPartyLevel:: ; d143
ds 1 ds 1
ds 16
SECTION "UsedSprites",WRAMX[$d154],BANK[1]
UsedSprites:: ; d154 UsedSprites:: ; d154
ds 32 ds 32
SECTION "map",WRAMX[$d19d],BANK[1] ds 41
; both are in blocks (2x2 walkable tiles, 4x4 graphics tiles) ; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
MapHeader:: ; d19d MapHeader:: ; d19d
MapBorderBlock:: ; d19d MapBorderBlock:: ; d19d
ds 1 ds 1
@ -1043,6 +1061,7 @@ TilesetPalettes:: ; d1e6
; bank 3f ; bank 3f
ds 2 ds 2
EvolvableFlags:: ; d1e8 EvolvableFlags:: ; d1e8
flag_array PARTY_LENGTH flag_array PARTY_LENGTH
@ -1055,7 +1074,9 @@ MovementType::
Buffer2:: ; d1eb Buffer2:: ; d1eb
ds 1 ds 1
SECTION "BattleMons2",WRAMX[$d1fa],BANK[1] ds 14
LinkBattleRNs:: ; d1fa LinkBattleRNs:: ; d1fa
ds 10 ds 10
@ -1074,7 +1095,7 @@ IsInBattle:: ; d22d
; 1: wild battle ; 1: wild battle
; 2: trainer battle ; 2: trainer battle
ds 1 ds 1
ds 1 ds 1
OtherTrainerClass:: ; d22f OtherTrainerClass:: ; d22f
@ -1163,14 +1184,15 @@ BaseTMHM:: ; d24e
CurDamage:: ; d256 CurDamage:: ; d256
ds 2 ds 2
ds 17
SECTION "TimeOfDay",WRAMX[$d269],BANK[1]
TimeOfDay:: ; d269 TimeOfDay:: ; d269
ds 1 ds 1
ds 22
SECTION "OTParty",WRAMX[$d280],BANK[1]
SECTION "Enemy Party", WRAMX, BANK [1]
OTPartyCount:: ds 1 ; d280 OTPartyCount:: ds 1 ; d280
OTPartySpecies:: ds PARTY_LENGTH ; d281 OTPartySpecies:: ds PARTY_LENGTH ; d281
@ -1220,7 +1242,8 @@ ScriptPos:: ; d43a
ScriptDelay:: ; d44d ScriptDelay:: ; d44d
ds 1 ds 1
SECTION "Player",WRAMX[$d472],BANK[1] ds 36
PlayerGender:: ; d472 PlayerGender:: ; d472
; bit 0: ; bit 0:
; 0 male ; 0 male
@ -1346,17 +1369,18 @@ ObjectStruct12:: ; d6b6
ds 40 ds 40
; d6de ; d6de
SECTION "Objects",WRAMX[$d71e],BANK[1] ds 64
MapObjects:: ; d71e MapObjects:: ; d71e
ds OBJECT_LENGTH * NUM_OBJECTS ds OBJECT_LENGTH * NUM_OBJECTS
ds 16
SECTION "VariableSprites",WRAMX[$d82e],BANK[1]
VariableSprites:: ; d82e VariableSprites:: ; d82e
ds $10 ds $10
ds 3
SECTION "Status",WRAMX[$d841],BANK[1]
TimeOfDayPal:: ; d841 TimeOfDayPal:: ; d841
ds 1 ds 1
ds 4 ds 4
@ -1365,7 +1389,7 @@ TimeOfDayPal:: ; d841
ds 1 ds 1
CurTimeOfDay:: ; d848 CurTimeOfDay:: ; d848
ds 1 ds 1
ds 3 ds 3
StatusFlags:: ; d84c StatusFlags:: ; d84c
@ -1383,42 +1407,42 @@ wMomSavingMoney:: ; d854
Coins:: ; d855 Coins:: ; d855
ds 2 ds 2
Badges:: Badges::
JohtoBadges:: ; d857 JohtoBadges:: ; d857
flag_array 8 flag_array 8
KantoBadges:: ; d858 KantoBadges:: ; d858
flag_array 8 flag_array 8
SECTION "Items",WRAMX[$d859],BANK[1]
TMsHMs:: ; d859 TMsHMs:: ; d859
ds 57 ds NUM_TMS + NUM_HMS
TMsHMsEnd:: TMsHMsEnd::
NumItems:: ; d892 NumItems:: ; d892
ds 1 ds 1
Items:: ; d893 Items:: ; d893
ds 41 ds MAX_ITEMS * 2 + 1
ItemsEnd:: ItemsEnd::
NumKeyItems:: ; d8bc NumKeyItems:: ; d8bc
ds 1 ds 1
KeyItems:: ; d8bd KeyItems:: ; d8bd
ds 26 ds MAX_KEY_ITEMS + 1
KeyItemsEnd:: KeyItemsEnd::
NumBalls:: ; d8d7 NumBalls:: ; d8d7
ds 1 ds 1
Balls:: ; d8d8 Balls:: ; d8d8
ds 25 ds MAX_BALLS * 2 + 1
BallsEnd:: BallsEnd::
PCItems:: ; d8f1 PCItems:: ; d8f1
ds 101 ds MAX_PC_ITEMS * 2 + 1
PCItemsEnd:: PCItemsEnd::
ds 5
SECTION "overworld",WRAMX[$d95b],BANK[1]
WhichRegisteredItem:: ; d95b WhichRegisteredItem:: ; d95b
ds 1 ds 1
RegisteredItem:: ; d95c RegisteredItem:: ; d95c
@ -1427,7 +1451,8 @@ RegisteredItem:: ; d95c
PlayerState:: ; d95d PlayerState:: ; d95d
ds 1 ds 1
SECTION "scriptram",WRAMX[$d962],BANK[1] ds 4
MooMooBerries:: ; d962 MooMooBerries:: ; d962
ds 1 ; how many berries fed to MooMoo ds 1 ; how many berries fed to MooMoo
UndergroundSwitchPositions:: ; d963 UndergroundSwitchPositions:: ; d963
@ -1435,7 +1460,10 @@ UndergroundSwitchPositions:: ; d963
FarfetchdPosition:: ; d964 FarfetchdPosition:: ; d964
ds 1 ; which position the ilex farfetch'd is in ds 1 ; which position the ilex farfetch'd is in
SECTION "Map Triggers", WRAMX[$d972], BANK[1] ds 13
SECTION "Map Triggers", WRAMX, BANK [1]
wPokecenter2FTrigger:: ds 1 ; d972 wPokecenter2FTrigger:: ds 1 ; d972
wTradeCenterTrigger:: ds 1 ; d973 wTradeCenterTrigger:: ds 1 ; d973
@ -1517,8 +1545,12 @@ wMountMoonSquareTrigger:: ds 1 ; d9be
wMobileTradeRoomMobileTrigger:: ds 1 ; d9bf wMobileTradeRoomMobileTrigger:: ds 1 ; d9bf
wMobileBattleRoomTrigger:: ds 1 ; d9c0 wMobileBattleRoomTrigger:: ds 1 ; d9c0
ds 49
SECTION "Events",WRAMX[$da72],BANK[1]
SECTION "Events", WRAMX, BANK [1]
ds 128
EventFlags:: ; da72 EventFlags:: ; da72
;RoomDecorations:: ; dac6 ;RoomDecorations:: ; dac6
@ -1529,7 +1561,7 @@ EventFlags:: ; da72
flag_array 2000 flag_array 2000
; db6c ; db6c
SECTION "Boxes",WRAMX[$db72],BANK[1] ds 6
wCurBox:: ; db72 wCurBox:: ; db72
ds 1 ds 1
@ -1539,13 +1571,15 @@ wCurBox:: ; db72
; 8 chars + $50 ; 8 chars + $50
wBoxNames:: ds 9 * NUM_BOXES ; db75 wBoxNames:: ds 9 * NUM_BOXES ; db75
SECTION "bike", WRAMX[$dbf5],BANK[1] ds 2
BikeFlags:: ; dbf5 BikeFlags:: ; dbf5
; bit 1: always on bike ; bit 1: always on bike
; bit 2: downhill ; bit 2: downhill
ds 1 ds 1
SECTION "decorations", WRAMX[$dc0f],BANK[1] ds 25
; Sprite id of each decoration ; Sprite id of each decoration
Bed:: ; dc0f Bed:: ; dc0f
ds 1 ds 1
@ -1564,21 +1598,24 @@ RightOrnament:: ; dc15
BigDoll:: ; dc16 BigDoll:: ; dc16
ds 1 ds 1
SECTION "fruittrees", WRAMX[$dc27],BANK[1] ds 16
FruitTreeFlags:: ; dc27 FruitTreeFlags:: ; dc27
ds 1 ds 1
SECTION "steps", WRAMX[$dc73],BANK[1] ds 75
StepCount:: ; dc73 StepCount:: ; dc73
ds 1 ds 1
PoisonStepCount:: ; dc74 PoisonStepCount:: ; dc74
ds 1 ds 1
SECTION "Visited Spawn Points", WRAMX[$dca5],BANK[1] ds 48
VisitedSpawns:: ; dca5 VisitedSpawns:: ; dca5
flag_array 27 flag_array 27
SECTION "BackupMapInfo", WRAMX[$dcad],BANK[1] ds 4
; used on maps like second floor pokécenter, which are reused, so we know which ; used on maps like second floor pokécenter, which are reused, so we know which
; map to return to ; map to return to
@ -1587,7 +1624,7 @@ BackupMapGroup:: ; dcad
BackupMapNumber:: ; dcae BackupMapNumber:: ; dcae
ds 1 ds 1
SECTION "PlayerMapInfo", WRAMX[$dcb4],BANK[1] ds 5
WarpNumber:: ; dcb4 WarpNumber:: ; dcb4
ds 1 ds 1
@ -1600,7 +1637,10 @@ YCoord:: ; dcb7
XCoord:: ; dcb8 XCoord:: ; dcb8
ds 1 ; current x coordinate relative to top-left corner of current map ds 1 ; current x coordinate relative to top-left corner of current map
SECTION "PlayerParty",WRAMX[$dcd7],BANK[1] ds 30
SECTION "Party", WRAMX, BANK [1]
PartyCount:: ; dcd7 PartyCount:: ; dcd7
ds 1 ; number of Pokémon in party ds 1 ; number of Pokémon in party
@ -1623,7 +1663,10 @@ PartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; de41
PartyMonNicknamesEnd:: PartyMonNicknamesEnd::
SECTION "Pokedex", WRAMX[$de99], BANK[1] ds 22
SECTION "Pokedex", WRAMX, BANK [1]
PokedexCaught:: ; de99 PokedexCaught:: ; de99
flag_array NUM_POKEMON flag_array NUM_POKEMON
@ -1640,6 +1683,9 @@ UnlockedUnowns:: ; def3
ds 1 ds 1
SECTION "Daycare", WRAMX, BANK [1]
wDaycareMan:: ; def5 wDaycareMan:: ; def5
; bit 7: active ; bit 7: active
; bit 6: monsters are compatible ; bit 6: monsters are compatible
@ -1675,6 +1721,9 @@ wEggMon:: box_struct wEggMon ; df7b
ds 1 ds 1
SECTION "Misc Pokemon", WRAMX, BANK [1]
wContestMon:: party_struct wContestMon ; df9c wContestMon:: party_struct wContestMon ; df9c
ds 3 ds 3
@ -1694,7 +1743,7 @@ wRoamMon3:: roam_struct wRoamMon3 ; dfdd
SECTION "WRAMBank5",WRAMX[$d000],BANK[5] SECTION "GBC Video", WRAMX, BANK [5]
; 8 4-color palettes ; 8 4-color palettes
Unkn1Pals:: ds 8 * 8 ; d000 Unkn1Pals:: ds 8 * 8 ; d000
@ -1706,14 +1755,18 @@ LYOverrides:: ; d100
ds SCREEN_HEIGHT_PX ds SCREEN_HEIGHT_PX
LYOverridesEnd:: LYOverridesEnd::
ds 112 ds $100 - SCREEN_HEIGHT_PX
LYOverridesBackup:: ; d200 LYOverridesBackup:: ; d200
ds SCREEN_HEIGHT_PX ds SCREEN_HEIGHT_PX
LYOverridesBackupEnd:: LYOverridesBackupEnd::
ds $100 - SCREEN_HEIGHT_PX
SECTION "Battle Animations", WRAMX[$d30a], BANK[5]
SECTION "Battle Animations", WRAMX, BANK [5]
ds 10
ActiveAnimObjects:: ; d30a ActiveAnimObjects:: ; d30a
ds 4 * 40 ds 4 * 40
@ -1744,12 +1797,12 @@ BattleAnimTemps:: ; d419
ds 8 ds 8
SECTION "Scratch", SRAM, BANK[0] SECTION "Scratch", SRAM, BANK [0]
SECTION "SRAM Bank 1", SRAM, BANK[1] SECTION "SRAM Bank 1", SRAM, BANK [1]
SECTION "BoxMons", SRAM[$ad10], BANK[1] SECTION "BoxMons", SRAM [$ad10], BANK [1]
sBoxCount:: ds 1 ; ad10 sBoxCount:: ds 1 ; ad10
sBoxSpecies:: ds MONS_PER_BOX ; ad11 sBoxSpecies:: ds MONS_PER_BOX ; ad11