This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

ROM Hack Help

ROM Hack Help
by on (#238568)
I am currently working on a Donkey Kong ROM Hack and having difficulties with hexadecimals, PPUs, etc. I will post any troubles I have here and feel free to do the same. I hope that the fine users of NesDev will be kind enough to assist the new programmers with their dreams.

I am making an edit in the PPU and when I press Save Rom As. When I try to load the ROM again, My changes are gone. Please help!
Re: ROM Hack Help
by on (#238570)
The hex editor will only save changes made to the ROM. You're editing the PPU memory in that view, which is volatile and is only held while the NES is powered on, so that's no good for your use. You need to reverse engineer the game's code to understand how that specific byte you want to edit has acquired that value. It will require you a good understanding of how the NES works and also how the emulator's debugging features work.
Re: ROM Hack Help
by on (#238571)
You need to understand the PPU RAM memory layout: https://wiki.nesdev.com/w/index.php/PPU_memory_map

Donkey Kong is a mapper 0 CHR-ROM game, which means the CHR data (graphics, not nametable (screen layout) data) in the last 8KB of ROM. Those graphics end up in PPU RAM $0000-1FFF.

Your FCEUX hex editor session shows you're within PPU RAM $2220-23B0, which is the nametable region. That's RAM, not ROM. The nametable gets populated/updated by actual 6502 code running in real-time, and that data is stored within PRG somewhere.

You have to reverse-engineer the game by understanding the 6502 code, via a debugger, to figure out where the nametable data is coming from (in PRG) (which may or may not involve compression/decompression as well, I haven't looked). This is something that has to be done on a per-game basis; there is no standard.

I'd suggest you pose your question over at the http://www.romhacking.net forum which is dedicated to people wanting to do romhacking.