Skip to content
Eliott65wiki
Contents

Specifications

Eliott65 on the Neo6502kbd at a glance: processor, memory, display, sound and storage, with the values measured on the board.

Processor

ProcessorWDC W65C02S, at 3.3 V
SpeedTURBO mode by default; at 252 MHz it gave 7.52 MHz (6.48 MHz in SPEC mode, within the WDC data sheet; 8.0 MHz in MAX mode)
Measured speed, video on7.707 MHz at 270 MHz, with the bus fix (v0.59.1); 7.72 MHz before it (v0.52.0)
ControllerRP2040: 2 ARM Cortex-M0+ cores at 270 MHz (252 MHz up to v0.51), 264 KiB of memory

ROM

None. The 6502 has no ROM: all of its memory is served by the RP2040. The Eliott65 firmware (kernel, drivers, files) lives in the RP2040’s 2 MB flash, out of the 6502’s sight. At start-up, the program is placed directly in memory, with no resident loader.

RAM

6502 memory64 KiB (65,536 bytes)
Free for programs65,528 bytes: the system takes only 8 (call gate and vectors)
Multitaskingup to 8 programs, each with its own 64 KiB; 4 KiB pages kept in a pool of 30 frames
Graphics video memory32 KiB, expandable to 64 KiB by borrowing free frames

Display

OutputHDMI, 720 × 480 at 60 Hz, one signal for every mode (since v0.52); 640 × 480 as an option
Text mode40 × 30 characters, 8 × 8 font, 16 colours, one text and one background colour per cell
Graphics mode320 × 240 pixels, centred on the screen (40-pixel black borders)
Hercules mode720 × 350, 1 bit per pixel, white, amber or green ink (v0.53); 80 × 25 text in 9 × 14 cells, inverse, underline, blink, 9 × 14 font drawn for Eliott65 (v0.58); shell in 80 columns; nothing checked on the board yet
Layers2, tiled (8 × 8 or 16 × 16) or bitmap, from 1 to 8 bits per pixel
Sprites128, with depth and mirroring
Coloursa palette of 256 colours chosen from 4,096; a palette bank per line (241 colours on screen in the VAGUE demo)
Effectsscrolling per layer and per line

Text and images are read directly from the program’s memory, without copying. The limits of the graphics (how many layers and sprites fit per line) are detailed in Tiles and sprites.

Sound

Board speakernotes and melodies from 20 Hz to 20 kHz, by PWM, without blocking the program
Over the HDMI socketa test tone (an A at 441 Hz, 44.1 kHz), decoded correctly on the bench but not yet confirmed by ear

Storage and input

StorageUSB stick: FAT12, FAT16, FAT32, long names, reading and writing; FAT12 floppies ready (USB drive to come)
KeyboardUSB, US (QWERTY, the default) and FR (AZERTY) layouts
Mouserecognised on the hub, not yet used

System

System calls7 services, 47 functions, about 5 µs per call
Multitaskingcooperative and pre-emptive (by NMI), a shell with background tasks and Ctrl+Tab
Hibernationthe whole machine in a .HIB file, exact resumption

Values from the Eliott65 repository at version 0.60.0.

Sources in the repository : README.md, docs/adr/ADR-0027-signal-unique-720x480.md, docs/journal/00-synthese.md, docs/api/API.md, docs/journal/13-graphisme.md, docs/journal/14-son.md.