Super FX Chip
Cartridge silicon
Argonaut's Graphic Support Unit for Super NES cartridges: a 10.74 MHz RISC-style processor sharing the game pak's ROM and RAM, plotting pixels into PPU character format so that Star Fox (1993) could draw polygons. The Super FX 2 ran at 21.477 MHz.
The SNESdev wiki’s definition: “an enhancement chip, or graphic support unit (GSU), designed by Argonaut Games that natively supports plotting individual pixels and lines. It has a 14 general purpose 16-bit registers, 98 instructions, and a 512-byte cache.” It sits in the cartridge, not the console, shares the game pak’s ROM and RAM with the 65816, and does the one thing the Super NES PPU cannot: draw a pixel at a coordinate. Argonaut designed it, and Nintendo’s Star Fox (1993) was the first game to ship with it.
Fast facts
- What: Graphic Support Unit (GSU), a cartridge co-processor with a RISC-style instruction set: 98 instructions, most one byte, with PLOT, COLOR and RPIX for pixels alongside the usual load, store, arithmetic and branch.
- Clock: 10.74 MHz, about six times the Super NES CPU (Nintendo’s Book II manual). Super FX 2: 21.477 MHz, one instruction per cycle (Edge, 1994).
- Registers and cache: sixteen 16-bit registers, of which 14 are general-purpose; a 512-byte instruction cache. From cache an ADD takes one cycle; from ROM or RAM, three.
- Memory: none of its own program ROM — “it runs its program from the same ROM the game does” — and it shares that ROM and the cartridge RAM with the console’s CPU.
- Output: plotted pixels are converted to Super NES character format in cartridge RAM, then copied to VRAM by the CPU.
- Announced: by Nintendo of America in September 1992; first cartridge Star Fox, at 9,800 yen in Japan.
- Designers: Argonaut Software, London — Jez San’s company, founded 1982 with Richard Clucas. The design is covered by US patent 5,388,841.
Where it came from
Jez San told Edge the story in 1994. Argonaut had built “a prototype of the Starglider game, which we called NESGlider” — Starglider was the company’s 1986 filled-polygon flight game. “We showed it to Nintendo and they said this is really cool, we like the technology, and we’d like to see you do something on our new machine. So they gave us an early SNES machine, and within a week we’d ported NESGlider onto it.” The timing, from his 1993 Super Play interview: “Our original idea was to do something not unlike the Super FX chip, but actually for the NES. This was back in 1990, before the Super Famicom had even been released in Japan” — Argonaut “were given a Super Famicom back in June 1990, which was about six months before it went on sale in Japan.” A month after that, at a round-table in ACE, San said: “Every hardware designer I meet I ask to put a polygon chip into their next machine. One day they will.”
Nintendo’s verdict on NESGlider was that it “was a bit too ‘cult’”. San: “To get a 3D game to appeal to people you have to spend time introducing them to the 3D concept and easing them in gently, which is of course the whole idea behind StarFox. We limited your movement to more or less straight ahead. It’s more like a platform game, but in three dimensions.” The division of labour, in his words: “we did all the technical stuff and all the technology and we designed the chip, but we learned a lot from Nintendo about how to write mass market games.”
What it does
The problem it solves is that the Super NES draws from character tables, not a bitmap. A program that wants to plot a point, draw a line or fill a polygon has to assemble the result as 8×8 characters before the PPU can show it, and on the 65816 that conversion is slow. The Super FX’s PLOT instruction takes a coordinate and a colour and does the conversion itself, building character data in the cartridge RAM; the console’s CPU then copies the finished frame into VRAM. Nintendo’s Book II manual, which documents the chip for licensees, describes this as bitmap emulation, with four output layouts — background arrays 128, 160 or 192 dots high, or an array of sprites.
The two processors run in parallel, but not on the same memory: per Book II, the console’s CPU and the GSU cannot use the cartridge ROM or RAM at the same time, and a flag under the CPU’s control decides which side has the bus. So a Super FX game alternates — the 65816 hands the cartridge bus to the GSU to build a frame, takes it back to transfer the result — and the 512-byte cache lets the GSU’s inner loops keep running while the bus is elsewhere. The instruction set shows the priorities: alongside the RISC basics there are FMULT and LMULT for the fixed-point multiplies of 3D maths, and PLOT itself, whose cost the SuperFamicom.org wiki’s cycle table gives as anywhere from 3 to 48 cycles depending on what it has to do.
Nintendo Power explained the same idea to readers in January 1993: “The Super FX is what engineers and programmers call a RISC which stands for Reduced Instruction Set Computer. What it does in simple terms is to make a lot of very specific types of calculations very fast” — like a kicker who “could boot it through the uprights 100% of the time from as far away as 100 yards, and he could do it 60 times a second!” Super Play’s comparison was to “RISC technology, as found in the Archimedes home computers”, and San rated the chip at 3D polygons and texture mapping as “faster than a 286 PC, and about on a par with a 386 PC”.
Announcement and Star Fox
Game Informer carried the announcement in September 1992: “Nintendo of America Inc., announced the launch of their Super FX custom chip … based on RISC technology and includes digital signal processor functions. The result is new features such as texture mapping, shading and real time 3-D perspective. Nintendo’s first cartridge utilizing the new chip is anticipated to reach the shelves by February 1993.” Nintendo Power promised “games in which you can move about freely in a real time 3-D universe”, then in January 1993 named the game: “Nintendo’s Star Fox will be the first game to make use of the custom Super FX chip. Since the chip itself is buried inside the Game Pak, the only evidence of this miniature marvel will be on the screen. The first thing most people will notice is the use of polygon graphics.” The chip’s advantage over Mode 7 was that “not only can large backgrounds be rotated … but even sprites can be manipulated individually”, and “polygons are the most impressive of rotating images, however, because you can spin them around any axis for a true 3-D effect.”
Super Play noted the cost — “the new chip has boosted the cart price to 9,800 Yen (approx £40)” — and reported Star Fox shown at CES inside a dome as “the Argonaut developed 3D shoot-em-up which is the first game to use the new Super F/X chip”. San described the split: “the 3D maths routines and the basic game engine – was done by Argonaut, both here in the UK and also by some of our guys who are working at Nintendo’s HQ in Japan”, with character and spaceship design by Nintendo under Shigeru Miyamoto. Edge’s 1996 summary: “coded in the UK by Argonaut, much of its final gloss and design was added by Nintendo in Japan.”
Super FX 2
Edge went to Argonaut in April 1994 “to set the record straight” on the second chip, used in Stunt Race FX (“originally called XLR8”) and Elite’s PowerSlide: “The Super FX2 operating system is rated at 21.477MHz (one instruction per cycle, so 21.477 Mips), and can generate between 5,000 and 10,000 polygons per second (a 30% increase over the first FX chip). It has also been seen to handle up to 32,000 small triangular polygons per second in complex shapes.” Against Sega’s SVP in Virtua Racing: “the Super FX supports all SNES screen modes: 4, 16 and 256 colours, whereas the SVP only has 16 colours. Virtua Racing runs at approximately 12-15 frames per second, and while Stunt Race FX … runs at about the same speed, it’s actually doing twice the processing to run in 256-colour mode.” And on memory: “The SFX also has no built-in masked ROM; it contains purely task memory so it runs its program from the same ROM the game does.”
Elite’s Trevor Williams described how a Super FX game was built: “We produced the engine and simulation on the PC first because it was easy to write it in ‘C’ … we then convert everything over onto the Super FX.” Super Play reported Starfox II on the same chip “that runs at 21 MHz and makes for a 30% increase in performance”, now “a simultaneous two-player one”, programmed “by Argonaut Software in London – the creators of the Super FX chip”; Edge saw a prototype at Shoshinkai in late 1994, alongside a voxel-based Comanche it called “another unimpressive Super FX game”.
The cartridge-chip family
The Super FX was one of several processors Nintendo licensed into game paks; an Edge reader in 1995 listed “a DSP from Nintendo and Seta, the SFX chip from Argonaut and now the ACM from Rare”. The idea San had pitched to every hardware designer — a polygon chip — ended up in the cartridge rather than the console.
See also
- Argonaut
- Jez San
- Star Fox
- Starglider — the polygon lineage NESGlider came from
- Mode 7 — what the PPU could rotate on its own
- Texture Mapping
- Bank Switching
- Super Nintendo