Difference between revisions of "Rom/Bank 00"
From TLoZ: ALTTP Hacking Resources
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{subpage|ROM}} | {{subpage|ROM}} | ||
− | * {{ | + | * {{address|0x|0000|0489|489}} = Code |
− | * {{ | + | * {{address|0x|048A|0493|00A}} = 1 word each. |
** Offsets for reading from SRAM. Based on an index stored at {{$|70:1FFE}}, it will load the value {{$|0000}}, {{$|0500}}, {{$|0A00}}, or (possibly) {{$|0F00}}. The last value seems sketchy because that is an offset for the mirror of the first save slot. | ** Offsets for reading from SRAM. Based on an index stored at {{$|70:1FFE}}, it will load the value {{$|0000}}, {{$|0500}}, {{$|0A00}}, or (possibly) {{$|0F00}}. The last value seems sketchy because that is an offset for the mirror of the first save slot. | ||
− | |||
+ | {{note|DMA offsets for Bank {{$|7E}} (usage undetermined as of yet. Probably pointers to font tiles)}} | ||
− | + | * {{address|0x|0494|05FB|167}} = 1 word each. | |
− | + | * {{address|0x|0494|049B|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AD8}} in the RAM addresses. | |
− | + | * {{address|0x|049C|04AB|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC0}} and {{$|0AC2}} in the RAM addresses. | |
− | + | * {{address|0x|04AC|04B1|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC4}} and {{$|0AC6}} in the RAM addresses. | |
− | + | * {{address|0x|04B2|05B1|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC8}} in the RAM addresses. | |
− | * {{ | + | * {{address|0x|05B2|05D1|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0ACA}} in the RAM addresses. |
− | * {{ | + | * {{address|0x|05D2|05DD|---}} = Stored to {{$|7EC013}}. The value stored is indexed by {{$|7EC015}}. |
− | * {{ | + | * {{address|0x|05DE|05FB|---}} = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AE0}} and {{$|0AE2}} in the RAM addresses. |
− | * {{ | + | * {{address|0x|05FC|0E4B|---}} = Code |
− | * {{ | + | * {{address|0x|0E4C|0E53|008}} = |
− | * {{ | + | * {{address|0x|0E54|110E|---}} = Code |
− | * {{ | + | * {{address|0x|110F|113E|02F}} = |
− | * {{ | + | * {{address|0x|137B|1395|01B}} = |
− | + | * {{address|0x|1396|15F3|25D}} = 1 word each. Pointers to ROM Addresses used in DMA transfers. While these are local addresses, the DMA transfers generally use Bank {{$|10}}. See {{$|0ACC}} and {{$|0ACE}} in the RAM addresses | |
− | + | * {{address|0x|15F4|1851|024}} = Pointers to ROM Addresses used in DMA transfers. While these are local addresses. The DMA transfers generally use Bank {{$|10}}. See {{$|0AD0}} and {{$|0AD2}} in the RAM addresses | |
− | + | * {{address|0x|1852|1887|345}} = 1 word each. Pointers to ROM Addresses used in DMA transfers. While these are local addresses, the DMA transfers generally use Bank {{$|10}}. See {{$|0AD4}} and {{$|0AD6}} in the RAM addresses | |
− | * {{ | + | * {{address|0x|1888|18AA|022}} = 1 byte each. Upper byte of a series of VRAM Target addresses, that are used depending on the situation. Table is indexed by {{$|7E0116}} |
− | + | * {{address|0x|18AB|18BF|---}} = NULL | |
− | * {{ | + | * {{address|0x|18C0|18DF|---}} = |
− | + | * {{address|0x|1B52|????|---}} = | |
− | + | * {{address|0x|47C7|48D7|110}} = Dictionary for monologues (no delimiter) | |
− | + | * {{address|0x|4FF3|528F|29B}} = Indexed (long) table to compressed graphics packets. Each of these packets is treated differently: i.e. {{$|0A}} = Dungeon sprite | |
− | * {{ | + | * {{address|0x|5B57|6072|---}} = ??? |
− | + | * {{address|0x|6073|----|001}} = graphics data? Appears to come in {{hex|8}} byte chunks. | |
− | * {{ | + | * {{address|0x|7C9C|----|001}} = ??? |
− | |||
− | * {{ | ||
− | Pointers to ROM Addresses used in DMA transfers. While these are local addresses, | ||
− | |||
− | * {{ | ||
− | Pointers to ROM Addresses used in DMA transfers. While these are local addresses | ||
− | The DMA transfers generally use Bank {{$|10}}. See {{$|0AD0}} and {{$|0AD2}} in the RAM addresses | ||
− | * {{ | ||
− | Pointers to ROM Addresses used in DMA transfers. While these are local addresses, | ||
− | |||
− | * {{ | ||
− | Upper byte of a series of VRAM Target addresses, that are used depending on the situation. | ||
− | Table is indexed by {{$|7E0116}} | ||
− | * {{ | ||
− | * {{ | ||
− | * {{ | ||
− | * {{ | ||
− | Each of these packets is treated differently: i.e. {{$|0A}} = Dungeon sprite | ||
− | * {{ | ||
− | |||
− | * {{ | ||
− | * {{ | ||
{{toc}} | {{toc}} |
Latest revision as of 03:11, 23 December 2016
This is a subpage of ROM
- 0x0000 to 0x0489 (489) = Code
- 0x048A to 0x0493 (00A) = 1 word each.
- Offsets for reading from SRAM. Based on an index stored at $70:1FFE, it will load the value $0000, $0500, $0A00, or (possibly) $0F00. The last value seems sketchy because that is an offset for the mirror of the first save slot.
Note:
DMA offsets for Bank $7E (usage undetermined as of yet. Probably pointers to font tiles)
DMA offsets for Bank $7E (usage undetermined as of yet. Probably pointers to font tiles)
- 0x0494 to 0x05FB (167) = 1 word each.
- 0x0494 to 0x049B (---) = Used in DMA transfers as local addresses in Bank $7E. See $0AD8 in the RAM addresses.
- 0x049C to 0x04AB (---) = Used in DMA transfers as local addresses in Bank $7E. See $0AC0 and $0AC2 in the RAM addresses.
- 0x04AC to 0x04B1 (---) = Used in DMA transfers as local addresses in Bank $7E. See $0AC4 and $0AC6 in the RAM addresses.
- 0x04B2 to 0x05B1 (---) = Used in DMA transfers as local addresses in Bank $7E. See $0AC8 in the RAM addresses.
- 0x05B2 to 0x05D1 (---) = Used in DMA transfers as local addresses in Bank $7E. See $0ACA in the RAM addresses.
- 0x05D2 to 0x05DD (---) = Stored to $7EC013. The value stored is indexed by $7EC015.
- 0x05DE to 0x05FB (---) = Used in DMA transfers as local addresses in Bank $7E. See $0AE0 and $0AE2 in the RAM addresses.
- 0x05FC to 0x0E4B (---) = Code
- 0x0E4C to 0x0E53 (008) =
- 0x0E54 to 0x110E (---) = Code
- 0x110F to 0x113E (02F) =
- 0x137B to 0x1395 (01B) =
- 0x1396 to 0x15F3 (25D) = 1 word each. Pointers to ROM Addresses used in DMA transfers. While these are local addresses, the DMA transfers generally use Bank $10. See $0ACC and $0ACE in the RAM addresses
- 0x15F4 to 0x1851 (024) = Pointers to ROM Addresses used in DMA transfers. While these are local addresses. The DMA transfers generally use Bank $10. See $0AD0 and $0AD2 in the RAM addresses
- 0x1852 to 0x1887 (345) = 1 word each. Pointers to ROM Addresses used in DMA transfers. While these are local addresses, the DMA transfers generally use Bank $10. See $0AD4 and $0AD6 in the RAM addresses
- 0x1888 to 0x18AA (022) = 1 byte each. Upper byte of a series of VRAM Target addresses, that are used depending on the situation. Table is indexed by $7E0116
- 0x18AB to 0x18BF (---) = NULL
- 0x18C0 to 0x18DF (---) =
- 0x1B52 to 0x???? (---) =
- 0x47C7 to 0x48D7 (110) = Dictionary for monologues (no delimiter)
- 0x4FF3 to 0x528F (29B) = Indexed (long) table to compressed graphics packets. Each of these packets is treated differently: i.e. $0A = Dungeon sprite
- 0x5B57 to 0x6072 (---) = ???
- 0x6073 to 0x---- (001) = graphics data? Appears to come in 8 byte chunks.
- 0x7C9C to 0x---- (001) = ???
Table of Contents |
---|