.tap
Oric cassettes — fast load, or signal-level playback (--tape-signal) for protected loaders.
A Tachibana project · Oric emulator
ORIC-1 / Atmos — cycle-accurate
A cycle-accurate Oric emulator written in C11, faithful down to the timing of the 6502, the VIA 6522 and the ULA.
It runs both natively (SDL2) and in the browser (WebAssembly), with no external dependency. Period peripherals, a built-in debugger, conversion and control tooling. MIT-licensed.
Features
MOS 6502 (151 opcodes, BCD, IRQ), VIA 6522, ULA (40×28 text + 240×200 HIRES, PAL timing) and the AY-3-8910 PSG, all emulated cycle by cycle — what demos and raster-sensitive code demand.
Microdisc WD1793 (real mechanical timing, Sedoric boot), TAP cassette down to the signal level, ACIA 6551, the Digitelec DTL 2000 card (V23 Minitel), Mageco / ORICON MIDI, IJK joystick, Centronics printer and MCP-40 plotter.
LOCI interface (FAT SD storage, USB HID), the PicoWiFiModemUSB WiFi modem, and the V23 / Digitelec modem to replay early telematics and bridge to the Minitel / Videotex heritage (the PAVI project).
Conditional and raster breakpoints, watchpoints, undo (rewind), a symbol-aware disassembler, an inline assembler, an ncurses TUI — and a remote GDB stub to debug the 6502 from gdb / VS Code.
--control mode (a text protocol for the OricForge IDE), a REST HTTP API, deterministic input record / replay (“TAS movie”), AVI video export, screenshots and Chromecast / Google Cast streaming.
An SDL2 build on Linux, Windows and macOS, or WebAssembly in the browser — byte-for-byte identical output. On-screen keyboard, CRT filter, .ost save states. Released under the MIT license.
Media
Oric cassettes — fast load, or signal-level playback (--tape-signal) for protected loaders.
Microdisc / Sedoric floppies, with realistic WD1793 mechanical timing.
Machine ROMs bootable at $C000: BASIC 1.0 / 1.1, FOCAL, COMAL, FR / DE / ES variants…
Save states with a CRC32 integrity check — F2 / F4 to save and reload on the fly.
Download & build
The repository is public under the MIT license. Clone it, open an issue, send a patch.
github.com/benedictemarty/PhosphoricOn Debian / Ubuntu, with SDL2:
sudo apt install build-essential libsdl2-dev
make SDL2=1
# then ./oric1-emu -r roms/basic11b.rom
Compiled to WebAssembly (make wasm) and already online: it also powers the “Run online” button on the catalogue entries.
Roadmap
Phosphoric is under active development (the 1.x-alpha series), backed by a large automated test suite (100% green). Indicative status below — the repository is authoritative.
ORIC-1 / Atmos emulation, Microdisc/Sedoric, cassette, ACIA, DTL 2000, MIDI, LOCI.
SDL2 builds (Linux / Windows / macOS) and browser, identical output.
Line-by-line audit of the cores against manufacturer datasheets (WD1793, VIA 6522, PSG…).
A next-generation ULA (sprites, 80 columns, chunky 4bpp) as a software reference toward a Verilog / FPGA implementation.