Difference between revisions of "Rom/Bank 01"

From TLoZ: ALTTP Hacking Resources
Jump to: navigation, search
(Created page with "{{subpage|ROM}} * {{address|$|C6FC||C}} = Falling Item Data ** Use the entrance number of the dungeon, divided by two to obtain an index into this array. The possible values...")
 
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
{{subpage|ROM}}
 
{{subpage|ROM}}
  
* {{address|$|C6FC||C}} = Falling Item Data
+
* {{address|0x|C6FC||00C}} = Falling Item Data
 
** Use the entrance number of the dungeon, divided by two to obtain an index into this array. The possible values are:
 
** Use the entrance number of the dungeon, divided by two to obtain an index into this array. The possible values are:
 
*** {{hex|00}} = nothing
 
*** {{hex|00}} = nothing
Line 10: Line 10:
 
*** See data in {{$|48D90}} as it is related to this table.
 
*** See data in {{$|48D90}} as it is related to this table.
  
* {{address|$|DB69|DDE8|27F}} Dungeon Secrets Data
+
* {{address|0x|DB69|DDE8|27F}} Dungeon Secrets Data
* This is a pointer table that uses references local addresses assumed to be in bank {{$|01}}. Since there are 320 rooms in the game there are naturally 320 different pointer entries here. In the game's original state, however, the rooms past room 295 just contain null data.
+
** This is a pointer table that uses references local addresses assumed to be in bank {{$|01}}. Since there are 320 rooms in the game there are naturally 320 different pointer entries here. In the game's original state, however, the rooms past room 295 just contain null data.
* Secrets Contents:
+
** Secrets Contents:
** Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}
+
*** Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}
** First two bytes: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.
+
**** Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.
** Third byte: identifies the type of item that is hiding there. e.g. {{$|08}} is a key
+
**** Byte {{hex|2}}: identifies the type of item that is hiding there. e.g. {{$|08}} is a key
* {{address|$|E96E|EB65}} Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})
+
* {{address|0x|E96E|EB65}} Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})
 
** First word = Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)
 
** First word = Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)
 
**Last byte = Index of the type of item contained in the chest.
 
**Last byte = Index of the type of item contained in the chest.

Latest revision as of 04:41, 21 December 2016

This is a subpage of ROM
  • 0xC6FC (00C) = Falling Item Data
    • Use the entrance number of the dungeon, divided by two to obtain an index into this array. The possible values are:
      • 00 = nothing
      • 01 = pendant of courage
      • 02 = pendant of wisdom,
      • 03 = pendant of power
      • 06 = crystal. 1 byte per dungeon value.
      • See data in $48D90 as it is related to this table.
  • 0xDB69 to 0xDDE8 (27F) Dungeon Secrets Data
    • This is a pointer table that uses references local addresses assumed to be in bank $01. Since there are 320 rooms in the game there are naturally 320 different pointer entries here. In the game's original state, however, the rooms past room 295 just contain null data.
    • Secrets Contents:
      • Data comes in 3 byte chunks and is terminated by an instance of $FFFF
        • Bytes 0, 1: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.
        • Byte 2: identifies the type of item that is hiding there. e.g. $08 is a key
  • 0xE96E to 0xEB65 (----) Array of chest information in 3 byte chunks. 168 entries in all (0xA8)
    • First word = Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)
    • Last byte = Index of the type of item contained in the chest.


Navigate

Table of Contents
SpritesDungeonsOverworldUnderworldSRAM MapRAM MapROM MapMusicMonologueCreditsDumpsMiscellaneousTo-Do/Suggestions