Here's a few more random brainstorming ideas, mostly things that might help game development:
* Detect bad cartridge insertion ... whatever that means...
So, add something that...checks for cartridge insertion, and raises a fuss if it's not done properly.
Let's call it a Cartridge-Insertion Chip, CIC for short?
Or a "Checking Integrated Circuit". It might comprise a simple random number generator, such as a linear feedback shift register, whose output the console verifies. But Nintendo had to get all fancy and anticompetitive with its CIC. Instead of using a standard LFSR such as the 15-bit APU noise polynomial or CRC16, it used the LFSR as the program counter of a more complicated RNG with a secret seed.
That was the joke, yes. I suppose it might have been better to frame it as a suggestion that we have the machine Check with an Integrated Circuit whether a cart was inserted that could properly respond in kind, or some such, and that I actually should have Checked what the Integrated Circuit's anagram expanded to.
Hmm...thinking, would an LFSR PC save transistors over a straight counter? Would it still save if exit from dead-state (0) were assured?
An LFSR is a shift register and an XOR gate, which does save transistors over a binary counter. And the dead state has a jump instruction that serves as the MCU's reset vector.
In any case, all a CIC pass tells you is that the CIC side of the cart is making contact, not that the PRG or CHR bus is making contact. This is why the NES sometimes comes up with a scrambled screen (bad CHR) or even a freeze (bad PRG, or bad CHR in games relying on CHR ROM readback or sprite 0 hit) without a blink (bad CIC).
Split imminent.