The current URL is datacrystal.tcrf.net.
Zelda II: The Adventure of Link/ROM map: Difference between revisions
Ice Ranger (talk | contribs) m (Sorted some more, but more is left) |
m (Xkeeper moved page Zelda II: The Adventure of Link:ROM map to Zelda II: The Adventure of Link/ROM map: normalize subpages and titles) |
||
(89 intermediate revisions by 27 users not shown) | |||
Line 1: | Line 1: | ||
{{rommap|game=Zelda II: The Adventure of Link}} | |||
== | ==Other Documentation== | ||
* | * [[Zelda II: The Adventure of Link:Character Data|Character Data]] | ||
* [[Zelda II: The Adventure of Link:Enemy Data|Enemy Data]] | |||
* | |||
==== | ==Main Menu== | ||
17339 - Y position for cursor on Save Slot 1 | |||
17351 - Y position for cursor on Save Slot 2 | |||
17369 - Y position for cursor on Save Slot 3 | |||
1737F - Y position for cursor on Register Your Name | |||
17391 - Y position for cursor on Elimation Mode | |||
17395 - X position for cursor | |||
== | ==Beginning Values== | ||
17AF7 - Begin with Shield Magic | |||
17AF8 - Begin with Jump Magic | |||
17AF9 - Begin with Life Magic | |||
17AFA - Begin with Fairy Magic | |||
17AFB - Begin with Fire Magic | |||
17AFC - Begin with Reflect Magic | |||
17AFD - Begin with Spell Magic | |||
17AFE - Begin with Thunder Magic | |||
17AFF - Number of Magic Containers to begin game | |||
17B00 - Number of Heart Containers to begin game | |||
17B01 - Begin with Candle | |||
17B02 - Begin with Power Glove | |||
17B03 - Begin with Raft | |||
17B04 - Begin with Boots | |||
17B05 - Begin with Flute | |||
17B06 - Begin with Cross | |||
17B07 - Begin with Hammer | |||
17B08 - Begin with Magic Key | |||
17B10 - Number of Crystals to begin game | |||
17B12 - Techs (Downward Thrust 10) (Upward Thrust 04) (Both 14) | |||
17B1D - 0x017B24 - Letter Values when blanking a name out | |||
17B25 - 0x017C04 - Bit defaults for sprites (keys, items, etc.) | |||
1C369 - Number of lives to begin game | |||
== | ==Magic Spell Effect Pointers== | ||
from to | |||
---- ---- | |||
00E58 - 00E59 - Shield | |||
00E5A - 00E5B - Jump | |||
00E5C - 00E5D - Life | |||
00E5E - 00E5F - Fairy | |||
00E60 - 00E61 - Fire | |||
00E62 - 00E63 - Reflect | |||
00E64 - 00E65 - Spell | |||
00E66 - 00E67 - Thunder | |||
It's possible to alter the order in which Link "learns" magic spells by re-arranging the data from [$E58-$E67]. (For example, to make Thunder the first spell Link acquires, replace the data at [$E58-$E59] with that from [$E66-$E67]. Note, however, that the spell will still be under the first slot and named "Shield.") | |||
==Sound Data== | |||
18000 Music Engine Entry Point, Title Screen (Replace with 'RTS' to disable the music engine) | |||
19000 Music Engine Entry Point, Rest of the Game (Replace with 'RTS' to disable the music engine) | |||
1A01A Overworld music string | |||
1A027 Battleground music string | |||
1A02C "Got a Heart/Item/Etc." music string | |||
==PPU Data== | |||
===Overworld=== | |||
from to | |||
---- ---- | |||
007B3 - 007B6 - PPU data for Towns | |||
007B7 - 007BA - PPU data for Caves | |||
007BB - 007BE - PPU data for Palaces | |||
007BF - 007C2 - PPU data for Bridges | |||
007C3 - 007C6 - PPU data for Desert | |||
007C7 - 007CA - PPU data for Grass Areas | |||
007CB - 007CE - PPU data for Forests | |||
007CF - 007D2 - PPU data for Swamps | |||
007D3 - 007D6 - PPU data for Graveyards | |||
007D7 - 007DA - PPU data for Trails | |||
007DB - 007DE - PPU data for Lava Areas | |||
007DF - 007E2 - PPU data for Mountains | |||
007E3 - 007E6 - PPU data for Water | |||
007E7 - 007EA - PPU data for Walkable Water | |||
007EB - 007EE - PPU data for Rocks/Roadblocks | |||
007EF - 007F2 - PPU data for River Devil | |||
===Western Hyrule=== | |||
044EB - 044EE - PPU data for Grass on Battlefield | |||
===Eastern Hyrule=== | |||
from to | |||
---- ---- | |||
084DF - 084E2 - PPU data for Leaves of Trees on Battlefield | |||
084E3 - 084E6 - PPU data for Hanging Leaves on Battlefield | |||
084EB - 084EE - PPU data for Grass on Battlefield | |||
===Towns=== | |||
from to | |||
---- ---- | |||
0C3F6 - 0C3F9 - PPU data for Top of Exterior Windows | |||
0C3FA - 0C3FD - PPU data for Bottom of Exterior Windows | |||
0C44E - 0C451 - PPU data for left side of Clouds | |||
0C452 - 0C455 - PPU data for right side of Larger Clouds | |||
0C456 - 0C459 - PPU data for right side of Smaller Clouds | |||
0C45A - 0C45D - PPU data for angle of tunnel right | |||
0C45E - 0C461 - PPU data for tunnel wall right | |||
0C4E2 - 0C4E5 - PPU data for floors inside buildings | |||
0C6B2 - 0C6B5 - PPU data for Sky | |||
0C6BA - 0C6BD - PPU data for background of Basements | |||
0C6C6 - 0C6C9 - PPU data for Bushs | |||
0C6FE - 0C701 - PPU data for Ground | |||
0C706 - 0C709 - PPU data for Walls in Basements | |||
==Palace Data== | |||
from to | |||
---- ---- | |||
10480 - 104DF - Palettes for Outside the 6 Palaces | |||
13F10 - 13F6F - Palettes for the 6 Palaces Interiors | |||
1C46B - 1C47A - Palette for Overworld | |||
1C47B - 1C48A - Sprite pallet set for Overworld | |||
===Graphics Set=== | |||
1CD3A - Graphics Set for Palace 1 | |||
1CD3B - Graphics Set for Palace 2 | |||
1CD3C - Graphics Set for Palace 3 | |||
1CD3E - Graphics Set for Palace 4 | |||
1CD42 - Graphics Set for Palace 5 | |||
1CD43 - Graphics Set for Palace 6 | |||
1CD44 - Graphics Set for Great Palace | |||
===Palette Pointers=== | |||
1CD45 - Palette Pointer for Palace 1 | |||
1CD46 - Palette Pointer for Palace 2 | |||
1CD47 - Palette Pointer for Palace 3 | |||
1CD49 - Palette Pointer for Palace 4 | |||
1CD4D - Palette Pointer for Palace 5 | |||
1CD4E - Palette Pointer for Palace 6 | |||
1CD4F - Palette Pointer for Great Palace | |||
== Overworld == | |||
=== Overworld Map Data === | |||
506C - 538C - West Hyrule | |||
665C - 6942 - Death Mountain | |||
9056 - 936F - East Hyrule | |||
A65C - A942 - Maze Island | |||
The 4 Overworld maps are 64 tiles wide, and their respective heights are variable. Overworld data is encoded in an RLE (Run Length Encoding) format. Each byte codes for a horizontal strip of terrain, as follows: | |||
xxxx .... - Length (add 1) | |||
.... xxxx - Type | |||
Table of Tile Types: | |||
0 Town | |||
1 Cave | |||
2 Palace | |||
3 Bridge | |||
4 Desert | |||
5 Grass | |||
6 Forest | |||
7 Swamp | |||
8 Graveyard | |||
9 Road | |||
A Lava | |||
B Mountain | |||
C Water | |||
D Water (walkable) | |||
E Rock | |||
F Spider | |||
Data Structure Example from West Hyrule (first four bytes starting at 0x506C): | |||
<pre>BB DC 74 FC ...</pre> | |||
* BB - 12 (B + 1) Mountain (B) Tiles | |||
[[File:Zelda2-WestHyruleByte1.png]] | |||
* DC - 14 (D + 1) Water (C) Tiles | |||
[[File:Zelda2-WestHyruleByte2.png]] | |||
* 74 - 8 (7 + 1) Desert (4) Tiles | |||
[[File:Zelda2-WesthyruleByte3.png]] | |||
* FC - 16 (F + 1) Water (C) Tiles | |||
[[File:Zelda2-WestHyruleByte4.png]] | |||
* BB DC 74 FC | |||
[[File:Zelda2-WestHyrule4Bytes.png]] | |||
=== Overworld in RAM === | |||
The compressed Overworld map is copied to Cartridge RAM to allow the game to modify the map. Data is stored between 0x7C00 and 0x7FFF. | |||
=== Palace Pointers === | |||
These control which byte in Cartridge RAM gets turned into a single rock (0B) after completing a palace. | |||
Data is Cartridge RAM pointers, the base is 0x7C00, and the offset is how many bytes into the compressed map. | |||
West Hyrule / Death Mountain | |||
479F - Palace 1 | |||
47A1 - Palace 2 | |||
47A3 - Palace 3 | |||
47A5 - Palace 4 (in Death Mountain) | |||
East Hyrule / Maze Island | |||
879F - Palace 5 | |||
87A1 - Palace 6 | |||
87A5 - Invalid pointer | |||
87A7 - Palace 4 (in Maze Island) | |||
=== Overworld Areas === | |||
Each area has 4 bytes that define various informations, like position on the Overworld, destination map number, destination world number, where Link starts in the side view mode, etc. Each byte is formatted as follows: | |||
<pre>Byte 0 | |||
.xxx xxxx - Y position | |||
x... .... - External to this world | |||
Byte 1 (offset 3F bytes from Byte 0) | |||
..xx xxxx - X position | |||
xx.. .... - On exit, appear at the location of area index minus this value (0-3) | |||
Byte 2 (offset 7E bytes from Byte 0) | |||
..xx xxxx - Map number | |||
xx.. .... - Horizontal position to enter within map | |||
0 = enter from the left | |||
1 = enter at x=256 or from the right for 2 screens maps | |||
2 = enter at x=512 or from the right for 3 screens maps | |||
3 = enter from the right for 4 screens maps | |||
Byte 3 (offset BD bytes from Byte 0) | |||
...x xxxx - World number | |||
..x. .... - Forced enter from the right edge of screen | |||
.x.. .... - Pass through | |||
x... .... - Fall in hole | |||
</pre> | |||
====West Hyrule==== | |||
from to | |||
---- ---- | |||
462F - 466D - Areas Y position | |||
466E - 46AC - Areas X position | |||
46AD - 46EB - Areas map number | |||
46EC - 472A - Areas world number | |||
====Death Mountain==== | |||
from to | |||
---- -- | |||
610C - 614A - Areas Y position | |||
614B - 6189 - Areas X position | |||
618A - 61C8 - Areas map number | |||
61C9 - 6207 - Areas world number | |||
====East Hyrule==== | |||
from to | |||
---- -- | |||
862F - 866D - Areas Y position | |||
866E - 86AC - Areas X position | |||
86AD - 86EB - Areas map number | |||
86EC - 8727 - Areas world number | |||
====Maze Island==== | |||
from to | |||
---- -- | |||
A10C - A14A - Areas Y position | |||
A14B - A189 - Areas X position | |||
A18A - A1C8 - Areas map number | |||
A1C9 - A207 - Areas world number | |||
[[Zelda_II:_The_Adventure_of_Link:List_of_areas|Click here]] for an extensive list of all areas with descriptions. | |||
==Level Data== | |||
04C4C - 04C67 - Grass Area level data | |||
04C64 - 04C78 - Forest Area level data | |||
04C8C - 04CA6 - 50 point bag level data | |||
=Unsorted Information= | |||
18027 - 1811E - Note Tables | |||
1E8B0 - Number of enemies to defeat for exp. bag or magic jar | |||
1E910 - Type of vulnarablity Bit (red) has | |||
1E911 - Type of vulnarability Bot (blue) has | |||
==Dwedit's documents (unsorted)== | |||
I just made a full document of what I know about Zelda 2's side-view areas, and copy-pasted it into datacrystal, I figure someone else can sort it out later. Haven't tested or verified it yet, so there may be a few mistakes. I just went by my level editor. | |||
<pre>Zelda 2 sideview information | |||
Address convention: | |||
I don't want to bother explaining NES memory pointers. | |||
I'll be using addresses as they reside in NES memory. $8000-$BFFF is where data rom banks are mapped in NES memory. | |||
When I say $XXXX in rom bank Y, that means a file address of ($XXXX-$8000) + Y*$4000, + $10. So a NES memory address $8123 on bank 4 means a .nes file address of $10133. | |||
Sometimes pointers point to areas other than $8000-$BFFF, such as the SRAM area $6000-$7FFF. | |||
-------------- | |||
Rom or Ram? | |||
-------------- | |||
This game was originally an FDS game, so it relies on lots of data being writable. | |||
Enemies are stored in SRAM starting at $7000 | |||
Compressed overworld maps are stored in SRAM starting at $7C00. | |||
-------------- | |||
Number of Maps | |||
-------------- | |||
Each area has 63 maps, 0-62, map #63 is an invalid map number indicating that the destination is outside. | |||
--------- | |||
Rom Banks | |||
--------- | |||
A "Rom Bank" is 16k (4000) bytes long. | |||
Each rom bank has two sets of 63 maps, except for 3 and 5, which only have one set. | |||
bank 1 contains west hyrule/death mountain | |||
bank 2 contains east hyrule/maze island | |||
bank 3 contains towns | |||
bank 4 contains palaces 1,2,5, then palaces 3,4,6. | |||
bank 5 contains the great palace | |||
---------------------------- | |||
Map and Enemy Pointer Tables | |||
---------------------------- | |||
Map pointers point to ROM in the $8000-$BFFF range. | |||
Enemy pointers point to SRAM in the $7000-$7xxx range, this is so the game can keep track of defeated enemies. | |||
Information for the second set of maps/enemies comes $1ADD later. | |||
Enemy data for all 126 maps is copied from $88A0 to $7000. (length unknown?) | |||
For the first set of 63 maps: | |||
$8523 - map pointers | |||
$85A1 - enemy pointers | |||
For the second set of 63 maps: | |||
$A000 - map pointers | |||
$A07E - enemy pointers | |||
For the "behind this map" maps (1-7) specified by header byte 3 (there is no back map #0): | |||
$8000 - map pointers | |||
---------------------- | |||
Room connectivity data | |||
---------------------- | |||
Begins at $871B, 4 bytes per entry | |||
Begins at $A1F8 for second set of 63 maps | |||
xxxxxx.. = Destination map number (63 to go outside) | |||
......xx = Starting X coordinate on destination (times 256) | |||
Order of bytes: | |||
Left exit | |||
Down exit | |||
Up exit | |||
Right exit | |||
=================== | |||
Sideview Map Format | |||
=================== | |||
---------------------- | |||
First 4 bytes (header) | |||
---------------------- | |||
Things may vary, most of this info applies to overworld sideview maps, some may not apply for towns and palaces, some numbers may be different for those. | |||
0 - Size of level in bytes, including header | |||
1 - Flags | |||
x....... - Which Object Set - This determines which objects can appear on this map! | |||
.xx..... - Width of level (in screens, add 1) | |||
...x.... - ? | |||
....x... - "Grass", when set, adds grass tiles to map row #9 | |||
.....x.. - "bushes", when set, adds bushes tiles to map row #10 | |||
......xx - ? | |||
2 - Ground Graphics / initial floor/ceiling position | |||
The levels are made up of objects, and ground tiles. This byte selects initial floor/ceiling position, and set of ground tiles to be used by the level. | |||
x....... - "no ceiling", top 2 rows of the map are set to background tile, this overrides all | |||
.xxx.... - Sets which set of tiles assigned to the Ground tiles | |||
0 = cave | |||
1 = forest | |||
2 = lava/death water | |||
3 = swamp | |||
4 = sand/grass | |||
5 = volcano (cave with brighter wall) | |||
6 = North Castle | |||
7 = Cave with clear wall (rocks outside) | |||
....xxxx - Initial position of floor/ceiling | |||
0-7 = Floor at 2-9 (from bottom), Ceiling at 1 from top | |||
8-14 = Ceiling at 2-8 (from top) | |||
15 = Filled in with wall tile | |||
3 - Palette and back tiles byte | |||
xx...... - Palette for sprites | |||
0 = black borders | |||
1 = dark colored borders | |||
2,3 = not used by game, give weird colors | |||
..xxx... - Background Palette | |||
0 = north castle | |||
1 = cave palette (dark without candle for overworld maps) | |||
2 = desert | |||
3 = grass | |||
4 = forest | |||
5 = swamp | |||
6 = graveyard | |||
7 = "water" palette | |||
.....xxx - Map to load behind map | |||
0 = nothing | |||
1 = clouds | |||
2 = forest (3 wide) | |||
3 = forest (4 wide) | |||
4 = forest (single tree) | |||
5 = Dead-end caves | |||
6 = long cave, dead end | |||
7 = ??? | |||
------------ | |||
Level bytes: | |||
------------ | |||
0 - | |||
xxxx.... - Y position | |||
....xxxx - Advance cursor X this many tiles after the object ("X space") | |||
1 - | |||
xxxxxxxx - Object number | |||
If Object number = 15, and Y position < 13, then this is a 3 byte object (collectable item) | |||
2 - (3 byte objects only) | |||
xxxxxxxx - For 3 byte objects only, object number (0-21, 22+ are not used) | |||
Special Y posisitons: | |||
13 - Set new ground | |||
Sets the floor and ceiling to new values, just like header byte 2 | |||
x....... - "no ceiling", top 2 rows of the map are set to background tile | |||
.xxx.... - Not used, you can't change tiles for ground | |||
....xxxx - New position of floor/ceiling | |||
0-7 = Floor at 2-9 (from bottom), Ceiling at 1 from top | |||
8-14 = Ceiling at 2-8 (from top) | |||
15 = Filled in with wall tile | |||
14 - "Skip" | |||
Sets the cursor X directly to "x space" * 16. Does not advance the cursor after this object as normal. | |||
15 - Extra objects, including lava and cactuses. These have fixed-y coordinates. | |||
----------- | |||
Map Objects | |||
----------- | |||
This part really could be done much better, instead of hard-specifying everything, see how the game handles them, see what tiles it selects, see how it assembles the structures, etc. | |||
Objects: (For Overworld sideview maps) | |||
00001111 - 3 byte object (collectable) | |||
0000xxxx - 16 different small objects | |||
xxxx.... - Object type | |||
....xxxx - Size of object (1-16) | |||
Small objects: | |||
00 = headstone | |||
01 = cross | |||
02 = angled cross | |||
03 = tree stump | |||
04 = stone table, ("stonehenge") | |||
05 = locked door (always at Y position 8) | |||
06 = sleeping princess Zelda | |||
07 = sleeping princess Zelda | |||
08 = Pit (extends to ground?) | |||
09-0E = Cloud | |||
0F = crash | |||
Big objects for Object set 0 | |||
0x = small objects | |||
1x = crash | |||
2x = forest ceiling, two high | |||
3x = forest ceiling, two high | |||
4x = curtains, two high | |||
5x = forest ceiling, one high | |||
6x = sword-destroyable blocks, one high | |||
7x = horizontal pit, one high | |||
8x = single weed, one high | |||
9x = two weeds, one high | |||
Ax = north castle steps (background), one high | |||
Bx = background bricks, used in north castle and ruins, one high | |||
Cx = strip of volcano background, one high | |||
Dx = sword-destroyable blocks, one wide | |||
Ex = background tree trunk, one wide | |||
Fx = column, one wide | |||
Big objects for Object set 1 | |||
0x = small objects | |||
1x = crash | |||
2x = wide rock floor, two high | |||
3x = wide rock ceiling, two high | |||
4x = bridge, two high | |||
5x = cave blocks, one high | |||
6x = sword-destroyable blocks, one high | |||
7x = bridge that falls apart, one high | |||
8x = single weed, one high | |||
9x = two weeds, one high | |||
Ax = horizontal pit, one high | |||
Bx = background bricks, used in north castle and ruins, one high | |||
Cx = strip of volcano background, one high | |||
Dx = sword-destroyable blocks, one wide | |||
Ex = tall rock floor, one wide | |||
Fx = stone spire | |||
Extra objects (Y position 15): | |||
0x = crash | |||
1x = crash | |||
2x = Lava at bottom of screen, three high | |||
3x = Cactus at Y position 9, grows upwards, one wide | |||
4x = Cactus with stem at Y position 9, one wide, two high | |||
5x = Elevator? | |||
60-FF = crash | |||
Objects: (for towns) | |||
Small Objects: | |||
00 = closed door with grass at bottom, 4 high 1 wide | |||
01 = open door with grass at bottom | |||
02 = open door with bricks at bottom | |||
03 = open door with vertical bricks at bottom | |||
04 = stonehenge | |||
05 = chair | |||
06 = ? | |||
07 = cloud | |||
08 = table | |||
09 = bench | |||
0A = cross | |||
0B-0E = cloud | |||
0F = crash | |||
Big objects for Object Set 0 | |||
0x = small objects | |||
1x = crash | |||
2x = cross hatched roof, two high | |||
3x = gray vertical brick roof, two high | |||
4x = green vertical brick roof, two high | |||
5x = brick building, extends to ground | |||
6x = white small brick building, extends to ground | |||
7x = grass building, extends to ground | |||
8x = white brick wall, extends to ground | |||
9x = log building, extends to ground | |||
Ax = brown square windows, one wide, Two tall. One tile Gap between windows. Repeats vertically | |||
Bx = gray windows, round on top... | |||
Cx = brown windows, round on top | |||
Dx = Underground blue bricks, two high | |||
Ex = Column | |||
Fx = castle background bricks | |||
Effects of Object Set 1 unknown | |||
Extra Objects (Y position 15) | |||
00 = Door to left | |||
01 = Door to right | |||
02 = Wall to left | |||
03 = wall to right | |||
04 = fireplace | |||
05 = fountain | |||
06 = sign | |||
07 = headstone one above ground | |||
08-0F = ? | |||
1x = single bush | |||
2x = background wall at Y pos 4, 3 wide, x tall | |||
3x = ? | |||
4x = ? | |||
5x = ? | |||
6x = bridge | |||
7x = water/lava | |||
80-FF = ? | |||
Objects: (for Palaces) | |||
Small Objects | |||
00 = Window | |||
01 = Rightward unicorn head | |||
02 = leftward wolf head | |||
03,04 = crystal return statue | |||
05,06 = locked door | |||
07 = cloud | |||
08 = small cloud | |||
09 = ironknuckle statue | |||
0A-0E = small cloud | |||
0F = crash | |||
Large Objects (set 0) | |||
0x = small objects | |||
1x = Horizontal Pit, one high | |||
2x = horizontal bricks, one high | |||
3x = breakable blocks, one high | |||
4x = steel blocks, one high | |||
5x = breaking bridge, one high | |||
6x = breakable blocks, one high | |||
7x = horizontal bricks, two high | |||
8x = curtains, two high | |||
9x = breakable blocks, two high | |||
Ax = walk-thru bricks, two high | |||
Bx = breakable blocks, one wide | |||
Cx = Column, one wide | |||
Dx = Bridge, two high | |||
Ex = Pit, one wide | |||
Fx = Horizontal Pit, extends to bottom of screen | |||
Extra Objects | |||
1x = Lava | |||
Objects: (for Great Palace) | |||
Great palace contains tiles for the "north castle" used in ending | |||
Same as above, except: | |||
09 = Zelda | |||
0A = Ironknuckle Statue | |||
1x = Canopy (for final boss room) | |||
5x = North Castle bricks | |||
6x = North Castle Steps | |||
7x = breakable bridge | |||
8x = bridge, two high | |||
9x = bricks, two high | |||
Ax = curtains, two high | |||
Bx = Walk-thru bricks, two high | |||
Cx = breakable blocks, two high | |||
Dx = breakable blocks, one wide | |||
Ex = electric barrier | |||
Fx = column | |||
============ | |||
Enemy Format | |||
============ | |||
Header: | |||
Byte 0 - Length of enemy data | |||
When selecting "Strong Enemy" for random overworld battles, advance that many bytes, data for "strong enemy" follows the first enemy set. Non-random battles do not have "strong enemy" information | |||
Bytes for enemy data: | |||
0 - | |||
....xxxx = X coordinate (in tiles) | |||
xxxx.... = Y coordinate (in tiles) | |||
Y coordinate 0 maps to row 1, otherwise maps to row 2+x | |||
1 - | |||
xx...... = Upper bits of X coordinate | |||
..xxxxxx = Enemy number (0-63) | |||
----------- | |||
Enemy lists | |||
----------- | |||
West Hyrule, Death Mountain: | |||
00 - Fairy | |||
01 - Red Jar | |||
02 - Locked Door | |||
03 - Myu | |||
04 - Bot (blue) | |||
05 - Bit (red) | |||
06 - Moa | |||
07 - Ache | |||
08 - crash | |||
09 - crash | |||
0A - Acheman | |||
0B - Bubble generator | |||
0C - Rock Generator | |||
0D - Red Deeler | |||
0E - Blue Deeler | |||
0F - Bago Bago Generator | |||
10 - Bago Bago | |||
11 - Red Octoroc (Jumping Only) | |||
12 - Red Octorock (Moving and Jumping) | |||
13 - Elevator | |||
14 - Orange Moblin | |||
15 - Red Moblin | |||
16 - Blue Moblin | |||
17 - Orange Diara | |||
18 - Red Diara | |||
19 - Orange Goryia | |||
1A - Red Goryia | |||
1B - Blue Goryia | |||
1C - Lowder | |||
1D - Moby generator | |||
1E - Moby | |||
1F - Megmet | |||
20 - Geldarm | |||
21 - Dumb Moblin Generator | |||
22 - Dumb Moblin | |||
23-FF crash | |||
East Hyrule, Maze Island | |||
00 - Fairy | |||
01 - Red Magic Jar | |||
02 - Locked Door | |||
03 - Myu | |||
04 - Bot (blue) | |||
05 - Bit (red) | |||
06 - Moa | |||
07 - Ache | |||
08 - ??? | |||
09 - ??? | |||
0A - Acheman | |||
0B - Bubble Generator | |||
0C - Rock Generator (messed up link-doll sprite in east hyrule) | |||
0D - Red Deeler | |||
0E - Blue Deeler | |||
0F - Bago Bago Generator | |||
10 - Bago Bago | |||
11 - Blue Octoroc (Jumping Only) | |||
12 - Blue Octorock (Moving and Jumping) | |||
13 - Elevator | |||
14 - Tektite | |||
15 - Eye | |||
16 - Leever | |||
17 - Boon | |||
18 - Basilisk | |||
19 - Scorpion | |||
1A - Red Lizalfo | |||
1B - Orange Lizalfo | |||
1C - Blue Lizalfo | |||
1D - Boulder Tossing Lizalfos | |||
1E-FF - Crash | |||
Towns | |||
00 - Fairy | |||
01 - Candle | |||
02 - Locked Door | |||
03 - Purple Kees | |||
04 - Purple Bot | |||
05 - Bit | |||
06 - Purple Moa | |||
07 - Purple Kees (again?) | |||
08 - Gold colored girl, crashes game if you talk to her | |||
09-24 - Various townspeople | |||
Palace 1,2,5 | |||
00 - Fairy | |||
01 - Item in Palace Sprite | |||
02 - Locked Door | |||
03 - Myu | |||
04 - Bot | |||
05 - Strike for Red Jar | |||
06 - Slow Magic Stealing Skull | |||
07 - Orange Moa | |||
08 - Falling Block Generator | |||
09 - Single falling block | |||
0A - Blue Skull Head | |||
0B - Rathead Generator | |||
0C - Rathead | |||
0D - Dripping Column | |||
0E - Fast Magic Stealing Skull | |||
0F - Bago Bago Generator | |||
10 - Bago Bago | |||
11 - Rope Jumping Only | |||
12 - Rope Jumping and Moving | |||
13 - Elevator | |||
14 - Crystal Slot | |||
15 - Crystal | |||
16 - Energy ball shooter (to down-right) | |||
17 - Energy ball shooter (to down-left) | |||
18 - Orange Iron Knuckle | |||
19 - Red Iron Knuckle | |||
1A - Blue Iron Knuckle | |||
1B - Wolf Head Generator | |||
1C - Wolf Head | |||
1D - Mago | |||
1E - Hammer Thrower | |||
1F - Red Stalfos | |||
20 - Horse Head | |||
21 - Helmethead/Gooma (5th Palace Boss) | |||
22 - Helmethead's floating head | |||
23 - Blue Stalfos | |||
24-FF crash | |||
Palace 3,4,6 | |||
00 - Fairy | |||
01 - Item in Palace sprite | |||
02 - Locked Door | |||
03 - Myu | |||
04 - Bot | |||
05 - Strike for Red Jar/Ironknuckle | |||
06 - Slow Magic Stealing Skulls | |||
07 - Orange Moa | |||
08 - Falling Blocks Generator | |||
09 - Single falling block | |||
0A - Blue Skull Head | |||
0B - Rathead Generator | |||
0C - Rathead | |||
0D - Dripping Column | |||
0E - Fast Magic Stealing Skulls | |||
0F - ??? | |||
10 - Flame | |||
11 - Rope | |||
12 - ??? | |||
13 - Elevator | |||
14 - Crystal Slot | |||
15 - Crystal | |||
16 - Energy ball shooter (to down-right) | |||
17 - Energy ball shooter (to down-left) | |||
18 - Orange Iron Knuckle | |||
19 - Red Iron Knuckle | |||
1A - Blue Iron Knuckle | |||
1B - Wolf Head Generator | |||
1C - Wolf Head | |||
1D - Wizrobe | |||
1E - Red Stalfos Knight | |||
1F - Doomknocker | |||
20 - Blue Iron Knuckle on horse | |||
21 - Dragon (6th palace boss) | |||
22 - Wizard (4th palace boss) | |||
23 - Blue Stalfos Knight | |||
00 - Fairy | |||
01 - Candle | |||
02 - Door | |||
03 - Myu | |||
04 - Bot | |||
05 - Strike for Red Jar/Ironknuckle | |||
06 - Bubble | |||
07 - Orange Moa | |||
08 - Falling blocks | |||
09 - Single falling block | |||
0A - Unicorn Head | |||
0B - Rat Head generator | |||
0C - Rat Head | |||
0D - Column dripper | |||
0E - Fast bubble | |||
0F - ? nothing | |||
10 - Fire | |||
11 - snake/octorock thingy | |||
12 - ? nothing | |||
13 - elevator | |||
14 - crystal return | |||
15 - crystal | |||
16 - unicorn head shooter (to down-right) | |||
17 - unicorn head shooter (to down-left) | |||
18 - Orange Ironknuckle | |||
19 - Red Ironknuckle | |||
1A - Blue Ironknuckle | |||
1B - red wolf head generator | |||
1C - wolf head | |||
1D - reflect wizrobe | |||
1E - Red stalfos | |||
1F - blue boomerang-club thing | |||
20 - Ironknuckle on horse | |||
21 - 6th palace boss | |||
22 - 4th palace boss | |||
23 - Blue stalfos | |||
24-FF crash | |||
Great Palace (NOT VERIFED!) | |||
00 - Fairy | |||
01 - Red Magic Jar | |||
02 - Locked Door | |||
03 - Myu | |||
04 - Bot (blue) | |||
05 - Bit (red) | |||
06 - Moa | |||
07 - Ache | |||
08 - ??? | |||
09 - ??? | |||
0A - Acheman | |||
0B - Bubble Generator | |||
0C - Rock Generator | |||
0D - Red Deeler | |||
0E - Blue Deeler | |||
0F - Fire Bago Bago Generator | |||
10 - Fire Bago Bago | |||
11 - Fire Rope Jumping Only | |||
12 - Fire Rope Jumping and Moving | |||
13 - Elevator | |||
14 - Slow Magic Stealing Skull | |||
15 - Fast Magic Stealing Skull | |||
16 - Orange Skull Head | |||
17 - Large Magic Stealing Skull | |||
18 - Orange Dreadhawk | |||
19 - Red Dreadhawk | |||
1A - Blue Dreadhawk | |||
1B - ??? | |||
1C - ??? | |||
1D - Firebird | |||
1E - King Bot | |||
1F - ??? | |||
20 - Barrier for Grand Palace | |||
21 - ??? | |||
22 - Thunder Bird Boss | |||
23 - Trigger for Dark Link battle | |||
24-FF crash | |||
</pre> | |||
Information about overworld locations, kinda overlaps with the information there, but made by someone who actually understatnds bitfields :) [But does he ''understand'' them???] | |||
<pre> | |||
---------------------------- | |||
"Browse Around" information | |||
---------------------------- | |||
locations of towns and caves and such: | |||
base addresses | |||
0x462F west hyrule | |||
0x610C death mtn | |||
0x862F east hyrule | |||
0xA10C maze island | |||
Base address is for "Y" | |||
Add 3F to get "X" | |||
Add 7E to get "Z" | |||
Add BD to get "W" | |||
"Y": | |||
.xxxxxxx - Y position | |||
x....... - Is external to this world? | |||
"X": | |||
..xxxxxx - X position | |||
.x...... - Is second part of a cave? | |||
x....... - ??? | |||
"Z": | |||
..xxxxxx - Map number | |||
xx...... - Horizontal position to enter within map | |||
00 = leftmost | |||
01 = enter at x=256? or rightmost for 512 pixel wide maps? | |||
10 = enter at x=512? or rightmost for 768 pixel wide maps? | |||
11 = enter at rightmost for 1024 pixel wide maps? | |||
"W": | |||
...xxxxx - "world number"? | |||
xxx..... - "flags"? | |||
</pre> | |||
0x0106B4 - 0x0106EE - side view map area for the map with elevator in center of room with windows on each side and exit on each side (first underground room of Level 1 Palace) | |||
{{Internal Data|game=Zelda II: The Adventure of Link}} |
Latest revision as of 02:42, 24 January 2024
The following article is a ROM map for Zelda II: The Adventure of Link.
Other Documentation
Main Menu
17339 - Y position for cursor on Save Slot 1 17351 - Y position for cursor on Save Slot 2 17369 - Y position for cursor on Save Slot 3 1737F - Y position for cursor on Register Your Name 17391 - Y position for cursor on Elimation Mode 17395 - X position for cursor
Beginning Values
17AF7 - Begin with Shield Magic 17AF8 - Begin with Jump Magic 17AF9 - Begin with Life Magic 17AFA - Begin with Fairy Magic 17AFB - Begin with Fire Magic 17AFC - Begin with Reflect Magic 17AFD - Begin with Spell Magic 17AFE - Begin with Thunder Magic 17AFF - Number of Magic Containers to begin game 17B00 - Number of Heart Containers to begin game 17B01 - Begin with Candle 17B02 - Begin with Power Glove 17B03 - Begin with Raft 17B04 - Begin with Boots 17B05 - Begin with Flute 17B06 - Begin with Cross 17B07 - Begin with Hammer 17B08 - Begin with Magic Key 17B10 - Number of Crystals to begin game 17B12 - Techs (Downward Thrust 10) (Upward Thrust 04) (Both 14) 17B1D - 0x017B24 - Letter Values when blanking a name out 17B25 - 0x017C04 - Bit defaults for sprites (keys, items, etc.) 1C369 - Number of lives to begin game
Magic Spell Effect Pointers
from to ---- ---- 00E58 - 00E59 - Shield 00E5A - 00E5B - Jump 00E5C - 00E5D - Life 00E5E - 00E5F - Fairy 00E60 - 00E61 - Fire 00E62 - 00E63 - Reflect 00E64 - 00E65 - Spell 00E66 - 00E67 - Thunder
It's possible to alter the order in which Link "learns" magic spells by re-arranging the data from [$E58-$E67]. (For example, to make Thunder the first spell Link acquires, replace the data at [$E58-$E59] with that from [$E66-$E67]. Note, however, that the spell will still be under the first slot and named "Shield.")
Sound Data
18000 Music Engine Entry Point, Title Screen (Replace with 'RTS' to disable the music engine) 19000 Music Engine Entry Point, Rest of the Game (Replace with 'RTS' to disable the music engine) 1A01A Overworld music string 1A027 Battleground music string 1A02C "Got a Heart/Item/Etc." music string
PPU Data
Overworld
from to ---- ---- 007B3 - 007B6 - PPU data for Towns 007B7 - 007BA - PPU data for Caves 007BB - 007BE - PPU data for Palaces 007BF - 007C2 - PPU data for Bridges 007C3 - 007C6 - PPU data for Desert 007C7 - 007CA - PPU data for Grass Areas 007CB - 007CE - PPU data for Forests 007CF - 007D2 - PPU data for Swamps 007D3 - 007D6 - PPU data for Graveyards 007D7 - 007DA - PPU data for Trails 007DB - 007DE - PPU data for Lava Areas 007DF - 007E2 - PPU data for Mountains 007E3 - 007E6 - PPU data for Water 007E7 - 007EA - PPU data for Walkable Water 007EB - 007EE - PPU data for Rocks/Roadblocks 007EF - 007F2 - PPU data for River Devil
Western Hyrule
044EB - 044EE - PPU data for Grass on Battlefield
Eastern Hyrule
from to ---- ---- 084DF - 084E2 - PPU data for Leaves of Trees on Battlefield 084E3 - 084E6 - PPU data for Hanging Leaves on Battlefield 084EB - 084EE - PPU data for Grass on Battlefield
Towns
from to ---- ---- 0C3F6 - 0C3F9 - PPU data for Top of Exterior Windows 0C3FA - 0C3FD - PPU data for Bottom of Exterior Windows 0C44E - 0C451 - PPU data for left side of Clouds 0C452 - 0C455 - PPU data for right side of Larger Clouds 0C456 - 0C459 - PPU data for right side of Smaller Clouds 0C45A - 0C45D - PPU data for angle of tunnel right 0C45E - 0C461 - PPU data for tunnel wall right 0C4E2 - 0C4E5 - PPU data for floors inside buildings 0C6B2 - 0C6B5 - PPU data for Sky 0C6BA - 0C6BD - PPU data for background of Basements 0C6C6 - 0C6C9 - PPU data for Bushs 0C6FE - 0C701 - PPU data for Ground 0C706 - 0C709 - PPU data for Walls in Basements
Palace Data
from to ---- ---- 10480 - 104DF - Palettes for Outside the 6 Palaces 13F10 - 13F6F - Palettes for the 6 Palaces Interiors 1C46B - 1C47A - Palette for Overworld 1C47B - 1C48A - Sprite pallet set for Overworld
Graphics Set
1CD3A - Graphics Set for Palace 1 1CD3B - Graphics Set for Palace 2 1CD3C - Graphics Set for Palace 3 1CD3E - Graphics Set for Palace 4 1CD42 - Graphics Set for Palace 5 1CD43 - Graphics Set for Palace 6 1CD44 - Graphics Set for Great Palace
Palette Pointers
1CD45 - Palette Pointer for Palace 1 1CD46 - Palette Pointer for Palace 2 1CD47 - Palette Pointer for Palace 3 1CD49 - Palette Pointer for Palace 4 1CD4D - Palette Pointer for Palace 5 1CD4E - Palette Pointer for Palace 6 1CD4F - Palette Pointer for Great Palace
Overworld
Overworld Map Data
506C - 538C - West Hyrule 665C - 6942 - Death Mountain 9056 - 936F - East Hyrule A65C - A942 - Maze Island
The 4 Overworld maps are 64 tiles wide, and their respective heights are variable. Overworld data is encoded in an RLE (Run Length Encoding) format. Each byte codes for a horizontal strip of terrain, as follows:
xxxx .... - Length (add 1) .... xxxx - Type
Table of Tile Types:
0 Town 1 Cave 2 Palace 3 Bridge 4 Desert 5 Grass 6 Forest 7 Swamp 8 Graveyard 9 Road A Lava B Mountain C Water D Water (walkable) E Rock F Spider
Data Structure Example from West Hyrule (first four bytes starting at 0x506C):
BB DC 74 FC ...
- BB - 12 (B + 1) Mountain (B) Tiles
- DC - 14 (D + 1) Water (C) Tiles
- 74 - 8 (7 + 1) Desert (4) Tiles
- FC - 16 (F + 1) Water (C) Tiles
- BB DC 74 FC
Overworld in RAM
The compressed Overworld map is copied to Cartridge RAM to allow the game to modify the map. Data is stored between 0x7C00 and 0x7FFF.
Palace Pointers
These control which byte in Cartridge RAM gets turned into a single rock (0B) after completing a palace. Data is Cartridge RAM pointers, the base is 0x7C00, and the offset is how many bytes into the compressed map.
West Hyrule / Death Mountain 479F - Palace 1 47A1 - Palace 2 47A3 - Palace 3 47A5 - Palace 4 (in Death Mountain) East Hyrule / Maze Island 879F - Palace 5 87A1 - Palace 6 87A5 - Invalid pointer 87A7 - Palace 4 (in Maze Island)
Overworld Areas
Each area has 4 bytes that define various informations, like position on the Overworld, destination map number, destination world number, where Link starts in the side view mode, etc. Each byte is formatted as follows:
Byte 0 .xxx xxxx - Y position x... .... - External to this world Byte 1 (offset 3F bytes from Byte 0) ..xx xxxx - X position xx.. .... - On exit, appear at the location of area index minus this value (0-3) Byte 2 (offset 7E bytes from Byte 0) ..xx xxxx - Map number xx.. .... - Horizontal position to enter within map 0 = enter from the left 1 = enter at x=256 or from the right for 2 screens maps 2 = enter at x=512 or from the right for 3 screens maps 3 = enter from the right for 4 screens maps Byte 3 (offset BD bytes from Byte 0) ...x xxxx - World number ..x. .... - Forced enter from the right edge of screen .x.. .... - Pass through x... .... - Fall in hole
West Hyrule
from to ---- ---- 462F - 466D - Areas Y position 466E - 46AC - Areas X position 46AD - 46EB - Areas map number 46EC - 472A - Areas world number
Death Mountain
from to ---- -- 610C - 614A - Areas Y position 614B - 6189 - Areas X position 618A - 61C8 - Areas map number 61C9 - 6207 - Areas world number
East Hyrule
from to ---- -- 862F - 866D - Areas Y position 866E - 86AC - Areas X position 86AD - 86EB - Areas map number 86EC - 8727 - Areas world number
Maze Island
from to ---- -- A10C - A14A - Areas Y position A14B - A189 - Areas X position A18A - A1C8 - Areas map number A1C9 - A207 - Areas world number
Click here for an extensive list of all areas with descriptions.
Level Data
04C4C - 04C67 - Grass Area level data 04C64 - 04C78 - Forest Area level data 04C8C - 04CA6 - 50 point bag level data
Unsorted Information
18027 - 1811E - Note Tables 1E8B0 - Number of enemies to defeat for exp. bag or magic jar 1E910 - Type of vulnarablity Bit (red) has 1E911 - Type of vulnarability Bot (blue) has
Dwedit's documents (unsorted)
I just made a full document of what I know about Zelda 2's side-view areas, and copy-pasted it into datacrystal, I figure someone else can sort it out later. Haven't tested or verified it yet, so there may be a few mistakes. I just went by my level editor.
Zelda 2 sideview information Address convention: I don't want to bother explaining NES memory pointers. I'll be using addresses as they reside in NES memory. $8000-$BFFF is where data rom banks are mapped in NES memory. When I say $XXXX in rom bank Y, that means a file address of ($XXXX-$8000) + Y*$4000, + $10. So a NES memory address $8123 on bank 4 means a .nes file address of $10133. Sometimes pointers point to areas other than $8000-$BFFF, such as the SRAM area $6000-$7FFF. -------------- Rom or Ram? -------------- This game was originally an FDS game, so it relies on lots of data being writable. Enemies are stored in SRAM starting at $7000 Compressed overworld maps are stored in SRAM starting at $7C00. -------------- Number of Maps -------------- Each area has 63 maps, 0-62, map #63 is an invalid map number indicating that the destination is outside. --------- Rom Banks --------- A "Rom Bank" is 16k (4000) bytes long. Each rom bank has two sets of 63 maps, except for 3 and 5, which only have one set. bank 1 contains west hyrule/death mountain bank 2 contains east hyrule/maze island bank 3 contains towns bank 4 contains palaces 1,2,5, then palaces 3,4,6. bank 5 contains the great palace ---------------------------- Map and Enemy Pointer Tables ---------------------------- Map pointers point to ROM in the $8000-$BFFF range. Enemy pointers point to SRAM in the $7000-$7xxx range, this is so the game can keep track of defeated enemies. Information for the second set of maps/enemies comes $1ADD later. Enemy data for all 126 maps is copied from $88A0 to $7000. (length unknown?) For the first set of 63 maps: $8523 - map pointers $85A1 - enemy pointers For the second set of 63 maps: $A000 - map pointers $A07E - enemy pointers For the "behind this map" maps (1-7) specified by header byte 3 (there is no back map #0): $8000 - map pointers ---------------------- Room connectivity data ---------------------- Begins at $871B, 4 bytes per entry Begins at $A1F8 for second set of 63 maps xxxxxx.. = Destination map number (63 to go outside) ......xx = Starting X coordinate on destination (times 256) Order of bytes: Left exit Down exit Up exit Right exit =================== Sideview Map Format =================== ---------------------- First 4 bytes (header) ---------------------- Things may vary, most of this info applies to overworld sideview maps, some may not apply for towns and palaces, some numbers may be different for those. 0 - Size of level in bytes, including header 1 - Flags x....... - Which Object Set - This determines which objects can appear on this map! .xx..... - Width of level (in screens, add 1) ...x.... - ? ....x... - "Grass", when set, adds grass tiles to map row #9 .....x.. - "bushes", when set, adds bushes tiles to map row #10 ......xx - ? 2 - Ground Graphics / initial floor/ceiling position The levels are made up of objects, and ground tiles. This byte selects initial floor/ceiling position, and set of ground tiles to be used by the level. x....... - "no ceiling", top 2 rows of the map are set to background tile, this overrides all .xxx.... - Sets which set of tiles assigned to the Ground tiles 0 = cave 1 = forest 2 = lava/death water 3 = swamp 4 = sand/grass 5 = volcano (cave with brighter wall) 6 = North Castle 7 = Cave with clear wall (rocks outside) ....xxxx - Initial position of floor/ceiling 0-7 = Floor at 2-9 (from bottom), Ceiling at 1 from top 8-14 = Ceiling at 2-8 (from top) 15 = Filled in with wall tile 3 - Palette and back tiles byte xx...... - Palette for sprites 0 = black borders 1 = dark colored borders 2,3 = not used by game, give weird colors ..xxx... - Background Palette 0 = north castle 1 = cave palette (dark without candle for overworld maps) 2 = desert 3 = grass 4 = forest 5 = swamp 6 = graveyard 7 = "water" palette .....xxx - Map to load behind map 0 = nothing 1 = clouds 2 = forest (3 wide) 3 = forest (4 wide) 4 = forest (single tree) 5 = Dead-end caves 6 = long cave, dead end 7 = ??? ------------ Level bytes: ------------ 0 - xxxx.... - Y position ....xxxx - Advance cursor X this many tiles after the object ("X space") 1 - xxxxxxxx - Object number If Object number = 15, and Y position < 13, then this is a 3 byte object (collectable item) 2 - (3 byte objects only) xxxxxxxx - For 3 byte objects only, object number (0-21, 22+ are not used) Special Y posisitons: 13 - Set new ground Sets the floor and ceiling to new values, just like header byte 2 x....... - "no ceiling", top 2 rows of the map are set to background tile .xxx.... - Not used, you can't change tiles for ground ....xxxx - New position of floor/ceiling 0-7 = Floor at 2-9 (from bottom), Ceiling at 1 from top 8-14 = Ceiling at 2-8 (from top) 15 = Filled in with wall tile 14 - "Skip" Sets the cursor X directly to "x space" * 16. Does not advance the cursor after this object as normal. 15 - Extra objects, including lava and cactuses. These have fixed-y coordinates. ----------- Map Objects ----------- This part really could be done much better, instead of hard-specifying everything, see how the game handles them, see what tiles it selects, see how it assembles the structures, etc. Objects: (For Overworld sideview maps) 00001111 - 3 byte object (collectable) 0000xxxx - 16 different small objects xxxx.... - Object type ....xxxx - Size of object (1-16) Small objects: 00 = headstone 01 = cross 02 = angled cross 03 = tree stump 04 = stone table, ("stonehenge") 05 = locked door (always at Y position 8) 06 = sleeping princess Zelda 07 = sleeping princess Zelda 08 = Pit (extends to ground?) 09-0E = Cloud 0F = crash Big objects for Object set 0 0x = small objects 1x = crash 2x = forest ceiling, two high 3x = forest ceiling, two high 4x = curtains, two high 5x = forest ceiling, one high 6x = sword-destroyable blocks, one high 7x = horizontal pit, one high 8x = single weed, one high 9x = two weeds, one high Ax = north castle steps (background), one high Bx = background bricks, used in north castle and ruins, one high Cx = strip of volcano background, one high Dx = sword-destroyable blocks, one wide Ex = background tree trunk, one wide Fx = column, one wide Big objects for Object set 1 0x = small objects 1x = crash 2x = wide rock floor, two high 3x = wide rock ceiling, two high 4x = bridge, two high 5x = cave blocks, one high 6x = sword-destroyable blocks, one high 7x = bridge that falls apart, one high 8x = single weed, one high 9x = two weeds, one high Ax = horizontal pit, one high Bx = background bricks, used in north castle and ruins, one high Cx = strip of volcano background, one high Dx = sword-destroyable blocks, one wide Ex = tall rock floor, one wide Fx = stone spire Extra objects (Y position 15): 0x = crash 1x = crash 2x = Lava at bottom of screen, three high 3x = Cactus at Y position 9, grows upwards, one wide 4x = Cactus with stem at Y position 9, one wide, two high 5x = Elevator? 60-FF = crash Objects: (for towns) Small Objects: 00 = closed door with grass at bottom, 4 high 1 wide 01 = open door with grass at bottom 02 = open door with bricks at bottom 03 = open door with vertical bricks at bottom 04 = stonehenge 05 = chair 06 = ? 07 = cloud 08 = table 09 = bench 0A = cross 0B-0E = cloud 0F = crash Big objects for Object Set 0 0x = small objects 1x = crash 2x = cross hatched roof, two high 3x = gray vertical brick roof, two high 4x = green vertical brick roof, two high 5x = brick building, extends to ground 6x = white small brick building, extends to ground 7x = grass building, extends to ground 8x = white brick wall, extends to ground 9x = log building, extends to ground Ax = brown square windows, one wide, Two tall. One tile Gap between windows. Repeats vertically Bx = gray windows, round on top... Cx = brown windows, round on top Dx = Underground blue bricks, two high Ex = Column Fx = castle background bricks Effects of Object Set 1 unknown Extra Objects (Y position 15) 00 = Door to left 01 = Door to right 02 = Wall to left 03 = wall to right 04 = fireplace 05 = fountain 06 = sign 07 = headstone one above ground 08-0F = ? 1x = single bush 2x = background wall at Y pos 4, 3 wide, x tall 3x = ? 4x = ? 5x = ? 6x = bridge 7x = water/lava 80-FF = ? Objects: (for Palaces) Small Objects 00 = Window 01 = Rightward unicorn head 02 = leftward wolf head 03,04 = crystal return statue 05,06 = locked door 07 = cloud 08 = small cloud 09 = ironknuckle statue 0A-0E = small cloud 0F = crash Large Objects (set 0) 0x = small objects 1x = Horizontal Pit, one high 2x = horizontal bricks, one high 3x = breakable blocks, one high 4x = steel blocks, one high 5x = breaking bridge, one high 6x = breakable blocks, one high 7x = horizontal bricks, two high 8x = curtains, two high 9x = breakable blocks, two high Ax = walk-thru bricks, two high Bx = breakable blocks, one wide Cx = Column, one wide Dx = Bridge, two high Ex = Pit, one wide Fx = Horizontal Pit, extends to bottom of screen Extra Objects 1x = Lava Objects: (for Great Palace) Great palace contains tiles for the "north castle" used in ending Same as above, except: 09 = Zelda 0A = Ironknuckle Statue 1x = Canopy (for final boss room) 5x = North Castle bricks 6x = North Castle Steps 7x = breakable bridge 8x = bridge, two high 9x = bricks, two high Ax = curtains, two high Bx = Walk-thru bricks, two high Cx = breakable blocks, two high Dx = breakable blocks, one wide Ex = electric barrier Fx = column ============ Enemy Format ============ Header: Byte 0 - Length of enemy data When selecting "Strong Enemy" for random overworld battles, advance that many bytes, data for "strong enemy" follows the first enemy set. Non-random battles do not have "strong enemy" information Bytes for enemy data: 0 - ....xxxx = X coordinate (in tiles) xxxx.... = Y coordinate (in tiles) Y coordinate 0 maps to row 1, otherwise maps to row 2+x 1 - xx...... = Upper bits of X coordinate ..xxxxxx = Enemy number (0-63) ----------- Enemy lists ----------- West Hyrule, Death Mountain: 00 - Fairy 01 - Red Jar 02 - Locked Door 03 - Myu 04 - Bot (blue) 05 - Bit (red) 06 - Moa 07 - Ache 08 - crash 09 - crash 0A - Acheman 0B - Bubble generator 0C - Rock Generator 0D - Red Deeler 0E - Blue Deeler 0F - Bago Bago Generator 10 - Bago Bago 11 - Red Octoroc (Jumping Only) 12 - Red Octorock (Moving and Jumping) 13 - Elevator 14 - Orange Moblin 15 - Red Moblin 16 - Blue Moblin 17 - Orange Diara 18 - Red Diara 19 - Orange Goryia 1A - Red Goryia 1B - Blue Goryia 1C - Lowder 1D - Moby generator 1E - Moby 1F - Megmet 20 - Geldarm 21 - Dumb Moblin Generator 22 - Dumb Moblin 23-FF crash East Hyrule, Maze Island 00 - Fairy 01 - Red Magic Jar 02 - Locked Door 03 - Myu 04 - Bot (blue) 05 - Bit (red) 06 - Moa 07 - Ache 08 - ??? 09 - ??? 0A - Acheman 0B - Bubble Generator 0C - Rock Generator (messed up link-doll sprite in east hyrule) 0D - Red Deeler 0E - Blue Deeler 0F - Bago Bago Generator 10 - Bago Bago 11 - Blue Octoroc (Jumping Only) 12 - Blue Octorock (Moving and Jumping) 13 - Elevator 14 - Tektite 15 - Eye 16 - Leever 17 - Boon 18 - Basilisk 19 - Scorpion 1A - Red Lizalfo 1B - Orange Lizalfo 1C - Blue Lizalfo 1D - Boulder Tossing Lizalfos 1E-FF - Crash Towns 00 - Fairy 01 - Candle 02 - Locked Door 03 - Purple Kees 04 - Purple Bot 05 - Bit 06 - Purple Moa 07 - Purple Kees (again?) 08 - Gold colored girl, crashes game if you talk to her 09-24 - Various townspeople Palace 1,2,5 00 - Fairy 01 - Item in Palace Sprite 02 - Locked Door 03 - Myu 04 - Bot 05 - Strike for Red Jar 06 - Slow Magic Stealing Skull 07 - Orange Moa 08 - Falling Block Generator 09 - Single falling block 0A - Blue Skull Head 0B - Rathead Generator 0C - Rathead 0D - Dripping Column 0E - Fast Magic Stealing Skull 0F - Bago Bago Generator 10 - Bago Bago 11 - Rope Jumping Only 12 - Rope Jumping and Moving 13 - Elevator 14 - Crystal Slot 15 - Crystal 16 - Energy ball shooter (to down-right) 17 - Energy ball shooter (to down-left) 18 - Orange Iron Knuckle 19 - Red Iron Knuckle 1A - Blue Iron Knuckle 1B - Wolf Head Generator 1C - Wolf Head 1D - Mago 1E - Hammer Thrower 1F - Red Stalfos 20 - Horse Head 21 - Helmethead/Gooma (5th Palace Boss) 22 - Helmethead's floating head 23 - Blue Stalfos 24-FF crash Palace 3,4,6 00 - Fairy 01 - Item in Palace sprite 02 - Locked Door 03 - Myu 04 - Bot 05 - Strike for Red Jar/Ironknuckle 06 - Slow Magic Stealing Skulls 07 - Orange Moa 08 - Falling Blocks Generator 09 - Single falling block 0A - Blue Skull Head 0B - Rathead Generator 0C - Rathead 0D - Dripping Column 0E - Fast Magic Stealing Skulls 0F - ??? 10 - Flame 11 - Rope 12 - ??? 13 - Elevator 14 - Crystal Slot 15 - Crystal 16 - Energy ball shooter (to down-right) 17 - Energy ball shooter (to down-left) 18 - Orange Iron Knuckle 19 - Red Iron Knuckle 1A - Blue Iron Knuckle 1B - Wolf Head Generator 1C - Wolf Head 1D - Wizrobe 1E - Red Stalfos Knight 1F - Doomknocker 20 - Blue Iron Knuckle on horse 21 - Dragon (6th palace boss) 22 - Wizard (4th palace boss) 23 - Blue Stalfos Knight 00 - Fairy 01 - Candle 02 - Door 03 - Myu 04 - Bot 05 - Strike for Red Jar/Ironknuckle 06 - Bubble 07 - Orange Moa 08 - Falling blocks 09 - Single falling block 0A - Unicorn Head 0B - Rat Head generator 0C - Rat Head 0D - Column dripper 0E - Fast bubble 0F - ? nothing 10 - Fire 11 - snake/octorock thingy 12 - ? nothing 13 - elevator 14 - crystal return 15 - crystal 16 - unicorn head shooter (to down-right) 17 - unicorn head shooter (to down-left) 18 - Orange Ironknuckle 19 - Red Ironknuckle 1A - Blue Ironknuckle 1B - red wolf head generator 1C - wolf head 1D - reflect wizrobe 1E - Red stalfos 1F - blue boomerang-club thing 20 - Ironknuckle on horse 21 - 6th palace boss 22 - 4th palace boss 23 - Blue stalfos 24-FF crash Great Palace (NOT VERIFED!) 00 - Fairy 01 - Red Magic Jar 02 - Locked Door 03 - Myu 04 - Bot (blue) 05 - Bit (red) 06 - Moa 07 - Ache 08 - ??? 09 - ??? 0A - Acheman 0B - Bubble Generator 0C - Rock Generator 0D - Red Deeler 0E - Blue Deeler 0F - Fire Bago Bago Generator 10 - Fire Bago Bago 11 - Fire Rope Jumping Only 12 - Fire Rope Jumping and Moving 13 - Elevator 14 - Slow Magic Stealing Skull 15 - Fast Magic Stealing Skull 16 - Orange Skull Head 17 - Large Magic Stealing Skull 18 - Orange Dreadhawk 19 - Red Dreadhawk 1A - Blue Dreadhawk 1B - ??? 1C - ??? 1D - Firebird 1E - King Bot 1F - ??? 20 - Barrier for Grand Palace 21 - ??? 22 - Thunder Bird Boss 23 - Trigger for Dark Link battle 24-FF crash
Information about overworld locations, kinda overlaps with the information there, but made by someone who actually understatnds bitfields :) [But does he understand them???]
---------------------------- "Browse Around" information ---------------------------- locations of towns and caves and such: base addresses 0x462F west hyrule 0x610C death mtn 0x862F east hyrule 0xA10C maze island Base address is for "Y" Add 3F to get "X" Add 7E to get "Z" Add BD to get "W" "Y": .xxxxxxx - Y position x....... - Is external to this world? "X": ..xxxxxx - X position .x...... - Is second part of a cave? x....... - ??? "Z": ..xxxxxx - Map number xx...... - Horizontal position to enter within map 00 = leftmost 01 = enter at x=256? or rightmost for 512 pixel wide maps? 10 = enter at x=512? or rightmost for 768 pixel wide maps? 11 = enter at rightmost for 1024 pixel wide maps? "W": ...xxxxx - "world number"? xxx..... - "flags"?
0x0106B4 - 0x0106EE - side view map area for the map with elevator in center of room with windows on each side and exit on each side (first underground room of Level 1 Palace)
Internal Data for Zelda II: The Adventure of Link
| |
---|---|