update ram.asm formatting

This commit is contained in:
scawful
2024-06-17 12:03:07 -04:00
parent 6ae174bf9a
commit 08b499a889

View File

@@ -1,7 +1,7 @@
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; USING THIS SYMBOLS MAP ; USING THIS SYMBOLS MAP
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Except for larger blocks of data, every address will be given at least one symbol ; Except for larger blocks of data, every address will be given at least one symbol
; Symbols are each given a unique name with focus on hierarchy by nature of usage ; Symbols are each given a unique name with focus on hierarchy by nature of usage
; ;
@@ -22,19 +22,19 @@
; For documentation on hardware registers, see «registers.asm» ; For documentation on hardware registers, see «registers.asm»
; For documentation on save game data, see «symbols_sram.asm» ; For documentation on save game data, see «symbols_sram.asm»
; For documentation on APU addresses, see «symbols_apu.asm» ; For documentation on APU addresses, see «symbols_apu.asm»
;=================================================================================================== ; =========================================================
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; DIRECT PAGE ; DIRECT PAGE
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Reminder that direct page is always an address in bank 00. ; Reminder that direct page is always an address in bank 00.
; For ALTTP's mapping and functionality this will always be a mirror of bank 7E page 00 or page 1F. ; For ALTTP's mapping and functionality this will always be a mirror of bank 7E page 00 or page 1F.
; For the most part, ALTTP leaves the direct page register (D) at $0000. ; For the most part, ALTTP leaves the direct page register (D) at $0000.
; The polyhedral code that draws the triforce and crystals will change this register during IRQ. ; The polyhedral code that draws the triforce and crystals will change this register during IRQ.
; The symbols here mirror page 00 of bank 7E. ; The symbols here mirror page 00 of bank 7E.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
; Any use of these addresses should be considered incredibly volatile. ; Any use of these addresses should be considered incredibly volatile.
; LENGTH: 0x10 ; LENGTH: 0x10
@@ -49,11 +49,11 @@ SCRAP07 = $7E0007
SCRAP08 = $7E0008 SCRAP08 = $7E0008
SCRAP09 = $7E0009 SCRAP09 = $7E0009
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TILE ACT NOTES ; TILE ACT NOTES
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; SCRAP0A is used as a direction bitfield during tile act routines. ; SCRAP0A is used as a direction bitfield during tile act routines.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; For tile act bitfields, each property is flagged with 4 bits. ; For tile act bitfields, each property is flagged with 4 bits.
; These bits indicate which tile relative Link the tile was found ; These bits indicate which tile relative Link the tile was found
; ;
@@ -68,7 +68,7 @@ SCRAP09 = $7E0009
; d - found to the south east ; d - found to the south east
; ;
; L - Link ; L - Link
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
SCRAP0A = $7E000A SCRAP0A = $7E000A
SCRAP0B = $7E000B SCRAP0B = $7E000B
@@ -727,15 +727,15 @@ UNUSED_FE = $7E00FE
; Vertical scanline trigger for IRQ ; Vertical scanline trigger for IRQ
NMIVTIME = $7E00FF NMIVTIME = $7E00FF
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; WRAM MIRROR ; WRAM MIRROR
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Pages 0x000x1F of bank 7E are mirrored to every program bank ALTTP uses. ; Pages 0x000x1F of bank 7E are mirrored to every program bank ALTTP uses.
; These addresses can be accessed with absolute addressing, ; These addresses can be accessed with absolute addressing,
; as long as the data bank is not 0x70 or 0x7F. ; as long as the data bank is not 0x70 or 0x7F.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
; Link animation values ; Link animation values
POSECHR = $7E0100 POSECHR = $7E0100
@@ -867,7 +867,7 @@ RESETRET = $7E01FE
; Top of stack ; Top of stack
STACK = $7E01FF STACK = $7E01FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used by interfaces as a submodule ID. ; Used by interfaces as a submodule ID.
; High byte is never written, but always expected to be 0x00. ; High byte is never written, but always expected to be 0x00.
@@ -1271,7 +1271,7 @@ UNUSED_7E02FD = $7E02FD
UNUSED_7E02FE = $7E02FE UNUSED_7E02FE = $7E02FE
UNUSED_7E02FF = $7E02FF UNUSED_7E02FF = $7E02FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Step counter for Y-item animations. Also used for zap. ; Step counter for Y-item animations. Also used for zap.
ITEMSTEP = $7E0300 ITEMSTEP = $7E0300
@@ -1933,7 +1933,7 @@ INBIRD = $7E03FD
UNUSED_7E03FE = $7E03FE UNUSED_7E03FE = $7E03FE
UNUSED_7E03FF = $7E03FF UNUSED_7E03FF = $7E03FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Doors unlocked in a given room ; Doors unlocked in a given room
; High byte is the main one used and sent to SRAM. ; High byte is the main one used and sent to SRAM.
@@ -2416,7 +2416,7 @@ TORCHD = $7E04FD
TORCHE = $7E04FE TORCHE = $7E04FE
TORCHF = $7E04FF TORCHF = $7E04FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used in the overworld as a buffer for tile16 ; Used in the overworld as a buffer for tile16
M16BUFF500 = $7E0500 M16BUFF500 = $7E0500
@@ -2508,7 +2508,7 @@ PBLOCK1X = $7E05FD
UNUSED_7E05FE = $7E05FE UNUSED_7E05FE = $7E05FE
UNUSED_7E05FF = $7E05FF UNUSED_7E05FF = $7E05FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Camera scroll boundaries for big (B) and small (A) rooms in directions NSEW ; Camera scroll boundaries for big (B) and small (A) rooms in directions NSEW
SCROLLAN = $7E0600 SCROLLAN = $7E0600
@@ -2792,7 +2792,7 @@ UNUSED_7E06FD = $7E06FD
UNUSED_7E06FE = $7E06FE UNUSED_7E06FE = $7E06FE
UNUSED_7E06FF = $7E06FF UNUSED_7E06FF = $7E06FF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; ........ yyyzxxx. ; ........ yyyzxxx.
; Caclulated as: ; Caclulated as:
@@ -2856,7 +2856,7 @@ OWSCROLLH = $7E0717
; BIG FREE RAM: 0xE8 ; BIG FREE RAM: 0xE8
MAP16OVERFLOW = $7E0718 MAP16OVERFLOW = $7E0718
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Main buffer sent to OAM ; Main buffer sent to OAM
OAMBUFF = $7E0800 OAMBUFF = $7E0800
@@ -2866,7 +2866,7 @@ OAMBUFF2 = $7E0A00
; ORA'd in every frame. ; ORA'd in every frame.
OAMBUFFSX = $7E0A20 OAMBUFFSX = $7E0A20
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; GFX sheets ; GFX sheets
MAINGFX = $7E0AA0 MAINGFX = $7E0AA0
@@ -3041,7 +3041,7 @@ UNUSED_7E0AFD = $7E0AFD
UNUSED_7E0AFE = $7E0AFE UNUSED_7E0AFE = $7E0AFE
UNUSED_7E0AFF = $7E0AFF UNUSED_7E0AFF = $7E0AFF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Overlord IDs ; Overlord IDs
OL0ID = $7E0B00 OL0ID = $7E0B00
@@ -3390,7 +3390,7 @@ SPRDPRIZE = $7E0BED
SPREPRIZE = $7E0BEE SPREPRIZE = $7E0BEE
SPRFPRIZE = $7E0BEF SPRFPRIZE = $7E0BEF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO ; TODO
ANC0MISCM = $7E0BF0 ANC0MISCM = $7E0BF0
@@ -3601,7 +3601,7 @@ ANC7OAML = $7E0C97
ANC8OAML = $7E0C98 ANC8OAML = $7E0C98
ANC9OAML = $7E0C99 ANC9OAML = $7E0C99
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Current overworld screen sprite is loaded on. ; Current overworld screen sprite is loaded on.
; Used to kill sprites during screen transitions ; Used to kill sprites during screen transitions
@@ -3785,7 +3785,7 @@ CHACHING = $7E0CFD
PAL2F = $7E0CFE PAL2F = $7E0CFE
PAL2FH = $7E0CFF PAL2FH = $7E0CFF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Sprite coordinates ; Sprite coordinates
; y low ; y low
@@ -4755,7 +4755,7 @@ BOULDER = $7E0FFE
; Light world or dark world ; Light world or dark world
WORLDFLAG = $7E0FFF WORLDFLAG = $7E0FFF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used by stripes for arbitrary VRAM transfers. ; Used by stripes for arbitrary VRAM transfers.
GFXSTRIPES = $7E1000 GFXSTRIPES = $7E1000
@@ -4763,7 +4763,7 @@ GFXSTRIPES = $7E1000
; Used for room drawing ; Used for room drawing
ROOMSTRIPES = $7E1100 ROOMSTRIPES = $7E1100
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Door types TODO ; Door types TODO
DOOR0TYPE = $7E1980 DOOR0TYPE = $7E1980
@@ -4888,7 +4888,7 @@ EXIT3TXH = $7E19E9
; FREE RAM: 0x16 ; FREE RAM: 0x16
UNUSED_7E19EA = $7E19EA UNUSED_7E19EA = $7E19EA
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; 20 steps of animation and movement caching for followers ; 20 steps of animation and movement caching for followers
FOLLOWERYL = $7E1A00 FOLLOWERYL = $7E1A00
@@ -4966,12 +4966,12 @@ UNUSED_7E1AFE = $7E1AFE
; Not used for anything. ; Not used for anything.
MIRRORCOUNT = $7E1AFF MIRRORCOUNT = $7E1AFF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Spotlight windowing values for the IRIS HDMA ; Spotlight windowing values for the IRIS HDMA
IRIS = $7E1B00 IRIS = $7E1B00
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; FREE RAM: 0x10 ; FREE RAM: 0x10
UNUSED_7E1CC0 = $7E1CC0 UNUSED_7E1CC0 = $7E1CC0
@@ -5087,7 +5087,7 @@ UNUSED_7E1CFD = $7E1CFD
UNUSED_7E1CFE = $7E1CFE UNUSED_7E1CFE = $7E1CFE
UNUSED_7E1CFF = $7E1CFF UNUSED_7E1CFF = $7E1CFF
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Self-explanatory sprite caching ; Self-explanatory sprite caching
CACHE_0DD0 = $7E1D00 CACHE_0DD0 = $7E1D00
@@ -5107,11 +5107,11 @@ CACHE_0F20 = $7E1DD0
CACHE_0D80 = $7E1DE0 CACHE_0D80 = $7E1DE0
CACHE_0E60 = $7E1DF0 CACHE_0E60 = $7E1DF0
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Polyhedral variables used by the intro and ending sequence. ; Polyhedral variables used by the intro and ending sequence.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Be wary of FREE RAM listed here, as it will be cleared with other values here. ; Be wary of FREE RAM listed here, as it will be cleared with other values here.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Cutscene act ; Cutscene act
SCENESTEP = $7E1E00 SCENESTEP = $7E1E00
@@ -5184,18 +5184,18 @@ UNUSED_7E1E68 = $7E1E68
; This big block is actually 100% safe ; This big block is actually 100% safe
UNUSED_7E1E70 = $7E1E70 UNUSED_7E1E70 = $7E1E70
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; IRQ DIRECT PAGE ; IRQ DIRECT PAGE
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; The polyhedral code is the only instance of direct page juggling in ALTTP ; The polyhedral code is the only instance of direct page juggling in ALTTP
; most addresses here will be accessed with direct page addressing ; most addresses here will be accessed with direct page addressing
; ;
; Be wary of FREE RAM listed here, as it will be zeroed whenever the polyhedral thread initializes. ; Be wary of FREE RAM listed here, as it will be zeroed whenever the polyhedral thread initializes.
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
; Tells the polyhedral thread to wait for IRQ. ; Tells the polyhedral thread to wait for IRQ.
POLYWAIT = $7E1F00 POLYWAIT = $7E1F00
@@ -5363,13 +5363,13 @@ UNUSED_7E1FFD = $7E1FFD
UNUSED_7E1FFE = $7E1FFE UNUSED_7E1FFE = $7E1FFE
UNUSED_7E1FFF = $7E1FFF UNUSED_7E1FFF = $7E1FFF
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; UNMIRRORED WRAM ; UNMIRRORED WRAM
; Addresses from here on can only be accessed with long addressing ; Addresses from here on can only be accessed with long addressing
; or absolute addressing with the appropriate data bank set ; or absolute addressing with the appropriate data bank set
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
; In the underworld, this holds a copy of the entire BG tilemap for ; In the underworld, this holds a copy of the entire BG tilemap for
; Layer 1 (BG2) in TILEMAPA ; Layer 1 (BG2) in TILEMAPA
@@ -5379,12 +5379,12 @@ UNUSED_7E1FFF = $7E1FFF
TILEMAPA = $7E2000 TILEMAPA = $7E2000
TILEMAPB = $7E4000 TILEMAPB = $7E4000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Decompression scratch space ; Decompression scratch space
DECOMP = $7E6000 DECOMP = $7E6000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Fully decompressed 4BPP buffer for common graphics ; Fully decompressed 4BPP buffer for common graphics
GFX_SWORD = $7E9000 GFX_SWORD = $7E9000
@@ -5413,12 +5413,12 @@ GFX_FOLLOWER = $7EB940
GFX_ITEMGET = $7EBD40 GFX_ITEMGET = $7EBD40
GFX_STARS = $7EBDC0 GFX_STARS = $7EBDC0
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; BIG FREE RAM: 0x0200 ; BIG FREE RAM: 0x0200
UNUSED_7EBE00 = $7EBE00 UNUSED_7EBE00 = $7EBE00
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Target room ID of pits/warps and stairs ; Target room ID of pits/warps and stairs
WARPTO = $7EC000 WARPTO = $7EC000
@@ -5476,7 +5476,7 @@ AGAFADEDIR = $7EC01F
; BIG FREE RAM: 0xDB ; BIG FREE RAM: 0xDB
UNUSED_7EC025 = $7EC025 UNUSED_7EC025 = $7EC025
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Variable caching for special overworld ; Variable caching for special overworld
SPO_OWSCR2L = $7EC100 SPO_OWSCR2L = $7EC100
@@ -5679,7 +5679,7 @@ CC_DNGFLOOR = $7EC1AA
; FREE RAM: 0x55 ; FREE RAM: 0x55
UNUSED_7EC1AB = $7EC1AB UNUSED_7EC1AB = $7EC1AB
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Overworld map caching ; Overworld map caching
OMC_BG1HORZL = $7EC200 OMC_BG1HORZL = $7EC200
@@ -5759,9 +5759,9 @@ LASTSPRSET1 = $7EC2FD
LASTSPRSET2 = $7EC2FE LASTSPRSET2 = $7EC2FE
LASTSPRSET3 = $7EC2FF LASTSPRSET3 = $7EC2FF
;=================================================================================================== ; =========================================================
; Palette buffer 2 ; Palette buffer 2
;=================================================================================================== ; =========================================================
; HUD palettes ; HUD palettes
PALB_HUD0 = $7EC300 PALB_HUD0 = $7EC300
@@ -5805,9 +5805,9 @@ PALB_SPR6B = $7EC4D0
PALB_SPR7A = $7EC4E0 PALB_SPR7A = $7EC4E0
PALB_SPR7B = $7EC4F0 PALB_SPR7B = $7EC4F0
;=================================================================================================== ; =========================================================
; Main palette block written to CGRAM ; Main palette block written to CGRAM
;=================================================================================================== ; =========================================================
; HUD palettes ; HUD palettes
PAL_HUD0 = $7EC500 PAL_HUD0 = $7EC500
@@ -5851,13 +5851,13 @@ PAL_SPR6B = $7EC6D0
PAL_SPR7A = $7EC6E0 PAL_SPR7A = $7EC6E0
PAL_SPR7B = $7EC6F0 PAL_SPR7B = $7EC6F0
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO MORE ; TODO MORE
; Tilemap buffer for the HUD ; Tilemap buffer for the HUD
HUD = $7EC700 HUD = $7EC700
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; FREE RAM: 0x36 ; FREE RAM: 0x36
UNUSED_7EC84A = $7EC84A UNUSED_7EC84A = $7EC84A
@@ -5868,18 +5868,18 @@ WALLDRAW = $7EC880
; BIG FREE RAM: 0x1F00 ; BIG FREE RAM: 0x1F00
UNUSED_7EC900 = $7EC900 UNUSED_7EC900 = $7EC900
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO ; TODO
POLYDRAW = $7EE800 POLYDRAW = $7EE800
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; SRAM mirror for current file ; SRAM mirror for current file
; see symbols_sram.asm ; see symbols_sram.asm
WRAMSAVE = $7EF000 WRAMSAVE = $7EF000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; FREE RAM: 0x80 ; FREE RAM: 0x80
UNUSED_7EF500 = $7EF500 UNUSED_7EF500 = $7EF500
@@ -5887,7 +5887,7 @@ UNUSED_7EF500 = $7EF500
; Tracks lifted pot secrets ; Tracks lifted pot secrets
POTLIFT = $7EF580 POTLIFT = $7EF580
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Caches the tilemap location of changed map16 tiles on the overworld ; Caches the tilemap location of changed map16 tiles on the overworld
M16CHTMAPX = $7EF800 M16CHTMAPX = $7EF800
@@ -5905,26 +5905,26 @@ TORCHES = $7EFB40
SHEETLISTA = $7EFCC0 SHEETLISTA = $7EFCC0
SHEETLISTB = $7EFD40 SHEETLISTB = $7EFD40
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; FREE RAM: 0x40 ; FREE RAM: 0x40
UNUSED_7EFDC0 = $7EFDC0 UNUSED_7EFDC0 = $7EFDC0
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Table of tile properties for interaction ; Table of tile properties for interaction
TILEATTR = $7EFE00 TILEATTR = $7EFE00
;=================================================================================================== ; =========================================================
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Bank 7F ; Bank 7F
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
;=================================================================================================== ; =========================================================
; Decompression buffer ; Decompression buffer
DECOMPA = $7F0000 DECOMPA = $7F0000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; In the underworld, these arrays contain tile the tile's collision type for each layer. ; In the underworld, these arrays contain tile the tile's collision type for each layer.
; Layer 1 (COLMAPA) ; Layer 1 (COLMAPA)
@@ -5936,7 +5936,7 @@ DECOMPA = $7F0000
COLMAPA = $7F2000 COLMAPA = $7F2000
COLMAPB = $7F3000 COLMAPB = $7F3000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Decompression buffer ; Decompression buffer
DECOMPB = $7F4000 DECOMPB = $7F4000
@@ -5944,7 +5944,7 @@ DECOMPB = $7F4000
; BIG FREE RAM: 0x0800 ; BIG FREE RAM: 0x0800
UNUSED_7F5000 = $7F5000 UNUSED_7F5000 = $7F5000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used by medallions, sword beams, gt crystals, and rupee pond rupees ; Used by medallions, sword beams, gt crystals, and rupee pond rupees
; Not worth documenting them all right now ; Not worth documenting them all right now
@@ -6008,7 +6008,7 @@ ANC_7F58B6 = $7F58B6
ANC_7F58B8 = $7F58B8 ANC_7F58B8 = $7F58B8
ANC_7F58E4 = $7F58E4 ANC_7F58E4 = $7F58E4
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO at least this much ; TODO at least this much
; FREE RAM: 0x024 ; FREE RAM: 0x024
@@ -6051,29 +6051,29 @@ BOMBOS_7F5A57 = $7F5A57
; BIG FREE RAM: 0xA8 ; BIG FREE RAM: 0xA8
UNUSED_7F5A58 = $7F5A58 UNUSED_7F5A58 = $7F5A58
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used when decompressing text characters ; Used when decompressing text characters
TEXTDECOMP = $7F5B00 TEXTDECOMP = $7F5B00
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; BIG FREE RAM: 0xFE ; BIG FREE RAM: 0xFE
UNUSED_7F5F02 = $7F5F02 UNUSED_7F5F02 = $7F5F02
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Damage class to subclass for every enemy ; Damage class to subclass for every enemy
; 16 bytes per enemy, including garbage from garbage data for invalid sprites ; 16 bytes per enemy, including garbage from garbage data for invalid sprites
; See «resources/damagetable.asm» for decompressed and decompiled data ; See «resources/damagetable.asm» for decompressed and decompiled data
DMGTABLE = $7F6000 DMGTABLE = $7F6000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Used as a buffer for writing to IRIS ; Used as a buffer for writing to IRIS
IRISBUFFER = $7F7000 IRISBUFFER = $7F7000
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Text pointers in bank 1C, built procedurally. ; Text pointers in bank 1C, built procedurally.
; Expected vanilla values for JP1.0 listed as comment. ; Expected vanilla values for JP1.0 listed as comment.
@@ -6474,12 +6474,12 @@ MSG0189 = $7F74D2 ; $F310
MSG018A = $7F74D4 ; $F325 MSG018A = $7F74D4 ; $F325
MSG018B = $7F74D6 ; $F356 MSG018B = $7F74D6 ; $F356
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; MASSIVE FREE RAM: 0x68A8 ; MASSIVE FREE RAM: 0x68A8
UNUSED_7F74D8 = $7F74D8 UNUSED_7F74D8 = $7F74D8
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO ; TODO
PALSAVE = $7FDD80 PALSAVE = $7FDD80
@@ -6496,12 +6496,12 @@ UWDEATH = $7FDF80
; Flags overworld sprite deaths/enemies already spawned ; Flags overworld sprite deaths/enemies already spawned
OWDEATH = $7FEF80 OWDEATH = $7FEF80
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; BIG FREE RAM: 0x680 ; BIG FREE RAM: 0x680
UNUSED_7FF180 = $7FF180 UNUSED_7FF180 = $7FF180
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Garnish IDs ; Garnish IDs
GRN00_ID = $7FF800 GRN00_ID = $7FF800
@@ -7038,7 +7038,7 @@ GRN1B_9FE = $7FFA19
GRN1C_9FE = $7FFA1A GRN1C_9FE = $7FFA1A
GRN1D_9FE = $7FFA1B GRN1D_9FE = $7FFA1B
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Current stage of lifting for sprite ; Current stage of lifting for sprite
SPR0LIFT = $7FFA1C SPR0LIFT = $7FFA1C
@@ -7128,7 +7128,7 @@ SPRCACHE_7FFADC = $7FFADC
; FREE RAM: 0x30 ; FREE RAM: 0x30
UNUSED_7FFAEC = $7FFAEC UNUSED_7FFAEC = $7FFAEC
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; TODO ; TODO
SWAMSEG2A = $7FFB1C SWAMSEG2A = $7FFB1C
@@ -7164,7 +7164,7 @@ GANONWARPYH = $7FFD6E
; Used with drawing segmented enemies ; Used with drawing segmented enemies
SEGMENTS_7FFD80 = $7FFD80 SEGMENTS_7FFD80 = $7FFD80
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; Number of digs in digging game ; Number of digs in digging game
DIGS = $7FFE00 DIGS = $7FFE00
@@ -7191,9 +7191,9 @@ SPR_7FFE00 = $7FFE00
SPR_7FFE80 = $7FFE00 SPR_7FFE80 = $7FFE00
SPR_7FFF00 = $7FFF00 SPR_7FFF00 = $7FFF00
;=================================================================================================== ; =========================================================
;=================================================================================================== ; =========================================================
; Save data is located in 2 separate locations in SRAM: ; Save data is located in 2 separate locations in SRAM:
; File 1: $70:0000 Mirror: $70:0F00 ; File 1: $70:0000 Mirror: $70:0F00
; File 2: $70:0500 Mirror: $70:1400 ; File 2: $70:0500 Mirror: $70:1400
@@ -7204,9 +7204,9 @@ SPR_7FFF00 = $7FFF00
; ;
; Use of unused SRAM is not recommended for general purpose memory ; Use of unused SRAM is not recommended for general purpose memory
; As it will be kept across game sessions ; As it will be kept across game sessions
;=================================================================================================== ; =========================================================
; The following ASCII art is included because MathOnNapkins likes it: ; The following ASCII art is included because MathOnNapkins likes it:
;--------------------------------------------------------------------------------------------------- ; ---------------------------------------------------------
; ;
; /\/\/\/ ||\\\\ || |||\\ /\ |||||||||||| /\ ; /\/\/\/ ||\\\\ || |||\\ /\ |||||||||||| /\
; /| || || // \\ //\\ || || || //\\ ; /| || || // \\ //\\ || || || //\\
@@ -7226,7 +7226,7 @@ SPR_7FFF00 = $7FFF00
; <<>> **** **** **** ; <<>> **** **** ****
; <> ** ** ** ; <> ** ** **
; ;
;=================================================================================================== ; =========================================================
FILE1MAIN = $700000 FILE1MAIN = $700000
FILE2MAIN = $700500 FILE2MAIN = $700500
FILE3MAIN = $700A00 FILE3MAIN = $700A00
@@ -7240,14 +7240,14 @@ FREESRAM = $701E00
; Used to find the correct save file offset to use when transferring between SRAM and WRAM. ; Used to find the correct save file offset to use when transferring between SRAM and WRAM.
SRAMOFF = $701FFE SRAMOFF = $701FFE
;=================================================================================================== ; =========================================================
; Documention is for WRAM, as SRAM is not directly accessed except when ; Documention is for WRAM, as SRAM is not directly accessed except when
; verifying the file ; verifying the file
; loading/saving ; loading/saving
; Do note that the offset into any particular block of save is data is ; Do note that the offset into any particular block of save is data is
; just equal to the bottom 3 nibbles of the WRAM address. ; just equal to the bottom 3 nibbles of the WRAM address.
; e.g. $7E:F340 is an offset of +$0340 into the block ; e.g. $7E:F340 is an offset of +$0340 into the block
;=================================================================================================== ; =========================================================
; Room flag data ; Room flag data
; dddd bkut sehc qqqq ; dddd bkut sehc qqqq
; d - door opened ; d - door opened
@@ -7582,13 +7582,13 @@ RMFLG13D = $7EF27A
RMFLG13E = $7EF27C RMFLG13E = $7EF27C
RMFLG13F = $7EF27E RMFLG13F = $7EF27E
;=================================================================================================== ; =========================================================
; Overworld data ; Overworld data
; .io. ..b. ; .io. ..b.
; i - item collected / lightning barrier destroyed ; i - item collected / lightning barrier destroyed
; o - overlay active ; o - overlay active
; b - bomb wall opened ; b - bomb wall opened
;=================================================================================================== ; =========================================================
OWFLG00 = $7EF280 OWFLG00 = $7EF280
OWFLG01 = $7EF281 OWFLG01 = $7EF281
OWFLG02 = $7EF282 OWFLG02 = $7EF282
@@ -7756,9 +7756,9 @@ OWFLG9D = $7EF31D
OWFLG9E = $7EF31E OWFLG9E = $7EF31E
OWFLG9F = $7EF31F OWFLG9F = $7EF31F
;=================================================================================================== ; =========================================================
; Items ; Items
;=================================================================================================== ; =========================================================
; 0x00 - Nothing ; 0x00 - Nothing
; 0x01 - Bow ; 0x01 - Bow
; 0x02 - Bow and arrows ; 0x02 - Bow and arrows
@@ -8164,7 +8164,7 @@ UNUSED_7EF403 = $7EF403
SAVEICKSML = $7EF4FE SAVEICKSML = $7EF4FE
SAVEICKSMH = $7EF4FF SAVEICKSMH = $7EF4FF
;=================================================================================================== ; =========================================================
INIDISP = $002100 INIDISP = $002100
OBSEL = $002101 OBSEL = $002101