-
Notifications
You must be signed in to change notification settings - Fork 44
Description
For 6 MB EarthBound ROMs, the authoritative header is the one at address 40FFB0, but CoilSnake currently checks the data at file address 00FFB0 to verify whether the ROM it's looking at is an EarthBound ROM. Moreover, it checks a field of the ROM header that some people would like to change (its ROM name, displayed in some emulators like snes9x), and only after compiling CCScript. This makes it difficult to change the ROM header or clean things up.
The 6 MB case is especially important to deal with, because we've had not one but two popular EarthBound romhacks cause problems for people using old versions of snes9x and even certain flashcarts. They were expanded to 6 MB (sometimes out to necessity, sometimes due to early development decisions that carried forward for years), and the exhirom expansion leaves the old unused header data in bank C0. Snes9x's heuristics for determining the ROM format and the correct location of the header used to get confused by this old data and misidentify the ROM format. Clearing out the header data there fixes the problem, but it also makes the ROM no longer be recognized as a valid EarthBound ROM by CoilSnake when compiling a project.
- Make it possible to change things like the name in the ROM header.
- When expanding the ROM, clear out the old unused header data at C0FFB0.