Changes
Jump to navigation
Jump to search
FF1NES
,Created page with "To understand how the data is organized for Final Fantasy 1, you must first understand how the original NES operated. The NES had a 6502 microprocessor, this gave the system..."
A typical NES ROM downloaded from the Internet almost always has a 10 byte header at the beginning. For our purposes, this data is going to be thrown away. This is for two reasons.
*This document assumes you have an original ROM dump and not something downloaded.*It messes up bank boundaries and offsets by 10 bytes, making it harder to point to data
The following below is a map of the ROM.
{| borderclass="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="centerwikitable"! style="background:rgb(204,204,204)" align="center" | Bank! style="background:rgb(204,204,204)" align="center" | ! Data Within|-|style="background:rgb(255,255,255)" | [[Bank 0]]|style="background:rgb(255,255,255)" align="center" | Inital values
|-
|style="background:rgb(255,255,255)" |[[Bank 1]]0 |style="background:rgb(255,255,255)" align="center" | Overworld map and decompresserInital values
|-
|style="background:rgb(255,255,255)" | [[Bank 2]]1 |style="background:rgb(255,255,255)" align="center" | Overworld Graphics/spritesmap and decompresser
|-
|style="background:rgb(255,255,255)" | [[Bank 3]]2 |style="background:rgb(255,255,255)" align="center" | TownOverworld Graphics/Dungeon graphicssprites
|-
|style="background:rgb(255,255,255)" | [[Bank 4]]3 |style="background:rgb(255,255,255)" align="center" | Town/Dungeon maps and decompressergraphics
|-
|style="background:rgb(255,255,255)" | [[Bank 5]]4 |style="background:rgb(255,255,255)" align="center" | CodeTown/Dungeon maps and decompresser
|-
|style="background:rgb(255,255,255)" | [[Bank 6]]5 |style="background:rgb(255,255,255)" align="center" | Code
|-
|style="background:rgb(255,255,255)" | [[Bank 7]]6 |style="background:rgb(255,255,255)" align="center" | Battle Graphics (Overworld)Code
|-
|style="background:rgb(255,255,255)" | [[Bank 8]]7 |style="background:rgb(255,255,255)" align="center" | Battle Graphics (DungeonOverworld)
|-
|style="background:rgb(255,255,255)" Bank 8 | [[Bank 9]]|style="background:rgbBattle Graphics (255,255,255Dungeon)" align="center" | Shop/menu text/character battle/minimap
|-
|style="background:rgb(255,255,255)" | [[Bank A]]9 |style="background:rgb(255,255,255)" align="center" | DialogShop/menu text/character battle/minimap
|-
|style="background:rgb(255,255,255)" | [[Bank B]]A |style="background:rgb(255,255,255)" align="center" | Bridge Crossing/Ending EventDialog
|-
|style="background:rgb(255,255,255)" | [[Bank C]]B |style="background:rgb(255,255,255)" align="center" | ArmorBridge Crossing/weapon dataEnding Event
|-
|style="background:rgb(255,255,255)" | [[Bank D]]C |style="background:rgb(255,255,255)" align="center" | Code + Crystal GraphicsArmor/weapon data
|-
|style="background:rgb(255,255,255)" | [[Bank E]]D |style="background:rgb(255,255,255)" align="center" | Code+ Crystal Graphics
|-
|style="background:rgb(255,255,255)" | [[Bank F]]E |style="background:rgb(255,255,255)" align="center" | KernelCode
|-
| Bank F || Kernel
|}