I'm actually already pretty far along in this one. The inspiration was a simple suggestion from DekuKnight.

Obviously, it looks just like the original Nestroid. What this is is an
expanded Nestroid ROM. The idea is that it will be indistinguishable from the players point of view, but will relieve the hacker of the painful memory limitations of the original Nestroid. Expanding an NES ROM isn't very straightforward, what with mappers and banking and what not, but I'm pretty happy with what I've got so far.
Here's what I've done so far:
- Doubled the ROM size to 16 PRG banks.
- Moved PRG bank 7 to PRG bank F (MMC1 'hardwires' last PRG bank).
- Moved all patterns (i.e. tiles) into new banks
- Updated pattern loader (+ some other tweaks) to load patterns from new location
Here's what you get out of it.
- Virtually unlimited space for additional data/code*
- Each level now has it's own, entire, dedicate full page of background patterns.
- Approx 2000 bytes of freed up data in each level-data bank (from removed patterns)
- Approx 240 bytes freed in main program bank.
*Bank switching is required to access this additional data.So now levels no longer share patterns. You don't have to worry about messing up one level's graphics when changing another. Plus, each level has available to it as many patterns as can fit in PPU memory. This also means no messing with the pattern loader (the "Pattern Source Editor" in Editroid) to squeeze out more room for pattern data, since you start out with the best-case scenario.
Moving the patterns out of the level-data banks means that you have a bunch of free space where you can add more rooms, items, structures, or combos. This also allowed the pattern loader to be greatly simplified, shrinking the code by 240 bytes which give you a little breathing room if you want to do some ASM hacking (in the original NesTroid, the largest contiguous block of free memory available for code was about 15 bytes).
Here's some other things I would like to do:
- Relocate room/structure/item/combo data and relevant pointer tables to make freed up memory easier to use.
- Make Editroid compatible with this expanded ROM.
I don't think that I'll bother releasing this hack until Editroid can be updated to work with it, because I doubt there are many (any?) people who are deeply enough involved in Nestroid hacking to make use of it. On the other hand, once Editroid can work with the expanded ROM everyone can use it and people will be all like "OMG I have so much free memory to make new rooms". And there can finally exist a Nestroid hack that isn't painfully repetitive.
I'm also planning on expanding my hack-in-progress (for which there is no topic here, but you've probably seen a lot of in RoTW) in a similar fasion, because I'm already feeling claustrophobic, having already reached limits on room data and structure data.
Edit: w00t! I've got Editroid opening the expanded ROM, and it should be able to find relocated data no problem. Just need to move some data around in the ROM and allow Editroid to make use of the extra space.
[attachment deleted by admin]