SNESOS.
SNESOS 0.1 / S-OS SHELL  ·  in-ROM identity mark: S-OS  ·  native 65816 assembly
CPU 65816 (SNES Ricoh 5A22) MAPPER FAST LOROM TOOLCHAIN ca65 / ld65 (cc65) VERIFIED Mesen 2, headless TARGET FXPak Pro on a real SNES ALSO Hyperkin portable clone
01

WHAT IT IS

BOOTS TODAY

SNESOS is a boot-to-shell operating-system curiosity for the stock Super Nintendo.

Not a game. Not an emulator. A genuine tiny OS, written in native 65816 assembly, that runs on real SNES hardware from a flash cartridge — and turns a shelved console into a mini-computer: a shell, commands, persistent storage, and loadable program modules.

It is built as a Fast LoROM cartridge image with the ca65/ld65 toolchain (the cc65 suite) and verified headlessly in the Mesen 2 emulator. Its target hardware is an FXPak Pro flash cart in a real SNES — plus a Hyperkin portable clone, because a computer you can hold is a better computer.

02

THE SHELL

SHIPPING

A Mode-1 background text shell on the SNES's own tile hardware: a 256×224 screen carrying a 32×28 grid of visible 8×8 tiles, uploaded with a dirty-tilemap DMA path so only what changed gets sent.

CONTROL

  • Controller-driven, with an editable 64-byte command line.
  • 4-entry WRAM command history — recall, edit, re-run.
  • A QWERTY-ish on-screen keyboard drawn from the same tile grid.

VOICE

  • Concise. Legible. Predictable.
  • READY.  OK.  FILE NOT FOUND.
  • BAD COMMAND. TYPE HELP.
  • No jokes. No mascot. No banter.
03

SRAM FILESYSTEM

SHIPPING

A CRC-checked, log-structured filesystem living inside the cartridge's 32 KiB of SRAM. Flat namespace, case-insensitive filenames up to 16 characters, files up to 4 KiB. Pull the cart, shelve it for a year, plug it back in: the CRC says whether your bits are still your bits.

format sram:Initialize the SRAM volume.
dir sram:List files and free space — 3 FILES, 18432 BYTES FREE.
type <file>Print a file to the screen.
write <file> <text>Write a file from the command line.
del <file>Delete a file.
04

PROGRAM LOADER · M3X

SHIPPING

A manifest-driven native program loader with a stable ABI. It launches the same CRC-checked module format from ROM packages or from the SRAM filesystem — install copies a ROM package onto your volume and it runs from there, unchanged.

dir rom:/List ROM packages.
help <app>Read a package's manifest help.
run <app>Launch a module from ROM or SRAM.
install <app>Copy a ROM package into the SRAM filesystem.

M3X — EXTENDED LOADER

SOSM-v2 manifest packages whose code executes directly from mapped ROM banks — programs larger than comfortable RAM, running in place.

FIRST TENANTS

  • BIGAPP — a 33 KB contract-proof demo that exists to hold the loader to its word.
  • RAYCAST — a textured first-person raycaster: 8 materials, doors with a use action, keyboard-only play. Measured at 10.4 Hz on real hardware after two optimization passes.
05

INPUT

v1 SCOPE

SKBD-v1 — REAL KEYBOARD DRIVER SHIPPING

An optional hardware keyboard on the controller port, speaking SKP-1 — a SNESOS-original keyboard protocol. The native driver reads it as a second, provider-neutral input source alongside the on-screen keyboard. Hot-plug and unplug fall back cleanly to the on-screen keyboard, mid-session.

SNES MOUSE PLANNED v1

The SNES Mouse — the Mario Paint-era official hardware — is a planned v1 input device and works well on emulators today. It is the pointer the GUI layer is designed around.

06

THE GUI LAYER

IN DESIGN

A mouse-first icon-launcher GUI shell, layered over the text shell — not a replacement for it. The register is locked to an early-Windows-3.x look, built entirely from the existing 8×8 tile grid, the banked 16-color palette, and SNESOS's own 8×8 monospace font. There is no proportional system font, and there will not be one.

PROGRAM MANAGER — S-OS
SHELL
FILES
RAYCAST
TRACKER
C:\> run raycast
RUNINSTALLCANCEL

Chunky raised/sunken grey bevels. A title bar. A Program Manager-style icon grid. Modal panels. An austere monitor, in the literal sense.

07

FLAGSHIP: A LOW-FANTASY 4X

OPEN DESIGN

A strategy game with the theme locked to a genericized SPI register — offices as institutions, theme-as-system, austere presentation, asymmetry in the numbers rather than the prose. Lineage: Avianos (UFO 50), Dominions, Civilization II, and the graphic discipline of Simulations Publications, Inc.

COURT-AUDIENCE ECONOMY

Five court offices. Each season you grant audience to one; its fixed 3-action agenda is the whole turn, followed by a 2-season fatigue lockout on that office.

THE ITINERANT COURT

The five offices circulate among 3–4 rival realms. Hosting an office denies it to rivals — the court's itinerary doubles as the diplomacy layer.

THE LEDGER

Provisions / Momentum / Relic Stages / Office Fatigue. The resource ledger is the save state.

LEDGER CLASH

Combat is one opposed d6 roll. No combat-results table. No step losses.

COLLAPSE / REVELATION

Victory clocks for survival and relic-power wins — decided before conquest is.

WHY ON SNESOS

Turn exchange over deterministic lockstep is the first planned use of real-hardware netplay. The 4X is the first customer.

08

THE TRACKER LADDER

SERIOUS PROGRAM TRACK

The SNES's SPC700 sound chip is literally an 8-voice hardware sampler. The second serious program track climbs toward it in three deliberate rungs:

PROGRAM LADDER — SPC7003 RUNGS
RUNG 1  PIANO TOY        input → voice, instantly
RUNG 2  SEQUENCER        patterns, steps, a song
RUNG 3  SAMPLER TRACKER  the full 8-voice instrument
09

PHASE-2 STRETCH GOALS

HELD — SEEDED, NOT BUILT

THE PORTAL HELD

A curated online portal in the AOL / XBAND register: a walled garden of services — a headline ticker, an encyclopedia reader, a microblog client, NTP time — piped through a smart-cart bridge and a homelab head-end.

Deliberately not a general browser. A 1994-grade service menu, served to a 1990 console.

REAL-HARDWARE NETPLAY HELD

Networked play between physical SNES consoles over deterministic input lockstep — the same technique XBAND used over phone lines in 1994.

Turn-exchange first (the 4X is the first customer); real-time co-op second.

10

THE REGISTER

"The shell should feel like a small real system: concise, legible, predictable, slightly austere, pleasingly retro." — SNESOS founding spec, §3.1 "Personality and register"

Explicitly out of bounds: jokes, fake sentience, mascot banter, insult messages, overlong quips. A sibling project on the same hardware owns that lane.

HOUSE STYLE — OBSERVED OUTPUT§6.1.10
READY.
OK.
FILE NOT FOUND.
SRAM NOT FORMATTED.
3 FILES, 18432 BYTES FREE.
BAD COMMAND. TYPE HELP.

No mascot. No persona. No banter.
SNESOS is the machine.
11

THE PALETTE

IN ROM

This page is colored by SNESOS's real banked 16-color SNES palette — the same ramp the shell, the GUI mockups, and the games draw from.

#101018
#383848
#707080
#B0B0C0
#E8E8F0
#907040
#C8A870
#F0E0B0
#A03030
#D85848
#C09838
#F0D068
#407850
#70C878
#604830