Tachibana

Astéroric › Handleiding

Astéroric — handleiding

Studiekloon van Asteroids voor de Oric-1 48K · EUPL 1.2-licentie. Deze handleiding gaat van het downloaden tot het spelen, en daarna tot het bouwen vanuit de bronnen. De functies en de techniek staan op de pagina Functies.

Inhoud

1. Downloaden en starten

  1. Open de laatste GitHub-release en neem asteroric.tap uit de Assets. Hetzelfde bestand staat geversioneerd in dist/asteroric.tap — gebruik vanuit de GitHub-interface de knop Raw / Download, niet de link van de HTML-pagina (dan krijgt u HTML).
  2. Laad het op een Oric-1 48K (BASIC 1.0-ROM), echt of geëmuleerd. De .tap draagt de autorun-vlag: de HIRES-modus en het spel starten bij het laden, geen CLOAD of CALL intypen.
  3. De jingle speelt, het titelscherm verschijnt met zijn demo. SPACE start een spel, K opent de toetsinstelling.

Ziet u ILLEGAL QUANTITY ERROR na een CALL 1280, dan is de opdracht na de auto-uitvoering getypt: het programma heeft al gedraaid. Laad de .tap gewoon opnieuw.

Onder Phosphoric

Laad in de emulator Phosphoric, als Oric-1 met de ROM basic10.rom, asteroric.tap met snel laden. Vanuit de bronnen doet make run alles; make run-joy stuurt de pijltjes en RCTRL/RALT naar de geëmuleerde IJK-joystick.

2. De toetsen

Standaardindeling (pijltjes + SPACE). Alle toetsen worden rechtstreeks in de toetsenbordmatrix gelezen, buiten de ROM om.

ToetsActie
naar links draaien
naar rechts draaien
stuwkracht (thrust)
hyperspace — willekeurige teleportatie, 25 % kans op de dood
SPACEschieten (salvo bij vasthouden); op het titelscherm: starten; bij game over: opnieuw spelen
Kop het titelscherm: toetsinstelling
ESCbij game over: naar BASIC; in CONTROLS: annuleren

3. Het CONTROLS-scherm

De vijf acties herindelen

Druk op het titelscherm op K. De acties LEFT, RIGHT, THRUST, FIRE, HYPER worden om de beurt onderstreept: druk op de gewenste toets om ze toe te wijzen. Een al gebruikte toets of een niet-gedocumenteerde matrixpositie wordt geweigerd (het spel verzint geen toetsnamen). Een schietgeluid bevestigt elke toewijzing.

Annuleren

ESC breekt de invoer af en herstelt de vorige indeling. De indeling leeft in RAM: na herladen zijn de standaardtoetsen terug. ESC en de joystick zijn niet herindeelbaar.

4. IJK-joystick

Ondersteunde interface

De IJK-joystickinterface — de meest verspreide op de Oric — wordt op de printerpoort aangesloten. Astéroric leest ze rechtstreeks (VIA-poort A, PB4-strobe) en detecteert haar aanwezigheid: zonder interface wordt niets gelezen. Links/rechts draaien, omhoog stuwt, omlaag gaat naar hyperspace, de knop schiet. Toetsenbord en joystick zijn tegelijk actief.

Validatie

Het protocol is herschreven na feedback van een tester met een fysieke interface (de eerste versie volgde een onnauwkeurig emulatormodel) en gevalideerd tegen Oricutron; Phosphoric is tegelijk gecorrigeerd.

5. Het spel

Doel

De asteroïden vernietigen zonder geraakt te worden. Een grote asteroïde splitst in drie, elk fragment weer in twee kleinere groottes. De volgende, grotere golf begint als het scherm leeg is.

Schotels

De grote schotel schiet willekeurig; de kleine richt op het schip, met een precisie die toeneemt met de score, en wordt boven 35.000 punten de enige. Ze komt sneller terug aan het einde van een golf.

Score en levens

7-segmentcijfers bovenaan het scherm, levensiconen (hoogstens vier getoond), “WAVE n”. Extra leven elke 10.000 punten, tot 60.000. Na de dood verschijnt het schip even onkwetsbaar opnieuw.

Game over

Explosie, “GAME OVER”, dan de tabel met de vijf beste scores van de sessie. Na 5 s speelt SPACE opnieuw en keert ESC terug naar BASIC (nette terugkeer via de RESET-vector).

6. Bouwen vanuit de bronnen

git clone https://github.com/benedictemarty/oric-asteroids.git
cd oric-asteroids
make            # build/asteroric.tap
make run        # start onder Phosphoric
make check      # opname == bit-exacte referentie
make host-test  # x86-hosttests

Vereisten: cc65 ≥ 2.19, Python 3, Phosphoric geïnstalleerd (pad in de Makefile). make gen_ship en make gen_shapes regenereren de hoekpunttabellen; make bench profileert 25 miljoen cycli; make clean ruimt op.

7. Compatibiliteit

MachineStatus
Echte Oric-1 48K (BASIC 1.0)werkt — 50 Hz-video gevalideerd met een RGB2HDMI, IJK gevalideerd
Oric-1 onder Phosphoricnominaal (ontwikkelemulator van het project)
Oric-1 onder Oricutronfunctioneel
Oric Atmos (BASIC 1.1), echt of geëmuleerdwerkt niet — compatibiliteit nog aan te pakken

8. Licentie en rechten

Oorspronkelijke code: EUPL 1.2

Weergave-engine, invoer, geluidsengine en nagemaakte effecten, de Oric-aanpassing van de spellus, HUD, titelscherm, build, tests en documentatie zijn uitgebracht onder de European Union Public Licence v1.2.

Van Atari afgeleide elementen: niet gedekt

De spellogica (toestandsmachine, fysica, fragmentatie, schotel-AI, pseudowillekeurige generator, puntentelling) is bewerkt uit de disassemblage van de arcade-ROM rev 4 en de vectorvormen zijn afgeleid van de ROM-gegevens. Op deze elementen worden geen rechten geclaimd (Asteroids, © 1979 Atari, Inc.; merk van Atari Interactive, Inc.). Niet-commercieel studie- en bewaarproject, niet verbonden met en niet goedgekeurd door Atari — vandaar de titel Astéroric. Details: NOTICE.md in de repository.

← Astéroric · Functies →