THE VIRTUAL TO2026

A whole machine, from register to BASIC.

TO2026 doesn't imitate a screen: it is a complete virtual computer, with its memory, its chips, its monitor and its languages. Here is how it is built, layer by layer, and what each chip can do.

  • PROCESSORNone

    No emulated 6809: the languages talk straight to the virtual hardware, through the monitor.

  • MEMORY64 KB + 6 × 16 KB

    The MO6 map: 64 KB, and six banks switched into the &H6000–&H9FFF window.

  • VIDEO12 + 1 modes

    The 12 MO6 modes, plus mode 20: 640×480, 4096 colours out of 16.7 million.

  • SPRITES128

    Up to 64×64 pixels, 256 images, two tile planes, raster effects, 60 frames/s.

  • SOUNDTS-26

    4 SID-style voices, multimode filter, a sample channel.

  • SPEECHMEA8000

    Formant synthesis at 8 kHz, reading French aloud.

  • DISK16 MB

    Folders, GEOS-style headers, kept in the browser.

  • NETWORKN:

    HTTP(S), JSON and WebSocket, opened like files.

01 / THE ARCHITECTURE

Five layers, like a real computer.

A program never touches the browser: it goes through the monitor, which replaces the ROM, and only the virtual hardware knows the registers.

That layering is what lets MO6 programs run unchanged, and new languages be added without breaking anything: BASIC 128 interprets line by line, at the original speed; BASIC 2026 compiles the whole program, which makes it about 15 times faster on the same calculations.

Nothing comes from the original ROMs. The monitor, both BASICs and the desktop were rewritten, then checked against the MO6 manual's examples and more than 300 automated tests.

  1. PROGRAMSyour programs, the desktop, Plume, Abaque — in BASIC 128 or BASIC 2026
  2. LANGUAGESBASIC 128 interpreted · BASIC 2026 compiled · LOGO and assembler to come
  3. MONITORtext and cursor, graphics, fonts, sprites, sound, files, network: what the ROM used to do
  4. VIRTUAL HARDWAREmemory and banks · MO6 video and mode 20 · TS-26 · MEA8000 · DOS · N:
  5. BROWSER60 Hz picture on a canvas · sample-accurate sound (AudioWorklet) · disk in IndexedDB

02 / THE MEMORY

The MO6 map, with its chips as I/O.

TO2026 keeps the 64 KB view of the MO6. The new chips are registers, read and written with PEEK and POKE as in 1986.

The &H6000–&H9FFF window shows one of six 16 KB banks, chosen with BANK. The chips sit in small areas above it: a program can drive everything by hand, or let the BASIC statements do it.

BASIC programs and variables are kept apart, by the language itself: at start-up, BASIC 128 reports 111,015 bytes free for them.

ADDRESSESAREAROLE

  1. &H0000&H5FFFRAMfree for PEEK and POKE
  2. &H6000&H9FFFBank window6 banks of 16 KB, chosen with BANK 1 to 6
  3. &HA000&HA3FFRAM
  4. &HA400&HA43FGraphics chipmode 20: planes, scrolling, sprites, loading port
  5. &HA440&HA5FFRAM
  6. &HA600&HA63FTS-26 sound chip4 voices, filter, samples
  7. &HA640&HA7FDRAM
  8. &HA7FE&HA7FFMEA8000speech synthesis data and command
  9. &HA800&HFFFFRAM

03 / THE VIDEO

The twelve MO6 modes, and a thirteenth for 2026.

The picture is composed at 640×480 every frame. The legacy modes fill the MO6 area, doubled in height and framed by its coloured border.

MODERESOLUTIONCOLOURS AND USE
0320×200, 40 columns16 colours, two colours per 8-pixel segment (foreground and background)
1640×200, 80 columns2 colours
2320×2004 colours per pixel
3160×20016 colours per pixel
4 – 72 pages of 320×200one page shown and the other written, or both overlaid
8 – 114 overlaid planesone plane written at a time, plane 4 in front
20640×480, 80 × 304096 colours out of 16.7 million — the TO2026 mode

Mode 20, plane by plane

Seven planes are stacked, from back to front. Colour index 0 is transparent in each: a sprite passes in front of the scenery, text is written over everything.

The 128 sprites and both tile planes are handled by the chip: a sprite is given a speed and moves on its own, bounces off the edges, reports its collisions. Raster tables change the background colour or the scrolling on every line, as on the 8-bit machines.

  1. 7TextPRINT, the cursor, the editor
  2. 6Sprites128 sprites, up to 64×64, ×2 zoom, mirrors
  3. 5Bitmap640×480, two pages: draw on one while the other is shown
  4. 4Sprites “behind”under the drawing
  5. 3Tiles B64×64 map of 8×8 tiles, scrolling
  6. 2Tiles A1024 tiles, per-line scrolling
  7. 1Backgroundone colour, or one per line (raster)

04 / SOUND AND SPEECH

Two chips, two voices.

TS-26, the sound chip

Four voices in the spirit of the Commodore 64's SID: each picks its waveform (triangle, sawtooth, pulse with adjustable width, noise), its ADSR envelope, sync or ring modulation. A resonant low-pass, band-pass or high-pass filter processes the chosen voices; a fifth channel plays samples stored in memory. Sound is computed sample by sample in the browser, with no stutter when the picture slows down.

Voices
4, plus a sample channel
Frequency
steps of 0.0596 Hz (1 MHz / 2^24)
Waveforms
triangle, sawtooth, pulse, noise
Filter
11-bit cutoff, 4-bit resonance
Registers
&HA600, 64 bytes

MEA8000, speech

The chip of the Thomson speech synthesiser, rebuilt from its documentation: a pulse or noise goes through four resonators, set by 4-byte frames that glide from one to the next. TO2026 adds French reading: SPEAK "Bonjour" turns the text into phonemes, then frames. The voice is robotic, as in 1985, but understandable.

Synthesis
formants, 8 kHz
Frame
4 bytes: 8, 16, 32 or 64 ms
Formants
4 cascaded resonators
Text
French, rules without a dictionary
Registers
&HA7FE, 2 bytes

05 / DISK AND NETWORK

Four disks, and a network socket.

The DOS

Four drives with folders: the work disk kept in the browser, a floppy lost on closing, a server disk opened by ProAdmin and the write-protected system disk. Each file carries a GEOS-style header: its type, its author, a 24×16 icon and its dates. BASIC 128 programs end in .BAS, BASIC 2026 programs in .B26. DEVICE, COPY, BACKUP and DSKINI manage them from both BASICs.

Capacity
16 MB
Paths
folders, “/”, names up to 40 characters
Header
type, author, icon, dates
Persistence
the browser’s IndexedDB

N:, the network

In the spirit of FujiNet, the network opens like a file: OPEN "I",#1,"N:https://…" reads a page, PRINT # sends data, and the BASIC 2026 JSON functions pull values out of it. WebSockets give live exchanges. Since a browser cannot open a raw TCP connection, a site that refuses calls from another origin goes through a gateway, set with NET PROXY.

Protocols
HTTP(S), WebSocket
Data
text, JSON
Access
like a file, N:
Gateway
NET PROXY

06 / START-UP

As in 1984, the cartridge decides.

  1. The menu

    At power-on, the TO7/70 screen: numbered choices, touched with the light pen, here with the mouse or the keyboard. Without a cartridge the computer can do nothing: only the light pen is left.

  2. The cartridges

    The cartridge brings the language and its menu choices: BASIC 128, or BASIC 2026 with the disk, which opens the desktop directly. Changing cartridge restarts the machine.

  3. The extension module

    Speech, sound and network are chips you plug in or pull out; a removed chip goes silent, as if the board were missing.

  4. The release

    Every build of the machine carries a number, shown on the BASIC 2026 screen: you always know which version is running.

See it run.

Everything described here works in your browser, with nothing to install.

Explore the machine The language reference