Architecture of NES Consoles
It seems you’ve traded the thrilling world of social interactions for the captivating realm of game console research. Let’s dive into the depths of your newfound obsession called the Super Nintendo Entertainment System (SNES)?
FabienSanglard, our hero, has meticulously dissected the SNES, offering us a trilogy of articles that could very well replace any human interaction.
First off, we have the exposé on SNES cartridges, those magical plastic blocks that, surprise, held more than just the dreams of 90s kids. They were technological marvels with their own hardware, including the oh-so-essential CIC copy protection chip.
Then, Sanglard takes us on a historical journey through the evolution of the SNES motherboard. Twelve versions over twelve years, each one reducing the number of chips and components.
And let’s not forget the heartwarming tale of the SNES’s clock generators. These little timekeepers made sure everything ran like clockwork (pun absolutely intended). Because what’s a gaming console without its precise timing to keep those tool-assisted speedruns accurate? It’s not like gamers have anything better to do, like, say, going outside.
So, there you have it, a trilogy of articles that could very well serve as a substitute for human interaction. Who needs friends when you have the intricate details of the SNES to keep you warm at night? Thank you, Fabien Sanglard, for giving us the perfect excuse to avoid social obligations in favor of gaming console research.
The SNES cartridges were unique in that they could include additional hardware such as the CIC copy protection chip, SRAM, and enhancement processors like the «Super Accelerator 1» (SA-1). These processors significantly boosted the console’s capabilities, allowing for advanced graphics and gameplay features. It highlights the evolutionary steps Nintendo took with the SNES motherboard to enhance the system’s efficiency and cost-effectiveness over time.
📌The SNES motherboard underwent significant changes throughout its production, primarily aimed at reducing the complexity and cost of the system.
📌The motherboard started with a high number of chips and components which were gradually reduced in later versions.
📌One of the major advancements in the SNES motherboard design was the introduction of the 1-CHIP version. This version consolidated the CPU and the two PPUs (Picture Processing Units) into a single ASIC (Application-Specific Integrated Circuit), reducing the total number of chips on the motherboard to nine.
📌This reduction not only simplified the design but also potentially improved the system’s reliability and performance.
📌Over its 12-year lifespan, Nintendo released twelve different versions of the SNES motherboard.
📌These versions include various models like SHVC-CPU-01, SNS-CPU-GPM-01, and SNS-CPU-1CHIP-01 among others, each corresponding to different production years and design tweaks.
📌The versions are categorized into four major generations: Classic, APU, 1-CHIP, and Junior, with the 1-CHIP and Junior versions representing the most significant redesigns.
📌The Super Nintendo Jr (also known as Mini) is noted as the final form of the SNES, maintaining the reduced chip count and featuring a more integrated design where the motherboard no longer has parts dedicated to specific subsystems.
Evolution of the SNES Motherboard:
Over its 12-year lifespan, Nintendo released twelve versions of the SNES motherboard, each reducing the number of chips and components. The most notable advancement was the 1-CHIP version, which integrated the CPU and two PPUs into a single ASIC, simplifying the design and potentially enhancing performance. It sheds light on the technical marvels and challenges of the SNES cartridge system, highlighting how Nintendo leveraged additional hardware within cartridges to push the boundaries of what was possible in video gaming during the era
📌SNES cartridges were notable for their ability to include more than just game instructions and assets. They could also house additional hardware components such as the CIC copy protection chip, SRAM, and enhancement processors.
📌These enhancement processors, such as the «Super Accelerator 1» (SA-1) chip, significantly boosted the SNES’s capabilities. The SA-1 chip, found in 34 cartridges, was a 65C816 CPU running at 10.74 MHz—four times faster than the SNES’s main CPU. It also included 2KiB of SRAM and an integrated CIC.
📌The SNES utilized a copy-protection mechanism involving two CIC chips that communicated in lockstep—one in the console and the other in the cartridge. If the console’s CIC detected an unauthorized game, it would reset every processor in the system.
📌Some unsanctioned games, like «Super 3D Noah’s Ark,» bypassed this protection by requiring an official cartridge to be plugged on top of them, using the official game’s CIC to authenticate.
📌The inclusion of enhancement processors allowed for significant improvements in game performance and graphics. For example, the SA-1 chip enabled the SNES to animate and detect collisions on all 128 sprites available in the PPU, transform sprites on the fly (rotate/scale), and write them back into the PPU VRAM.
📌Another enhancement chip, the Super-GFX, excelled at rendering pixels and rasterizing polygons, usually rendering into a framebuffer located on the cartridge. This content was then transferred to the VRAM during VSYNC.
Regional Compatibility and Circumvention
📌The article also touches on the physical and electronic measures Nintendo used to enforce regional compatibility, such as the different shapes of cartridges and the CIC lockout system. However, it mentions that these measures were not foolproof and could be circumvented.
Community and Development Insights
📌Discussions on platforms like Hacker News reflect on the impact and potential of these cartridges, comparing them to other Nintendo innovations and discussing the technical challenges and solutions provided by the SNES’s design
Clock Generators in the SNES:
The SNES utilized two main clock generators to manage the timing for its various components. These clocks were crucial for the operation of the CPU, PPU, and APU. The system also included enhancement chips in some cartridges, which used these clocks for additional processing power, exemplified by the SuperFX chip used in games like StarFox. This detailed examination of the SNES’s clock system reveals the intricate design and engineering that supported the console’s complex graphics and audio capabilities, allowing for advanced gaming experiences during its era.
📌The SNES motherboard features two primary clock generators located in the X2 and X1 slots.
📌The X2 slot houses a 24.576 MHz ceramic resonator, which is blue in color. This resonator is crucial for the operation of the Audio Processing Unit (APU), setting the pace for audio processing on the SNES.
📌The X1 slot contains a 21.300 MHz oscillator, labeled D21L3, which is yellow. This oscillator is strategically placed near the CPU and the Picture Processing Unit (PPU), thereby setting their operational pace.
Clock Distribution and Enhancement Chips
📌The SNES utilizes these master clocks in conjunction with dividers to generate additional clocks needed by various components. For instance, the Ricoh 5A22 CPU operates at 1/6th the frequency of the master clock, resulting in a frequency of 3.579545 MHz.
📌The system includes a total of fifteen different clocks, highlighting the complex timing management within the SNES.
📌The SYS-CLK line, which runs at 21.47727 MHz, is routed to the cartridge port. This setup is not typically necessary for the basic operation of the cartridges, which contain ROM with game data and instructions. However, this clock signal is crucial for cartridges that contain their own enhancement processors, like the SuperFX chip used in games such as StarFox.
📌These enhancement chips can utilize the SYS-CLK for additional processing power, with some chips like the MARIO version of the SuperFX processor using an internal divider to adjust the clock frequency to suit specific processing needs.
Impact on Game Performance
📌The precision of these clock generators is vital for the deterministic execution of game code, which is particularly important for applications like tool-assisted speedruns (TAS). Over time, the accuracy of ceramic resonators can degrade, leading to performance inconsistencies