Unlocking the NES (For Former Dawn) (2022)
somethingnerdy.com
somethingnerdy.com
NES repeats this sequence of reads:
* Read Nametable byte
* Read Attribute Table byte
* Read background tile graphics low byte
* Read background tile graphics high byte
Then when it's time for sprites:
* Read garbage Nametable byte
* Read garbage Nametable byte
* Read sprite Tile graphics (sprite) low byte
* Read sprite Tile graphics (sprite) high byte
-
The critical part of this pattern is that it's always an Attribute table byte before background tile graphics, and always a Nametable byte before sprite tile graphics.
Nametables are at 2000-23BF and repeating every 400 bytes later (appears four times).
Attribute tables are at 23C0-23FF and repeating every 400 bytes later (appears four times)
Distinguishing the two requires not much more than ANDing a bunch of address lines together.
So now, when you see a Nametable read:
- Save the low bit of column and low bit of row, use those to make a value 0-3.
- Bankswitch CHR-RAM to bank 4 for sprites
Then when you see an Attribute table read:
- Bankswitch CHR-RAM to your value 0-3 for the background tile read
Roman Empire never came close to inventing communication networks despite having the economic incentives and long-range signaling tech, think about why.
It's important to note they are talking about an imagined expansion to the system in 1994, not an alternative version of the console released in 1985. It's reasonably feasible to do something of this level at the time the question is more one of "would it really be sensible". With the SNES already being 4 years old at this point and the PlayStation releasing that same year anyways (with twice the RAM, 2x CD support, and a hell of a lot more compute) I can't think anyone would bother. At the same time, the project is explicitly not measuring by what people bothered with at the time and rather what the reasonable limits could have been.
Would have been easier to make it a Turbografx CD game. It's got the 6502-like CPU and the CDROM interface just like they wanted.
I'd love to support this kind of thing, but just no given that option.