The SNES had a number of "enhancement chips" that were available in the cartridges. These chips did lots of different things. How did these chips actually transfer data to the SNES? How did the SNES use chips that weren't available at the time of its release?
How could the SNES take advantage of in-cartridge coprocessors that weren't invented when the SNES came out?
15But if the chips actually used the SNES and not the other way around, there would be no problem? :)– piiperi Reinstate MonicaDec 19, 2022 at 17:09
5Are you surprised when a modern computer interfaces with a peripheral that wasn't invented when the computer's own hardware came out?– user2357112Dec 20, 2022 at 3:39
7They connect to the CPU’s main bus, so just reading and writing to the right address is enough. They don’t change the CPU’s instruction set or anything. Of course this also means you are limited by the address space and the latency and throughput of the bus.– MichaelDec 20, 2022 at 12:33
4I think you are.missing that these consoles did not have an operating system or firmware. Everything was in the cartridge, so the ROM code could address any hardware on the bus, whether it was part of the console or inside the cartridge.– Mark WilliamsDec 20, 2022 at 14:23
The cartridge connector for the NES, SNES, and other consoles of that era directly exposed the main CPU's address and data busses to the cartridge, complete with the control signals you need to know what accesses the CPU is doing (reads, writes).
This allows cartridges to attach "enhancement chips" directly to the CPU as-if those chips were part of the SNES itself, in exactly the same way as the PPUs and SPC700 (S-SMP for audio) were connected to the CPU. A cartridge designer would know what hardware is in the base SNES (because that's fixed by Nintendo), and could arrange for their enhancement chips to appear in the main CPU address space as another co-processor, just as Nintendo arranged for the PPUs (for video output) and the SPC700 (for audio) to appear in the main address space.
Then, code running on the main CPU from the ROM in the cartridge would know where in the CPU's address space a given enhancement chip (in the same cartridge as the ROM) would appear, and can drive it by writing to the right parts of address space to send data to the enhancement chip, or by reading from the right locations to get results back for the CPU to make use of or transfer to another chip.
It doesn't matter that the chips were designed after the SNES was on sale - the cartridge designer is responsible for ensuring that the chips do the right thing from the CPU's point of view - and thus the enhancement chips were often designed around what the SNES expected.
10The modern-day analogy is someone creating a GPU with an onboard SSD drive along with necessary drivers to do the I/O operations and give you a game with the GPU. This is, of course, very expensive and this is one of the reasons why cartridge games are no longer popular, and the main reason why PS1 took off like it did.– NelsonDec 20, 2022 at 6:01
6The SNES cartridge connector has a core set of 46 pins that most game cartridges used. There's an additional 16 pins (arranged as 8 either side of the main connector) that are used when there's an enhancement chip in the cartridge, carrying an additional address bus, audio input lines, etc. You could tell if a cartridge had an enhancement chip inside by looking at its edge connector.– bodgitDec 20, 2022 at 11:09
1@Nelson I remember when the PS1 and the N64 consoles had both been released. The main debate among me and my friends at the time wasn't about the cost. It was how long we had to wait for the loading screens vs graphics quality. The PS1 seemed to take a long time to load stuff and the N64 was blazing fast. But the same games on N64 often had lower quality graphics (presumably because even the largest cartridges held 1/10th the data vs. a CD).– user4574Dec 21, 2022 at 0:21
@user4574 Yet the home console market is now all disc-based games. Technically you can now go back to using SD drives, but for something that they want to sell 10s of millions, a production cost factor of 10x is a HUGE amount of money. Strictly speaking SD cards have way more capacity than Blu-Ray for a while, but the cost hasn't gone down enough to justify it.– NelsonDec 21, 2022 at 0:42
@Nelson "Yet the home console market is now all disc-based games". That's mostly true. The major consoles like Xbox and Play Station do have an option to use discs. The Nintendo Switch on the other hand (which is used as a home console via the dock) still lets users plug in cartridges if they want to go that route. And all three of those consoles have network connectivity and online stores that allow completely bypassing any physical media (direct download to internal memory).– user4574Dec 21, 2022 at 1:00
How did these chips actually transfer data to the SNES?
The cartridge connector is a bus interface. Much like ISA-Slots in a PC, it contains everything necessary to access memory or memory mapped devices.
How did the SNES use chips that weren't available at the time of its release?
Ever wondered how a PC can take advantage of a interface card that was not developed when the PC came out? Like a VGA card? Just by plugging it in, even before any DOS or extra drivers are loaded?
Because it brings basic drivers in an extension ROM. Plus drivers loaded by DOS and/or Windows.
It works the very same ways on a console. After all, the cartridge does not only brings some 'co-processor' but also a ROM with the game containing all code.