Did The SNES Have an Operating System?


These days, game consoles are custom-built PCs with their own operating system and app library. Granted, you don’t get anywhere close to the functionality of an actual PC since it’s a locked OS that exposes very few things to its user. And you can’t install your own OS either, thanks to all the security systems.

But what about old consoles, did the SNES have an operating system? No, not in the traditional sense- but it did have a bootloader stored within ROM on the console itself. There was no need for a file management system, interoperability between multiple programs, online connectivity, or a GUI, so the SNES didn’t have an interactable OS.

You would simply insert a video game into the cartridge slot, and it would gain direct access to all circuitry within the console. There was no need for an intermediate software layer, such as an OS. Games were written in assembly language, and memory was too expensive for Nintendo to include an additional OS ROM chip.

Did The SNES Have An Operating System?

If by operating system, you mean one that has a GUI and file system, then no- the SNES didn’t have one. All I/O was handled by the game code itself, and no memory management was needed since everything was hand-optimized down to single bytes via assembly language. SNES had to be profitable, and Nintendo wasn’t exactly creating a PC competitor here.

Sure, PCs of the time had operating systems. Commodore 64 had one, as did the Apple II. However, game consoles back then were very specialized devices and didn’t contain nearly as much memory as a top-of-the-line PC.

Game consoles were intended to do just one thing, and at a cheap price. Developing an OS from scratch and including a ROM chip inside every SNES to store this OS would not have been a worthwhile investment for Nintendo. It wasn’t until the 6th console generation that operating systems became necessary on consoles.

Because these newer consoles could do more than just play games. They could run a variety of multimedia file types from discs and go online. Consoles like the Xbox 360 and PS3 were all-in-one entertainment systems, giving you the ability to run social media and streaming apps.

But the SNES had no secondary capabilities other than playing game cartridges. It didn’t have a floppy disc drive or network port for online connections. People buying these consoles weren’t interested in word processors or spreadsheets, they just wanted to play games like Mario, Donkey Kong, and Final Fantasy.

What CPU Did The SNES Use?

SNES is powered by a Ricoh 5A22, derived from the WDC 65C816 processor. The WDC 65C816 is itself based on a MOS Technology 6502, which is a simplified but faster version of Motorola’s 6800 8-bit processor. Nintendo wanted a processor with backward compatibility, so it could run NES games.

The NES was powered by a Ricoh 2A03, based on the MOS 6502. This CPU had its binary-coded decimal mode disabled to avoid patent infringement. By using a CPU based on the MOS 6502 core in the SNES, Nintendo laid the foundation for backward compatibility.

This feature was never implemented, which helped save money on each SNES sold. Nintendo designed the SNES Picture Processing Unit (PPU) with video memory onboard. On NES, graphics memory was located within the game cartridge itself, and the PPU read data from this cartridge.

Implementing a system that bypassed this feature on SNES proved to be quite expensive. With development costs already ballooning, Nintendo chose to ditch backward compatibility. SNES also had a different control layout, which made the implementation of backward compatibility even more complicated.

Nintendo wanted to use the faster Motorola 68000, running at 10MHz. But they decided to go with a Ricoh 5A22 which was much cheaper. Thanks to the support hardware and specialized coprocessors, SNES was powerful enough to run games of the early 1990s.

What Programming Languages Did The SNES Use?

Games on SNES were written in 65C816 assembly language. Programmers for SNES games had direct control over the hardware, with 1-to-1 causative effects. This allowed for great efficiency and improved performance, at the cost of a higher developmental learning curve.

Sure, games were much simpler back then. But you did have some genuine artistic masterpieces such as Final Fantasy VI and Legend of Zelda: A Link To The Past. In addition to learning the assembly code for the 65C816 processor, developers also had to learn the assembly code for the SPC700 audio chip.

How Does The SNES CPU Work?

On the surface, Nintendo didn’t change a whole lot from the NES. It’s still a 6502-based CPU core that runs in an 8/16-bit mode. Design-wise, this dates all the back to the late 1970s.

Nintendo modernized the 6502, as they wanted a processor capable of handling more data. This CPU has additional addressing modes, circuit enhancements, and new opcodes.

WDC licensed its processor design to Ricoh, which helped Nintendo save on manufacturing costs (which would have been much higher with a Motorola 68000). The Ricoh 5A22 has a variable clock speed.

While performing register operations, this processor will clock up to 3.58MHz. If it’s accessing slower buses like the serial/ controller port, clock speeds drop down to 1.78MHz.

The 5A22 can switch between 8 and 16-bit register groups, so depending on the mode being used instructions will be interpreted differently. There are no dedicated opcodes for 8 and 16-bit instructions.

As the CPU design was beginning to show its age during the late 1980s, Ricoh made a few additions to keep it relevant. First, they added a Direct Memory Access (DMA) unit to facilitate faster data transfer speeds without requiring CPU usage. Secondly, 16-bit multiplication and division units were added so these operations could be carried out within hardware (65C816 lacked dedicated instructions for these).

What Resolution Is SNES?

In NTSC regions, SNES outputs images at a resolution of 256 x 224 pixels. Generally, NTSC games run at 60FPS. However, some of the more demanding games released late into the SNES’ lifecycle ran at just 30FPS.

PAL games had a resolution of 256 x 240, with a framerate of 50. SNES can simultaneously display up to 256 colors onscreen, from a total palette of 32,768 colors.

What Is The Largest Game On SNES?

If we’re talking about the cartridge size, Tales of Phantasia and Star Ocean top the carts at 48 Megabits (6MB) each. Star Ocean is bigger, as its data is compressed.

To read data from this compressed state, an S-DD1 decompression chip is included within the cartridge. Decompressed, Star Ocean can take up to 96 Megabits (12MB) of data.

Conclusion

I hope this article helped you understand how the SNES “operating system” works. Technically, a bootloader can qualify as an operating system. It’s just not one you interact with.

And games don’t go through this piece of firmware as they can access hardware directly. The SNES CPU can read directly from the cartridge, as instructions are written in assembly language.

Jacob

As long as I can remember myself I always enjoyed video games. I had amazing moments playing them and that's why I became a game developer, to create amazing experiences for the players. Read More About Me

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Posts