Is this a case of "you ain't gonna need it" overengineering; or was the PPU used in other products. (And thus these pins were used elsewhere?)
Is this a case of "you ain't gonna need it" overengineering; or was the PPU used in other products. (And thus these pins were used elsewhere?)
If they had extra pins that they had no use for, I'm sure this would have seemed like a very easy and cheap addition. You take 4 unused pins and add 4 pulldown resistors. Then when you go to draw the background, instead of using index 0, you take the value for the index from those pins.
Maybe they planned to use this in arcade hardware, where you'd have a bigger budget than a home console and could afford two PPUs. Then you'd get more colors, and you could scroll the background layer independently from the foreground layer. I believe they later added support for independent layers on the SNES hardware so this type of thing was probably already in demand from game designers.
The disk system had a much more powerful audio chip. If you have a Switch, you can hear it on the "Excitebike vs" game that never made it to the US, or you can go on YouTube and look up the opening to the Japanese version of Zelda.
The NES expansion port on its own doesn’t seem to have enough lines to support the disk drive, notably it doesn’t have any address lines (CPU or PPU) at all, or the PPU data bus. It seems a bit weird frankly with the choices they made, I’m not sure what it’s actually for, apart from breaking the idea of extra sound chips in cartridges.
I don't know if there were any actual machines that used dual PPUs, but the functionality was likely intended for creating an arcade machine with dual-layer background graphics.
I found this video that shows a Playstation running in the background of Super Mario Bros: https://youtu.be/TCsle-J9YzY?si=oyj_zZCKGionnzLu&t=423
My real question is: how did Nintendo wind up making the same useless feature twice?
Mode 7 of the SNES PPU has a quirky submode called EXTBG which uses the high bit of each pixel as a priority bit for the sprites. This lets you draw background graphics above sprites in Mode 7 if you so choose. This seems like perfectly ordinary behavior, but the way this is implemented is actually insane.
For context, the SNES PPU-1 implements Mode 7 by individually addressing two 8-bit RAM chips. It has to do this because of memory bandwidth[0] - it puts the tilemap on one chip and the actual pixel data on the other, so it can pipeline the memory reads and just barely fit within the bandwidth limitations of the system. But PPU-2 has a third set of data lines, EXT0-7. When EXTBG is active and the high bit of the pixel is unset, PPU-2 reads color data from EXT0-7 instead of VRAM.
The only reason why this winds up just becoming a priority system, is because Nintendo wired up the second RAM chip's data lines to the EXT0-7 pins, so it reads the same data in either case. But it would work exactly the same as the NES PPU's EXT pins, except the SNES PPU doesn't have a master mode. It is always a "slave"[1] in the terminology of the NES PPU.
In a different world where the EXT pins had been routed to the cartridge port, we could have completely fixed the SNES's biggest limitation: slow DMA. The fastest you can update VRAM is a 2bpp Game Boy sized area of the screen once per frame, or a full-sized area of the screen at 15-30FPS[2]. You'll notice that aligns neatly with the capabilities of the Super Game Boy and Super FX, respectively. Nintendo and other developers got very creative with how they used these chips, but if we had EXT pins on the cartridge bus, that wouldn't have been an issue.
[0] This problem is unique to Mode 7 because, with an affine transform, each pixel requires two unpredictable lookups into a tile map and it's associated tile data. On other modes, the tile can only ever change once per 8 pixels, so less data needs to be read.
[1] God I hate this nomenclature
[2] This is, in fact, a downgrade from the NES. You can actually stream a full picture from VRAM to the PPU and have it change every frame. That's the basis of the trick tom7 uses in the video "Reverse emulating the NES to give it SUPER POWERS!"