Tachibana

Tachibana-Projekt · Oric-Emulator

Phosphoric

ORIC-1 / Atmos — taktgenau

Ein taktgenauer Oric-Emulator in C11, getreu bis ins Timing des 6502, der VIA 6522 und der ULA.

Läuft sowohl nativ (SDL2) als auch im Browser (WebAssembly), ohne externe Abhängigkeiten. Zeitgenössische Peripherie, integrierter Debugger, Konvertierungs- und Steuerwerkzeuge. MIT-Lizenz.

Funktionen

Was Phosphoric leistet

Taktgenauer Kern

MOS 6502 (151 Opcodes, BCD, IRQ), VIA 6522, ULA (Text 40×28 + HIRES 240×200, PAL-Timing) und der PSG AY-3-8910, alle Takt für Takt emuliert — was Demos und rastersensibler Code verlangen.

Zeitgenössische Peripherie

Microdisc WD1793 (echtes mechanisches Timing, Sedoric-Boot), TAP-Kassette bis auf Signalebene, ACIA 6551, die Digitelec-DTL-2000-Karte (V23 Minitel), Mageco / ORICON MIDI, IJK-Joystick, Centronics-Drucker und MCP-40-Plotter.

LOCI & Telematik

LOCI-Schnittstelle (FAT-SD-Speicher, USB HID), das PicoWiFiModemUSB-WLAN-Modem und das V23- / Digitelec-Modem, um frühe Telematik wiederzubeleben und eine Brücke zum Minitel- / Videotex-Erbe zu schlagen (das PAVI-Projekt).

Integrierter Debugger

Bedingte und Raster-Haltepunkte, Watchpoints, Undo (Zurückspulen), symbolbewusster Disassembler, Inline-Assembler, ncurses-TUI — und ein entfernter GDB-Stub, um den 6502 aus gdb / VS Code zu debuggen.

Steuerung & Integration

--control-Modus (ein Textprotokoll für die OricForge-IDE), eine REST-HTTP-API, deterministische Eingabeaufzeichnung / -wiedergabe („TAS movie“), AVI-Videoexport, Screenshots und Chromecast- / Google-Cast-Streaming.

Nativ, Browser & frei

Ein SDL2-Build unter Linux, Windows und macOS oder WebAssembly im Browser — Byte-für-Byte identische Ausgabe. Bildschirmtastatur, CRT-Filter, .ost-Savestates. Veröffentlicht unter der MIT-Lizenz.

Alle Funktionen im Detail ansehen → · Technische Dokumentation →

Medien

Unterstützte Formate

.tap

Oric-Kassetten — Schnellladen oder Wiedergabe auf Signalebene (--tape-signal) für geschützte Lader.

Unterstützt

.dsk

Microdisc- / Sedoric-Disketten, mit realistischem mechanischem WD1793-Timing.

Unterstützt

.rom 16K

Maschinen-ROMs bootfähig bei $C000: BASIC 1.0 / 1.1, FOCAL, COMAL, FR- / DE- / ES-Varianten…

Bootfähig

.ost

Savestates mit CRC32-Integritätsprüfung — F2 / F4 zum sofortigen Speichern und Laden.

Unterstützt

Herunterladen & bauen

Beschaffen und bauen

Quellcode

Das Repository ist öffentlich unter der MIT-Lizenz. Klone es, öffne ein Issue, sende einen Patch.

github.com/benedictemarty/Phosphoric

Nativ bauen

Unter Debian / Ubuntu, mit SDL2:

sudo apt install build-essential libsdl2-dev
make SDL2=1
# dann ./oric1-emu -r roms/basic11b.rom

Browser-Version

Zu WebAssembly kompiliert (make wasm) und bereits online: Sie treibt auch den Button „Online ausführen“ auf den Katalogeinträgen an.

Den Emulator öffnen

Roadmap

Stand der Entwicklung

Phosphoric befindet sich in aktiver Entwicklung (Version 1.107.3-alpha), gestützt auf eine Suite von 908 automatisierten Tests (100 % grün). Indikativer Stand unten — das Repository ist maßgeblich.

Kern & Peripherie

ORIC-1- / Atmos-Emulation, Microdisc/Sedoric, Kassette, ACIA, DTL 2000, MIDI, LOCI.

Fertig

Nativ + WebAssembly

SDL2-Builds (Linux / Windows / macOS) und Browser, identische Ausgabe.

Fertig

Hardware-Konformität

Zeilenweiser Abgleich der Kerne mit den Datenblättern des Herstellers (WD1793, VIA 6522, PSG…).

Laufend

ULA-NG → FPGA

ULA der neuen Generation (Sprites, 80 Spalten, Chunky 4bpp) als Software-Referenz für eine Verilog- / FPGA-Implementierung.

Laufend