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

Nametable rom

Nametable rom
by on (#75666)
Correct me if I'm wrong, but it seems like it would be possible to map a ROM to the nametable address space, and it'd be easy to do, too!

However, I can't think of any situation where this would be handy, but still, it's nice to know all of the useless stuff the NES is capable of doing, none the less. :P

by on (#75667)
Yes this is possible. It's just that I think that only the Namco mapper and maybe another obscure mapper are able to do it.

And yeah this would be pretty useless so that's probably why it wasn't done commonly. Even if a game has to show a completely static screens, you'd probably want to have it compressed to not waste 1k of data.

by on (#75668)
After Burner has to quickly flip through several nametables, and the only way to do that 1. at more than 10 fps, 2. while still moving sprites, and 3. on NTSC without extending blanking, is to put nametables in ROM. That's why After Burner is on mapper 68.

by on (#75670)
I thought I read somewhere that some commercial games actually did this. Maybe Afterburner 2? It makes a lot of sense for this game. The primary display is of a horizon which changes angles depending on the roll of the jet. This is the only way of rapidly swapping name tables that need to change every frame (or close to it).

I wounder if they filled the two internal RAM-based name tables from compressed data and utilized them as well?

[Edit]
Right, what Tepples said :D

by on (#75674)
Oh yeah, that's a pretty cool use for it, then. :D

Another idea I came up with was for FMVs.

by on (#75680)
That would require a metric butt-ton of ROM and a custom mapper, but that would be wicked-sweet :D

Maybe if you developed a mapper that could swap nametable ROM at a very fine scale, say 32 bytes each, you could do some sort of duplicate line compression.

by on (#75692)
For today it's not a big deal to equip a cartridge with alot of ROM. You could easily have a mapper that can use the internal nametables or pick out of something like a 16 megabit (2 megabyte) EPROM giving you plenty of space and unlike mapper 68 you could have separate CHR-ROM and NameTable ROMs. Sp space isn't that much of an issue.

Someone made something like a FMV awhile ago that just used CNROM's abailty to have some huge amount of CHR-ROM.

by on (#75694)
MottZilla wrote:
For today it's not a big deal to equip a cartridge with alot of ROM. You could easily have a mapper that can use the internal nametables or pick out of something like a 16 megabit (2 megabyte) EPROM giving you plenty of space

But how many address bits in each mapper register? A typical 8-bit register can address only 256 different nametables. If you plan to make your mapper on a CPLD, each latch costs you money. I've been told 5.0 V CPLDs with more than 36 latches get more expensive.

Quote:
and unlike mapper 68 you could have separate CHR-ROM and NameTable ROMs.

Actually mapper 68 boards usually have their CHR ROM divided into two chips, and nametable data can come only from the chip corresponding to the second half of memory.

Quote:
Someone made something like a FMV awhile ago that just used CNROM's abailty to have some huge amount of CHR-ROM.

CNROM proper is limited to 32 KiB. Clone boards topped out at 64 or 128 KiB because a 74161 was cheaper than a 74377, which is what emulators are supposed to emulate if CHR ROM is bigger than 32 KiB.

by on (#75695)
I wasn't considering cost, just what is possible. I don't know what it would cost.

I didn't know mapper 68 boards had two CHR chips. I just assumed it was one chip as that is usually the case.

I'm aware actual CNROM boards are limited but the iNES implementation apparently allows for a full 8bit register which makes for a long of CHR-ROM.

by on (#75696)
MottZilla wrote:
I wasn't considering cost, just what is possible.

What is possible (allow me to go to extremes here) is running the game on an Xbox 360 and using the NES as effectively a TV tuner. That's why I consider cost.

Quote:
I'm aware actual CNROM boards are limited but the iNES implementation apparently allows for a full 8bit register which makes for a long of CHR-ROM.

Hence the 377, which is a full 8-bit latch.