There's a nice video demonstration here: https://youtube.com/watch?v=V2kaV_m4iNU
It would have been neat if Nintendo had set this up so the stock unit could have been expanded like this.
What I'd like to know is: Why did Nintendo allow the PPU to pass along another pixel color, but didn't take advantage of it in a shipping product?
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?)
They might have been inspired by a similar feature in previous chips, like the external video support in the TMS9918: https://en.wikipedia.org/wiki/TMS9918#External_video.
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.
It’s a feature that doesn’t take much die space to implement, so if they didn’t need those pins otherwise I don’t see why not to add it. If it turned out that the PPU wasn’t good enough for what developers expected, this would have let them make a quick follow-up console as a stop-gap with little R&D expense required. If you want an actual example of overengineering on the NES, they put a giant custom connector on the bottom of every system that never ended up getting used for anything. They probably wasted at least a couple bucks per unit on that.
The PPU (and variants of it) was used in quite a few arcade machines, in addition to the NES.
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.
The RGB PPUs used in arcade machines didn’t have the master/slave functionality, they instead used those pins for the analog RGB output.
There is one obscure product that actually did use the feature. The Sharp Famicom Titler (or Famicom Editor) was a full Famicom that could show an external video input behind the Famicom 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
The EXT pins only allow setting the backdrop color to one of the palette values in the master PPU's color palette, so the Titler can't use that functionality to superimpose graphics over arbitrary video. It actually uses an RGB PPU which doesn't even have the EXT pins. Instead, it uses a separate video encoder chip for the video superimposing feature. https://www.nesdev.org/wiki/X0858CE
Oh, interesting. I assumed the PPU could pass through video the way the TMS9918 can. My mistake!
great name following the NESticle lineage
ANES? Like the homophone to anus?
What? No, how could you have such a disgusting mind!
Kidding :), sad folks downvoted you for the question though. The video breakdown highlights that the name is a joke in this section https://www.youtube.com/watch?v=V2kaV_m4iNU&t=250s but the other 4 minutes are worth watching as well.
makes blowing cartridges to then stuff into the ANES and enjoy; homophonic behavior.
Reminds me of a NES that I overclocked when I was around 14 years old. It was the sort of silly thing a nerdy kid would do with too much free time on their hands, and didn't do much to improve the system. Most of the time it caused more issues than it fixed, but it was a good learning experience.
This is far more exciting, since it adds functionality to they system. Maybe I'll dust off my old hacked up NES and do this at some point. If only I had the free time these days.
Thx for sharing :)
What did it improve? Sprite flicker? Slow down? I'd no idea this was possible on real hardware!
Overclocking won't help with sprite flicker. Sprite flicker happens because the PPU will only evaluate the 8 frontmost sprites active on a line.
Sometimes you get sprites disappearing by priority, sometimes the software will alternate active sprites; software sprite disabling in some titles is probably harsher than needed (might flicker when there's more than X sprites on the screen, even if there is never more than 8 on one line)
Should be able to fix a bunch of stuff. Slowdowns, missed frames, etc.
The game only has a limited amount of time to do all of its logic before the VSYNC interrupt forces it to draw to the screen. Game have different ways of handling this, e.g. by rolling back and abandoning the changes, drawing whatever they have, etc.
A faster clock should make it s/t games that don't always get done in time should at least have a better chance.
that's a really sweet ANES
Oh man, A thing I literally needed right now haha