Difference between revisions of "Rom/Bank 00"
From TLoZ: ALTTP Hacking Resources
Line 1: | Line 1: | ||
{{subpage|ROM}} | {{subpage|ROM}} | ||
− | * {{ | + | * {{0x|0000}} to {{0x|0489}} ({{hex|489}}) = Code |
− | * {{ | + | * {{0x|048A}} to {{0x|0493}} ({{hex|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)}} | ||
− | + | * {{0x|0494}} to {{0x|05FB}} ({{hex|167}}) = 1 word each. | |
− | + | * {{0x|0494}} to {{0x|049B}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AD8}} in the RAM addresses. | |
− | + | * {{0x|049C}} to {{0x|04AB}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC0}} and {{$|0AC2}} in the RAM addresses. | |
− | + | * {{0x|04AC}} to {{0x|04B1}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC4}} and {{$|0AC6}} in the RAM addresses. | |
− | + | * {{0x|04B2}} to {{0x|05B1}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AC8}} in the RAM addresses. | |
− | * {{ | + | * {{0x|05B2}} to {{0x|05D1}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0ACA}} in the RAM addresses. |
− | * {{ | + | * {{0x|05D2}} to {{0x|05DD}} ({{hex|###}}) = Stored to {{$|7EC013}}. The value stored is indexed by {{$|7EC015}}. |
− | * {{ | + | * {{0x|05DE}} to {{0x|05FB}} ({{hex|###}}) = Used in DMA transfers as local addresses in Bank {{$|7E}}. See {{$|0AE0}} and {{$|0AE2}} in the RAM addresses. |
− | * {{ | + | * {{0x|05FC}} to {{0x|0E4B}} ({{hex|###}}) = Code |
− | * {{ | + | * {{0x|0E4C}} to {{0x|0E53}} ({{hex|008}}) = |
− | * {{ | + | * {{0x|0E54}} to {{0x|110E}} ({{hex|###}}) = Code |
− | * {{ | + | * {{0x|110F}} to {{0x|113E}} ({{hex|02F}}) = |
− | * {{ | + | * {{0x|137B}} to {{0x|1395}} ({{hex|01B}}) = |
− | + | * {{0x|1396}} to {{0x|15F3}} ({{hex|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 | |
− | + | * {{0x|15F4}} to {{0x|1851}} ({{hex|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 | |
− | + | * {{0x|1852}} to {{0x|1887}} ({{hex|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 | |
− | * {{ | + | * {{0x|1888}} to {{0x|18AA}} ({{hex|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}} |
− | + | * {{0x|18AB}} to {{0x|18BF}} ({{hex|###}}) = NULL | |
− | * {{ | + | * {{0x|18C0}} to {{0x|18DF}} ({{hex|###}}) = |
− | + | * {{0x|1B52}} to {{0x|????}} ({{hex|###}}) = | |
− | + | * {{0x|4FF3}} to {{0x|528F}} ({{hex|29B}}) = Indexed (long) table to compressed graphics packets. Each of these packets is treated differently: i.e. {{$|0A}} = Dungeon sprite | |
− | + | * {{0x|5B57}} to {{0x|6072}} ({{hex|###}}) = ??? | |
− | * {{ | + | * {{0x|6073}} to {{0x|----}} ({{hex|001}}) = graphics data? Appears to come in {{hex|8}} byte chunks. |
− | + | * {{0x|7C9C}} to {{0x|----}} ({{hex|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}} |
Revision as of 02:52, 21 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???? (###) =
- 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 |
---|