Skip to content

Reorganise the data for more flexilbility #9

Description

@gmarty

The ROM files of Maniac Mansion are pretty much full of data. It means any modification (e.g. changing the nametable, adding new tiles or new objects...) is unlikely to fit in the original size.
To get more flexibility with the editing process, the ROM needs to be expanded and the data reorganised. After a few discussions with @gzip, it looks like the easiest route to take is to do something similar to what Maniac Mansion Decoded does.

This requires:

  • Expanding the ROM to add 256k (done in 2768736)
  • Moving nametable and attributes from the room payloads to the new banks and update their offsets (WIP branch relocate-nametable-attrs)
  • Patch the NES runtime to use the new bank

The last point is the tricky one.

The runtime ASM patch needs to be compiled to an IPS patch. In an ideal world, the patch would be compiled on commit to avoid having 2 files out of sync (the original ASM code and the IPS patch).
Maniac Mansion Decoded uses snarfblasm and I don't know if it can compile on Mac.
Once the patch is checked in, it can be applied with RomPatcher.js.

The patch needs to be compatible with all the different versions of the original ROM. That means we may end up needing one patch per version.

In order to break this down as much as possible, the reorganising of the tiles and the title screen data can be done later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions