Whew, looks as if the thing is kinda inviting for a competition.
Bregalad wrote:I was going to allow vertical and horizontal mirroring as usual exept the second nametable would be hardwired as blank - the internal chip disabled, and pull-down resistors to ensure the lines are at GND. This would allow to use one namtable normally + one blank nametable, and to have 64 tiles plus a blank tile.
Oh yes, neat idea. A little bit less low-level... but using resistors as "extra memory" is still pretty much in the low level category.
Hmmm, with some restrictions you might also get the same effect by software:
Blank the name table entries when they get scrolled offscreen (eventually with Port 2001h.Bit3=1, downside would be that you don't have a fullscreen picture).
Or, assign one BG palette as all-black (or whatever backdrop color you want), and set the color attributes in the 2nd name table to that palette number (downside would be that you could use only 3 BG palettes and only 60 tiles).
tokumaru wrote:I wouldn't mind adding a 74161 in order to have access to a few more pages of ROM
I was hoping to get the CPU/APU to toggle the "/IRQ" pin as extra address line (for two 32K banks), but after testing, it seems that the pin is input-only; it doesn't go low even when the APU is generating an IRQ.
Another idea would be trying to use an unused PPU address line as extra CPU address line, A12 for example. I haven't tested that, but it might be possible to control the PPU address lines when video is disabled, so one could maybe relocate PRG-ROM to WRAM during that time.
Well, and otherwise one could stay with the 32K limit, which is a lot of memory for an 8bit system. Or add some mapping, it'd blow the simple "single-chip" design, but it'd be still "single-memory-chip" - and might allow to get some really impressive graphics & sounds.
Is it okay if I assign a mapper number to the board? And (re-)define the "Four Screen" bit in the iNES header as "One Screen" bit for that mapper (as described above)?
(For now without recursing possible extensions like pull-down resistors or exceeding the 32K limit. If they get ever implemented they could share the same mapper number, as far as they don't conflict with the old 32K definition, or use another new mapper number - or stay with NROM or AOROM when exact emulation of the hardware limits isn't important).
Some potentionally free mapper numbers can be found here
http://kevtris.org/Projects/console/mappers/index.html but after googling for
nes "mapper xxx" (xxx=number), it turned out that most of them are used for this or that stuff. One number (maybe the last in the 8bit space) that seems to be still free is "218" so I guess I could use that one, right?
Btw. for the NES 2.0 mapper numbers 256..4095, I think the
http://wiki.nesdev.com/w/index.php/NES_2.0 page should contain some guidelines on how to use/invent new numbers. Like something saying that "any newly invented numbers MUST be defined in the
http://wiki.nesdev.com/w/index.php/Cate ... ES_Mappers category".