ros:basic_guides:initial_savegame
Table of Contents
Editing the Initial Savegame
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 RAM map for more details.
Some limitations may apply.
ros/basic_guides/initial_savegame.txt · Last modified: 2017/11/02 15:26 by 127.0.0.1