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
- Open de laatste GitHub-release en neem
asteroric.tapuit de Assets. Hetzelfde bestand staat geversioneerd indist/asteroric.tap— gebruik vanuit de GitHub-interface de knop Raw / Download, niet de link van de HTML-pagina (dan krijgt u HTML). - Laad het op een Oric-1 48K (BASIC 1.0-ROM), echt of geëmuleerd. De
.tapdraagt de autorun-vlag: de HIRES-modus en het spel starten bij het laden, geenCLOADofCALLintypen. - 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.
| Toets | Actie |
|---|---|
| ← | naar links draaien |
| → | naar rechts draaien |
| ↑ | stuwkracht (thrust) |
| ↓ | hyperspace — willekeurige teleportatie, 25 % kans op de dood |
| SPACE | schieten (salvo bij vasthouden); op het titelscherm: starten; bij game over: opnieuw spelen |
| K | op het titelscherm: toetsinstelling |
| ESC | bij 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
| Machine | Status |
|---|---|
| Echte Oric-1 48K (BASIC 1.0) | werkt — 50 Hz-video gevalideerd met een RGB2HDMI, IJK gevalideerd |
| Oric-1 onder Phosphoric | nominaal (ontwikkelemulator van het project) |
| Oric-1 onder Oricutron | functioneel |
| Oric Atmos (BASIC 1.1), echt of geëmuleerd | werkt 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.