If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Zelda II: The Adventure of Link/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Xkeeper moved page Zelda II: The Adventure of Link:RAM map to Zelda II: The Adventure of Link/RAM map: normalize subpages and titles) |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 76: | Line 76: | ||
$006B - Projectile | $006B - Projectile | ||
$0070 - | $0070 - Link's X speed | ||
$0071 to $0076 Enemy's | $0071 to $0076 Enemy's | ||
Line 111: | Line 111: | ||
$00A6 - Enemy 1's | $00A6 - Enemy 1's | ||
$00A7 - | $00A7 - Solids hit detection bits, 0000dcba, a = left, b = right, c = down, d = up. | ||
$00AF - Enemy 6's current-item-ID OR something else(AI?) | $00AF - Enemy 6's current-item-ID OR something else(AI?) | ||
Line 166: | Line 166: | ||
$00D1 - maximum number of map pages for this scene | $00D1 - maximum number of map pages for this scene | ||
$00E0-EF - Music variables (behaves different for title screen vs. normal game) | |||
Title Screen: | |||
$00EB - Sound effect flags (auto-clears when starts playing) | |||
bit 0 ($01): Letter entry sound | |||
bit 1 ($02): Select different letter sound | |||
bit 2 ($04): Select different menu item sound | |||
bit 3 ($08): Elimination sound | |||
Normal Game: | |||
$00EA - Non-zero value written pauses music, zero resumes | |||
$00EB - Music command | |||
Note: Seems that bit 2 makes music quieter when set. | |||
These are values in the overworld. In a town is different. | |||
$00: Value cleared to $00 once acknowledged by music engine | |||
$01: Start overworld music with intro | |||
$02: Start overworld music without intro | |||
$03: Same as $01 | |||
$04: Start Battle music | |||
$10: Get Item | |||
$80: Something to do with switching to a different selection of songs. Does this when entering a town. | |||
$00EC-EF - Sound Effect bitfields. Set bits to play sound effects | |||
$00F5 - Controller 1 button pressed | $00F5 - Controller 1 button pressed | ||
Line 181: | Line 202: | ||
$0306 - Letter Written to Screen | $0306 - Letter Written to Screen | ||
$0307 - Text memory offset? | $0307 - Text memory offset? | ||
$03D6 - Player's X Subpixel | |||
$03D7 - Enemy 6's X Subpixel | |||
$03D8 - Enemy 5's | |||
$03D9 - Enemy 4's | |||
$03DA - Enemy 3's | |||
$03DB - Enemy 2's | |||
$03DC - Enemy 1's | |||
$040E - Enemy 6's stun-delay-when-hit timer | $040E - Enemy 6's stun-delay-when-hit timer | ||
Line 219: | Line 248: | ||
$0569 - used for counting text when displaying talk text | $0569 - used for counting text when displaying talk text | ||
$056B - involved with Life Town's Bagu Bridge, when $56B=2 and $796=1 then Bagu Bridge will be built | $056B - involved with Life Town's Bagu Bridge, when $56B=2 and $796=1 then Bagu Bridge will be built | ||
$056B - Town Code | |||
$056C - Palace Code | |||
$057D - ?Player Y Delta | $057D - ?Player Y Delta | ||
Line 286: | Line 316: | ||
$0709 - involved in returning to the over-world while in side-scroll? | $0709 - involved in returning to the over-world while in side-scroll? | ||
$070A - | $070A - Previous Region ? | ||
$070B - | $070B - Graphics Bank for Palaces | ||
$070C - add this value to link's MP slowly (old lady magic restore) | $070C - add this value to link's MP slowly (old lady magic restore) | ||
Line 296: | Line 326: | ||
$0728 - setting to 1 will freeze screen, prevent from exiting left/right (like during a boss battle) | $0728 - setting to 1 will freeze screen, prevent from exiting left/right (like during a boss battle) | ||
$0736 - current state | $0736 - game mode/current state | ||
side-scroll: set $561 | side-scroll: set $769,$706,$707,$56B,$56C,$561, and set $736 to 0 (to load any scene anywhere) | ||
$769 $706 $707 $56B $56C $561 | |||
rauru 03 00 01 00 F8 | |||
nabooru 03 02 02 04 F8 | |||
palaces 1 04 00 03 04 00 00 | |||
palaces 2 04 00 03 04 01 0E | |||
palaces 3 04 00 04 05 02 00 | |||
palaces 4 04 01 04 08 00 0F | |||
palaces 5 04 02 03 08 00 23 | |||
palaces 6 04 02 04 08 01 24 | |||
GP 05 02 05 09 02 00 | |||
side-scroll: set $709 to 1, set $736 to 0 (to go outside/return to over-world map) | side-scroll: set $709 to 1, set $736 to 0 (to go outside/return to over-world map) | ||
side-scroll: set $709 to 1, set $748 and $706 to target destination, set $736 to 0 (to go outside/return to over-world map) (also $707, $70A and $70B may need to be set to 0??) | side-scroll: set $709 to 1, set $748 and $706 to target destination, set $736 to 0 (to go outside/return to over-world map) (also $707, $70A and $70B may need to be set to 0??) | ||
?side-scroll: set $561 to target scene/map index, set $736 to 0,8,C (to load scene) | |||
Over-world: set $736 to 6 or 0 (enter map position u are at) | Over-world: set $736 to 6 or 0 (enter map position u are at) | ||
over-world: set $73 and $74 , then set $736 to 2 (update screen with position) | over-world: set $73 and $74 , then set $736 to 2 (update screen with position) | ||
Line 317: | Line 359: | ||
$0768 - ?changes brightness sorta? | $0768 - ?changes brightness sorta? | ||
$0769 - Bank to switch to (other than 0 or 7) | |||
$076C - begin a special routine. Changing this value has the most 'automation' | $076C - begin a special routine. Changing this value has the most 'automation' | ||
(00=restart from zelda's castle with 3 lives, 01=no routine, 02=die, 03=wake up zelda, 04=roll credits, 06=show the lives then restart the scene) | (00=restart from zelda's castle with 3 lives, 01=no routine, 02=die, 03=wake up zelda, 04=roll credits, 06=show the lives then restart the scene) | ||
Line 362: | Line 404: | ||
$079B - Have collected some water (01 - yes) | $079B - Have collected some water (01 - yes) | ||
$079C - Have collected lost child (20 -yes) | $079C - Have collected lost child (20 -yes) | ||
$079F - Number of times died | |||
$07E8 - Noise | $07E8 - Noise | ||
Line 386: | Line 429: | ||
95 is a grave tile | 95 is a grave tile | ||
51 is a bridge tile | 51 is a bridge tile | ||
$6340 to $694f - unused? | |||
$6A00 - Overworld destinations table (copied from ROM) | $6A00 - Overworld destinations table (copied from ROM) | ||
Line 400: | Line 445: | ||
$6D27 - HP for Magic Stealing Skulls | $6D27 - HP for Magic Stealing Skulls | ||
$6D41 - HP for Horsehead | $6D41 - HP for Horsehead | ||
---- Save File 1 ---- | |||
(this might just be copied directly to/from $0777 area of RAM) | |||
$7402 - Attack Level | |||
$7403 - Magic Level | |||
$7404 - Health Level | |||
$742A - Death counter (max 255) | |||
$742B - 'Second Quest' - nonzero if player has beaten the game on this file (triforce will be shown in menu) | |||
$742C - Player name (8 chars) | |||
--------------------- | |||
$740E - Beginning number of Magic Containers for new game | $740E - Beginning number of Magic Containers for new game | ||
$740F - Beginning number of Heart Containers for new game | $740F - Beginning number of Heart Containers for new game | ||
$ | |||
$ | $7A00 to $7BFF - unused? | ||
$ | |||
$7C00 to $7FFF? - Copy of overworld map in RAM. | |||
$DD4C - Beginning of graphics shown for experience (part 1) | $DD4C - Beginning of graphics shown for experience (part 1) |
Latest revision as of 02:42, 24 January 2024
The following article is a RAM map for Zelda II: The Adventure of Link.
$0012 - frame counter $0013 - set to 8 and The Player is a fairy, set to 0 and The Player is Link $0019 - draw Link's sprite? $0026 - ?Movement Tally - Increases as you walk in overworld. $0029 - Player's Current Y position $002A - Enemy 6's current Y position $002B - Enemy 5's $002C - Enemy 4's $002D - Enemy 3's $002E - Enemy 2's $002F - Enemy 1's $0030 - Projectile Y $0031 - Projectile $0032 - Projectile $0033 - Projectile $0034 - Projectile $0035 - Projectile $0036 - Sword Projectile Y On Screen $003B - Player's current map page $003C - Enemy 6's current map page $003D - Enemy 5's $003E - Enemy 4's $003F - Enemy 3's $0040 - Enemy 2's $0041 - Enemy 1's $0042 - Projectile Map Page $0043 - Projectile $0044 - Projectile $0045 - Projectile $0046 - Projectile $0047 - Projectile $004D - Player's Current X position $004E - Enemy 6's current X position $004F - Enemy 5's $0050 - Enemy 4's $0051 - Enemy 3's $0052 - Enemy 2's $0053 - Enemy 1's $0054 - Projectile X $0055 - Projectile $0056 - Projectile $0057 - Projectile $0058 - Projectile $0059 - Projectile $005F - side scroll exit side: 2 = exited left, 1 = exited right $0060 - Enemy 6's current facing direction $0061 - Enemy 5's $0062 - Enemy 4's $0063 - Enemy 3's $0064 - Enemy 2's $0065 - Enemy 1's $0066 - Projectile facing direction $0067 - Projectile $0068 - Projectile $0069 - Projectile $006A - Projectile $006B - Projectile $0070 - Link's X speed $0071 to $0076 Enemy's $0073 - Y position on map (not visually) $0074 - X position on map (not visually) $0077 - Projectile speed $0078 - Projectile $0079 - Projectile $007A - Projectile $007B - Projectile $007C - Projectile $0080 - ?Link's Sprite Index? $0086-0089 - Overworld random monster type (00 - None, 01 - Small, 02 - Big, ) $0087 - Projectile ID/type $0088 - Projectile $0089 - Projectile $008A - Projectile $008B - Projectile $008C - Projectile $008D - Projectile Flag (00 - Inactive, 01 - Active, F2-FF - Disintegrating) $009F - Player's Facing Direction (side-scroll) $00A1 - Enemy 6's ID / type $00A2 - Enemy 5's $00A3 - Enemy 4's $00A4 - Enemy 3's $00A5 - Enemy 2's $00A6 - Enemy 1's $00A7 - Solids hit detection bits, 0000dcba, a = left, b = right, c = down, d = up. $00AF - Enemy 6's current-item-ID OR something else(AI?) $00B0 - Enemy 5's $00B1 - Enemy 4's $00B2 - Enemy 3's $00B3 - Enemy 2's $00B4 - Enemy 1's $00B4 - timer for healer lady in shield-town leaves door open $00B5 2 will make link die in lava 3 move right like when win game at dark link $00B6 - Enemy 6 exists - set to 10 will make link fall down $00B7 - Enemy 5 $00B8 - Enemy 4 $00B9 - Enemy 3 $00BA - Enemy 2 $00BB - Enemy 1 $00BC - Enemy 6's ?sram Y index (LDY BC,X ; then LDA ($D6),Y if bit7 is set it means monster killed?) $00BD - Enemy 5's $00BE - Enemy 4's $00BF - Enemy 3's $00C0 - Enemy 2's $00C1 - Enemy 1's $00C2 - Enemy 6's HP $00C3 - Enemy 5's HP $00C4 - Enemy 4's HP $00C5 - Enemy 3's HP $00C6 - Enemy 2's HP $00C7 - Enemy 1's HP $00DE - ?set to 1 to prevent moving, 0 to allow?? $00A1 - Enemy 6's ID $00A2 - Enemy 5's ID $00A3 - Enemy 4's ID $00A4 - Enemy 3's ID $00A5 - Enemy 2's ID $00A6 - Enemy 1's ID $00C2 - Current amount of health enemy 6 has $00C3 - Current amount of health enemy 5 has $00C4 - Current amount of health enemy 4 has $00C5 - Current amount of health enemy 3 has $00C6 - Current amount of health enemy 2 has $00C7 - Current amount of health enemy 1 has $00CC - ?Player X On Screen? $00D1 - maximum number of map pages for this scene $00E0-EF - Music variables (behaves different for title screen vs. normal game) Title Screen: $00EB - Sound effect flags (auto-clears when starts playing) bit 0 ($01): Letter entry sound bit 1 ($02): Select different letter sound bit 2 ($04): Select different menu item sound bit 3 ($08): Elimination sound Normal Game: $00EA - Non-zero value written pauses music, zero resumes $00EB - Music command Note: Seems that bit 2 makes music quieter when set. These are values in the overworld. In a town is different. $00: Value cleared to $00 once acknowledged by music engine $01: Start overworld music with intro $02: Start overworld music without intro $03: Same as $01 $04: Start Battle music $10: Get Item $80: Something to do with switching to a different selection of songs. Does this when entering a town. $00EC-EF - Sound Effect bitfields. Set bits to play sound effects $00F5 - Controller 1 button pressed $00F6 - Controller 2 button pressed $00F7 - Controller 1 button held $00F8 - Controller 2 button held $00FE - ?changes brightness sorta? $0301 - Used when writing text to screen $0302 - Used when writing text to screen $0303 - Letter position when writing to screen $0304 - Text memory offset? $0305 - Empty Row Space Character $0306 - Letter Written to Screen $0307 - Text memory offset? $03D6 - Player's X Subpixel $03D7 - Enemy 6's X Subpixel $03D8 - Enemy 5's $03D9 - Enemy 4's $03DA - Enemy 3's $03DB - Enemy 2's $03DC - Enemy 1's $040E - Enemy 6's stun-delay-when-hit timer $040F - Enemy 5's $0410 - Enemy 4's $0411 - Enemy 3's $0412 - Enemy 2's $0413 - Enemy 1's $0488 - selection index for MENU (continue/save) $0489 - Text Column $048A - Text Row $048B - Conversation Pointer $048E - Enemy 6's item-ID in the future $048F - Enemy 5's $0490 - Enemy 4's $0491 - Enemy 3's $0492 - Enemy 2's $0493 - Enemy 1's $0500 - Invincibility after stun counter (counts down, nonzero = invincible) $050A - ?Attack Delays $0518 - ?Invulnerable Timeout (01-02 - Blinking, 03+ - Not Blinking) $0524 - menu control / state $0561 - current scene/map index $0562 - Player's Facing Direction (overworld map) $0562 - ?Controller 1 Last Poll $0564 - ?Magic Points - Display $0565 - ?Hit Points - Display $0569 - used for counting text when displaying talk text $056B - involved with Life Town's Bagu Bridge, when $56B=2 and $796=1 then Bagu Bridge will be built $056B - Town Code $056C - Palace Code $057D - ?Player Y Delta $057E - Enemy 6's stun-delay-when-hit timer $057F - Enemy 5's $0580 - Enemy 4's $0581 - Enemy 3's $0582 - Enemy 2's $0583 - Enemy 1's $05CA - Sword Projectile Timeout $05DF - count of easy monster killed for item drop $05E0 - count of hard monster killed for item drop $05EB - Experience an enemy takes away ---------------(Uses bits?)--------------------- $0608 bits - Heart Container #2 taken FB (1111 1011) $0610 bits - Trophy taken F7 (1111 0111) $0613 bits - Heart Container #1 (S of Parapa Palace) taken DF (1101 1111) $0615 bits - Exp. Bag (NE of Castle) taken FD (1111 1101) $0616 bits - Magic Container #1 (S of Castle) taken FE (1111 1110) $0617 bits - Exp. Bag (E of Saria) taken DF (1101 1111) $061C bits - Extra Life (W of Cemetery Palace) taken FD (1111 1101) $0624 bits - Red magic jar (Death MT #1) taken FB (1111 1011) $0626 bits - Red magic jar (Death MT #2) taken F7 (1111 0111) $0629 bits - Red magic jar (Death MT #3) taken DF (1101 1111) $062A bits - Hammer taken FE (1111 1110) $062D bits - Magic Container #2 (Death MT) taken BF (1011 1111) $0643 bits - Heart Container #3 (N of Island Palace) taken FB (1111 1011) $0657 bits - Heart Container #4 (E of Seaside Palace) taken BF (1011 1111) $0680 bits - Parapa Desert Key #2 will appear (FB - yes : FA - no) $0681 - Parapa Desert Key #1 will appear (FF - yes : F7 - no) $0684 - bits - Candle taken 7F (0111 1111) - Parapa Desert Lock to Candle unlocked BF (1011 1111) - Bag on top of Elevator down taken DF (1101 1111) - Left side of bridge exp. bag taken FB (1111 1011) - Right side of bridge exp. bag taken FD (1111 1101) $0700 - Current number of lives $0701 - start this side of screen: 0=left, 1=right $0704 - (Elevator) 0=start bottom of screen, 1=start at top of screen $0706 - overworld index (0=west hyrule, 1=death mtn/maze island, 2=east hyrule) $0707 - "world" (0=caves, enemy encounters...; 1=west hyrule towns; 2=east hyrule towns; 3=palace 1,2,5 ; 4=palace 3,4,6 ; 5=great palace) $0709 - involved in returning to the over-world while in side-scroll? $070A - Previous Region ? $070B - Graphics Bank for Palaces $070C - add this value to link's MP slowly (old lady magic restore) $070D - add this value to link's HP slowly (healing lady) $070E - setting to 1 will make link sink (duck into the chimney) $0728 - setting to 1 will freeze screen, prevent from exiting left/right (like during a boss battle) $0736 - game mode/current state side-scroll: set $769,$706,$707,$56B,$56C,$561, and set $736 to 0 (to load any scene anywhere) $769 $706 $707 $56B $56C $561 rauru 03 00 01 00 F8 nabooru 03 02 02 04 F8 palaces 1 04 00 03 04 00 00 palaces 2 04 00 03 04 01 0E palaces 3 04 00 04 05 02 00 palaces 4 04 01 04 08 00 0F palaces 5 04 02 03 08 00 23 palaces 6 04 02 04 08 01 24 GP 05 02 05 09 02 00 side-scroll: set $709 to 1, set $736 to 0 (to go outside/return to over-world map) side-scroll: set $709 to 1, set $748 and $706 to target destination, set $736 to 0 (to go outside/return to over-world map) (also $707, $70A and $70B may need to be set to 0??) ?side-scroll: set $561 to target scene/map index, set $736 to 0,8,C (to load scene) Over-world: set $736 to 6 or 0 (enter map position u are at) over-world: set $73 and $74 , then set $736 to 2 (update screen with position) $0743 - elevator was moving up or down: 8=up, 4=down $0748 - area location index (the index of the spot on the overworld that pulled you into the sideview) $0749 - Current position of the selector on Magic $074B - this value causes two different flashing effect of magic $0755 - add this value to link's exp slowly (add 255 for every value) $0756 - add this value to link's exp slowly $075C - Start this map page $0768 - ?changes brightness sorta? $0769 - Bank to switch to (other than 0 or 7) $076C - begin a special routine. Changing this value has the most 'automation' (00=restart from zelda's castle with 3 lives, 01=no routine, 02=die, 03=wake up zelda, 04=roll credits, 06=show the lives then restart the scene) $076F - A fairy if 08 - 0=beam projectile only full hp 10=flame projectile $0770 - Exp. needed for Next Level (add 255 for every value) $0771 - Exp. needed for Next Level (000 - 255) $0773 - Current Magic left in meter $0774 - Current Life left in meter $0775 - Second digit of exp. (add 255 for every value) $0776 - First digit of exp. (000 - 255) $0777 - Attack Power $0778 - Magic Power $0779 - Life Power $077B - Have Shield magic $077C - Have Jump magic $077D - Have Life magic $077E - Have Fairy magic $077F - Have Fire magic $0780 - Have Reflect magic $0781 - Have Spell magic $0782 - Have Thunder magic $0783 - Current number of Magic Containers $0784 - Current number of Heart Containers $0785 - Have Candle $0786 - Have Glove $0787 - Have Raft $0788 - Have Boots $0789 - Have Flute $078A - Have Cross $078B - Have Hammer $078C - Have Magic Key $0793 - Current number of keys $0794 - Number of Crystals left for grand palace $0796 - Have (Downward Thrust 10) (Upward Thrust 04) (Both 14) $0798 - Have collected (Trophey B6 - yes) (Medicine 43 - yes) $0799 - Have collected the Mirror (01 - yes) $079A - Have collected note from Baju (08 - yes) $079B - Have collected some water (01 - yes) $079C - Have collected lost child (20 -yes) $079F - Number of times died $07E8 - Noise $07E9 - Triangle $07EA - Pulse 2 $07EB - Pulse 1 $07FB - ???MUSIC??? $0FA0 - Player name value #1 $0FA1 - Player name value #2 $0FA2 - Player name value #3 $0FA3 - Player name value #4 $0FA4 - Player name value #5 $0FA5 - Player name value #6 $0FA6 - Player name value #7 $0FA7 - Player name value #8 $6000 to $633F - current sidescroll data MapPage RamLocation 0 6000-60CF 1 60D0-619F 2 61A0-626F 3 6270-633F 95 is a grave tile 51 is a bridge tile $6340 to $694f - unused? $6A00 - Overworld destinations table (copied from ROM) 6A00 and 6AFB Overworld Area Data Table 6A00-6A3E Area Byte 0 (Y Position) 6A3F-6A7D Area Byte 1 (X Position) 6A7E-6ABC Area Byte 2 (Map Number) 6ABD-6AFB Area Byte 3 (Region/World Code) Take byte 2, keep bits 0-5, and you've got your Map Number. $748 is index to use in these tables. $6AFC - table of room connectivity data (6AFE can be P0 right exit ) $6D27 - HP for Magic Stealing Skulls $6D41 - HP for Horsehead ---- Save File 1 ---- (this might just be copied directly to/from $0777 area of RAM) $7402 - Attack Level $7403 - Magic Level $7404 - Health Level $742A - Death counter (max 255) $742B - 'Second Quest' - nonzero if player has beaten the game on this file (triforce will be shown in menu) $742C - Player name (8 chars) --------------------- $740E - Beginning number of Magic Containers for new game $740F - Beginning number of Heart Containers for new game $7A00 to $7BFF - unused? $7C00 to $7FFF? - Copy of overworld map in RAM. $DD4C - Beginning of graphics shown for experience (part 1) $DD5C - Beginning of graphics shown for experience (part 2) $DDC0 - Beginning of experience gained for enemies
Internal Data for Zelda II: The Adventure of Link
| |
---|---|