Tachibana

Tachibana-Projekt · Oric-1-Spiel

Astéroric

Asteroids — Oric-1 48K

Ein originalgetreuer Studienklon von Asteroids (Atari, 1979) für den Oric-1 48K: die Arcade-Logik, die Vektorzeichnung, der Sound — auf einem 6502 mit 1 MHz.

Geschrieben in C und 6502-Assembler (cc65). XOR-Darstellung in HIRES 240×200, Spielschleife mit konstanten 25 Hz, Asteroiden und Untertassen aus der Disassemblierung des Arcade-ROM rev 4, AY-3-8912-Sound auf 3 Kanälen, IJK-Joystick und konfigurierbare Tasten. Auf einem echten Oric-1 getestet. EUPL-1.2-Lizenz.

Funktionen

Was Astéroric macht

XOR-Vektorzeichnung

Bresenham-Segmente per XOR auf dem monochromen HIRES-Bildschirm: Zeichnen und erneut Zeichnen löscht, ohne etwas zu speichern. Selbstmodifizierende Assemblerroutine, byteweise Bündelung auf der horizontalen Achse, vorgerenderte Sprites für feste Formen.

Arcade-getreu

Logik aus der Disassemblierung des Arcade-ROM rev 4 übertragen: Asteroidenformen mit 11-13 Eckpunkten, ansteigende Wellen, Zerfall in 3 Bruchstücke, Untertassen-KI abhängig vom Punktestand, Hyperraum, Schiff mit 5 Segmenten.

AY-3-8912-Sound auf 3 Kanälen

Player unter dem Timer-1-Interrupt mit 50 Hz: Kanal A für Effekte, B für den Thump-Thump-Herzschlag, C für die Untertasse. Hardware-Hüllkurven, acht nachgebildete Effekte, Titel-Jingle nach Grieg (zweistimmig).

Vektor-Titelbildschirm

Vollständiger A-Z-Vektorzeichensatz in XOR, passive Demo wie am Automaten, blinkendes „PRESS SPACE“, 7-Segment-Punktestand, „WAVE n“, Tabelle der fünf besten Ergebnisse.

Tastatur und IJK-Joystick

Direktes Abtasten der Tastaturmatrix über den VIA (keine ROM-Abhängigkeit), Tasten vom Titelbildschirm aus neu belegbar (Taste K), IJK-Joystick-Interface am Druckerport gelesen — Protokoll auf echter Hardware validiert.

Frei (EUPL 1.2)

Originalcode unter EUPL 1.2 auf GitHub, Autorun-.tap im Release. Läuft im Emulator Phosphoric (Entwicklungswerkzeug des Projekts) und auf einem echten Oric-1.

Alle Funktionen im Detail → · Handbuch lesen →

Spielen

Drei Wege zum Spielen

.tap herunterladen

Die Datei asteroric.tap (~23 KB) liegt bei den Assets des neuesten GitHub-Release. Sie ist Autorun: kein CLOAD eintippen, HIRES-Modus und Spiel starten beim Laden.

Empfohlen

Unter Phosphoric

Der Emulator Phosphoric als Oric-1 (BASIC-1.0-ROM) lädt die .tap direkt; make run aus den Quellen tut dasselbe, make run-joy mit dem emulierten IJK-Joystick.

Emulator

Auf einem echten Oric-1

Laden per Kassette oder über ein modernes Interface. HIRES-Videosignal mit 50 Hz (PAL) von einem externen Tester mit einem RGB2HDMI validiert; physisches IJK-Interface unterstützt.

Echte Hardware

Herunterladen & bauen

Holen und bauen

Quellcode

Das Repository ist öffentlich unter der EUPL-1.2-Lizenz (Originalcode). Klonen, ein Issue öffnen, eine Korrektur vorschlagen.

github.com/benedictemarty/oric-asteroids

Bauen

Mit cc65 (≥ 2.19), Python 3 für die Tabellen und Phosphoric zum Starten und Testen:

make # erzeugt build/asteroric.tap
make run # startet unter Phosphoric
make check # Aufnahme = bitgenaue Referenz
make host-test # Host-Tests (RNG, Tastentabelle)

Ausführen

Unter Phosphoric als Oric-1 oder auf einem echten Oric-1 48K. Das Handbuch beschreibt die Tasten, den Konfigurationsbildschirm und den Joystick.

Handbuch lesen

Roadmap

Stand der Entwicklung

Astéroric steht bei 1.0.0-beta (Phase 40, GitHub-Release vom 9. August 2026): ein vollständiges, spielbares Spiel, von einem externen Tester auf einem echten Oric-1 validiert. Vierzig Phasen geliefert, zwei „Senior“-Code-Reviews umgesetzt. Stand unten nur indikativ — das Repository ist maßgeblich.

Vollständiges Spiel

Schiff mit 32 Winkeln, Schüsse, Asteroiden in 4 Formen × 3 Größen, Kollisionen, Punktestand, Leben, Wellen, Untertassen, Hyperraum, Game Over und fünf beste Ergebnisse.

Erledigt

Arcade-rev-4-Treue

Formen, Erscheinen, Zerfall, Untertassen-KI, Druck am Wellenende, Explosionen von Schiff und Asteroiden aus der Disassemblierung übertragen.

Erledigt

AY-Sound auf 3 Kanälen

IRQ-Player, Hüllkurven, acht Effekte, Titel-Jingle (Grieg, gemeinfrei) zweistimmig.

Erledigt

Konstante 25 Hz

Scheduler mit festem Schritt und Aufholen, keine Ruckler mehr; freie CPU-Zeit in drei Optimierungsphasen von 17,9 % auf 39,8 % erhöht.

Erledigt

Echte Hardware

50-Hz-Videosignal korrigiert (ULA-Attribut $1E), Torpedos mit 2×2 px, echtes IJK-Protokoll — drei Rückmelderunden eines Testers am physischen Oric-1.

Erledigt

Konfigurierbare Tasten

CONTROLS-Bildschirm (Taste K im Titel): fünf neu belegbare Aktionen, Duplikate abgelehnt, ESC stellt wieder her.

Erledigt

Oric Atmos

Die .tap läuft nicht mit dem Atmos-ROM (BASIC 1.1): Nominalziel ist der Oric-1, Atmos-Kompatibilität wird ein eigener Sprint.

Offen

Speichern & Diskette

Bestenliste auf Kassette oder Diskette sichern, Microdisc-.dsk-Image, ausgerollte Zeichenschleifen, farbiges HUD-Band.

Roadmap

Artikel

Technische Notizen