Tachibana

Tachibana-project · Oric-emulator

Phosphoric

ORIC-1 / Atmos — cyclusnauwkeurig

Een cyclusnauwkeurige Oric-emulator geschreven in C11, getrouw tot op de timing van de 6502, de VIA 6522 en de ULA.

Draait zowel native (SDL2) als in de browser (WebAssembly), zonder externe afhankelijkheden. Periferie uit het tijdperk, een ingebouwde debugger, conversie- en besturingsgereedschap. MIT-licentie.

Functies

Wat Phosphoric doet

Cyclusnauwkeurige kern

MOS 6502 (151 opcodes, BCD, IRQ), VIA 6522, ULA (tekst 40×28 + HIRES 240×200, PAL-timing) en de PSG AY-3-8910, allemaal cyclus per cyclus geëmuleerd — wat demo's en rastergevoelige code vereisen.

Periferie uit het tijdperk

Microdisc WD1793 (echte mechanische timing, Sedoric-boot), TAP-cassette tot op signaalniveau, ACIA 6551, de Digitelec DTL 2000-kaart (V23 Minitel), Mageco / ORICON MIDI, IJK-joystick, Centronics-printer en MCP-40-plotter.

LOCI & telematica

LOCI-interface (FAT SD-opslag, USB HID), de PicoWiFiModemUSB WiFi-modem, en de V23 / Digitelec-modem om vroege telematica te herbeleven en een brug te slaan naar het Minitel- / Videotex-erfgoed (het PAVI-project).

Ingebouwde debugger

Voorwaardelijke en raster-breakpoints, watchpoints, undo (terugspoelen), een symboolbewuste disassembler, een inline-assembler, een ncurses-TUI — en een externe GDB-stub om de 6502 te debuggen vanuit gdb / VS Code.

Besturing & integratie

--control-modus (een tekstprotocol voor de OricForge-IDE), een REST-HTTP-API, deterministische invoeropname / -weergave («TAS movie»), AVI-video-export, schermafbeeldingen en Chromecast / Google Cast-streaming.

Native, browser & vrij

Een SDL2-build op Linux, Windows en macOS, of WebAssembly in de browser — byte-voor-byte identieke uitvoer. Schermtoetsenbord, CRT-filter, .ost-savestates. Uitgebracht onder de MIT-licentie.

Alle functies in detail bekijken → · Technische documentatie →

Media

Ondersteunde formaten

.tap

Oric-cassettes — snelladen of weergave op signaalniveau (--tape-signal) voor beveiligde loaders.

Ondersteund

.dsk

Microdisc / Sedoric-diskettes, met realistische mechanische WD1793-timing.

Ondersteund

.rom 16K

Machine-ROM's opstartbaar op $C000: BASIC 1.0 / 1.1, FOCAL, COMAL, FR / DE / ES-varianten…

Opstartbaar

.ost

Savestates met CRC32-integriteitscontrole — F2 / F4 om direct op te slaan en te herladen.

Ondersteund

Downloaden & bouwen

Ophalen en bouwen

Broncode

De repository is openbaar onder de MIT-licentie. Kloon hem, open een issue, stuur een patch.

github.com/benedictemarty/Phosphoric

Native bouwen

Op Debian / Ubuntu, met SDL2:

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

Browserversie

Gecompileerd naar WebAssembly (make wasm) en al online: het voedt ook de knop «Online uitvoeren» op de catalogusfiches.

De emulator openen

Routekaart

Stand van de ontwikkeling

Phosphoric is in actieve ontwikkeling (versie 1.107.3-alpha), gesteund door een suite van 908 geautomatiseerde tests (100 % groen). Indicatieve status hieronder — de repository is doorslaggevend.

Kern & periferie

ORIC-1 / Atmos-emulatie, Microdisc/Sedoric, cassette, ACIA, DTL 2000, MIDI, LOCI.

Klaar

Native + WebAssembly

SDL2-builds (Linux / Windows / macOS) en browser, identieke uitvoer.

Klaar

Hardware-conformiteit

Regel-voor-regel-audit van de kernen tegen de datasheets van de fabrikant (WD1793, VIA 6522, PSG…).

Bezig

ULA-NG → FPGA

ULA van de nieuwe generatie (sprites, 80 kolommen, chunky 4bpp) als softwarereferentie naar een Verilog / FPGA-implementatie.

Bezig