User Tools

Site Tools


ros:basic_guides:initial_savegame

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ros:basic_guides:initial_savegame [2017/11/02 15:26] – created - external edit 127.0.0.1ros:basic_guides:initial_savegame [2025/06/18 09:51] (current) felixwright
Line 1: Line 1:
-====== Editing the Initial Savegame ====== +~~REDIRECT>ros:basics:initial_save~~
- +
-Now you can start anywhere you want! What a thought! +
- +
-===== Location and Format ===== +
- +
-The data starts at 0x4E64 in ROM, and is (somewhat) nicely organized. +
- +
-All 16-bit values are little-endian. +
- +
-^ Address ^ Default ^ Use | +
-^ Samus' position ||| +
-| 0x4E64 | $D4 | Y pos, pixels | +
-| 0x4E65 | $07 | Y pos, screen | +
-| 0x4E66 | $48 | X pos, pixels | +
-| 0x4E67 | $06 | X pos, screen | +
-^ Camera position ||| +
-| 0x4E68 | $C0 | Y pos, pixels | +
-| 0x4E69 | $07 | Y pos, screen | +
-| 0x4E6A | $40 | X pos, pixels | +
-| 0x4E6B | $06 | X pos, screen | +
-^ Tileset Definitions ||| +
-| 0x4E6C | $7520 | Sprite graphics pointer (bank 6) | +
-| 0x4E6E | $07 | BG graphics bank | +
-| 0x4E6F | $6000 | BG graphics pointer | +
-| 0x4E71 | $5280 | Metatile data pointer (bank 8) | +
-| 0x4E73 | $4580 | Collision data pointer (bank 8) | +
-| 0x4E75 | $0F | Map Bank (9-F) | +
-^ Solidity indexes ||| +
-| 0x4E76 | $64 | Samus | +
-| 0x4E77 | $64 | Enemies | +
-| 0x4E78 | $64 | Weapons | +
-^ Equipment ||| +
-| 0x4E79 | $00 | Samus' items | +
-| 0x4E7A | $00 | Samus' beam | +
-| 0x4E7B | $00 | Energy tanks | +
-| 0x4E7C | $99 | Current energy | +
-| 0x4E7D | $00 | Current energy (e-tanks) | +
-| 0x4E7E | $0030 | Max Missile Count* | +
-| 0x4E80 | $0030 | Current missile count | +
-^ Misc. ||| +
-| 0x4E82 | $01 | Direction Samus is facing (pointless?) | +
-| 0x4E83 | $02 | Acid damage | +
-| 0x4E84 | $08 | Spike damage | +
-| 0x4E85 | $47 | Real Metroid count (BCD) | +
-| 0x4E86 | $04 | Song to play | +
-| 0x4E87 | $00 | In-game timer (Minutes) | +
-| 0x4E88 | $00 | In-game timer (Hours) | +
-| 0x4E89 | $39 | Onscreen Metroid count (BCD) | +
- +
-*00 is at 0x4E7F and 30 is at 0x4E7E in the ROM, resulting in inversion(it appears as $3000 in the ROM). This could cause confusion if not clarified. +
- +
-===== Simple Procedure ===== +
- +
-If you're creating you're own hack, one easy way to do this is to: +
-  - Go to wherever you want the start to be +
-  - Poke the value 0x09 to the address 0xFF9B in RAM (to force the game to save) +
-  - Copy the saved game from SRAM to the location in ROM +
-  - Do some fine tuning as desired. +
- +
-Check [[return_of_samus:data_locations:ram_map |RAM map]] for more details. +
- +
-Some limitations may apply.+
ros/basic_guides/initial_savegame.1509636369.txt.gz · Last modified: by 127.0.0.1