Tachibana

Astéroric › Manuel

Astéroric — manuel

Clone d'étude d'Asteroids pour Oric-1 48 Ko · licence EUPL 1.2. Ce manuel va du téléchargement à la partie, puis à la compilation depuis les sources. Les fonctionnalités et la technique sont décrites sur la page Fonctionnalités.

Sommaire

1. Télécharger et lancer

  1. Ouvrez la dernière release GitHub et prenez asteroric.tap dans les Assets. Le même fichier est versionné dans dist/asteroric.tap — depuis l'interface GitHub, utilisez le bouton Raw / Download, pas le lien de la page HTML (vous récupéreriez du HTML).
  2. Chargez-le sur un Oric-1 48 Ko (ROM BASIC 1.0), réel ou émulé. Le .tap porte le drapeau autorun : le mode HIRES et le jeu démarrent au chargement, aucun CLOAD ni CALL à taper.
  3. Le jingle joue, l'écran titre s'affiche avec sa démo. SPACE lance la partie, K ouvre la configuration des touches.

Si vous voyez ILLEGAL QUANTITY ERROR après un CALL 1280, c'est que la commande a été tapée après l'auto-exécution : le programme a déjà tourné. Rechargez simplement le .tap.

Sous Phosphoric

Dans l'émulateur Phosphoric, en machine Oric-1 avec la ROM basic10.rom, chargez asteroric.tap avec le chargement rapide. Depuis les sources, make run fait tout ; make run-joy route les flèches et RCTRL/RALT vers le joystick IJK émulé.

2. Les touches

Mapping par défaut (flèches + SPACE). Toutes les touches sont lues directement dans la matrice clavier, sans passer par la ROM.

ToucheAction
rotation à gauche
rotation à droite
poussée (thrust)
hyperespace — téléportation aléatoire, 25 % de risque de mourir
SPACEtir (rafale si maintenue) ; sur l'écran titre : démarrer ; en game over : rejouer
Ksur l'écran titre : configuration des touches
ESCen game over : quitter vers le BASIC ; dans CONTROLS : annuler

3. L'écran CONTROLS

Remapper les cinq actions

Sur l'écran titre, appuyez sur K. Les actions LEFT, RIGHT, THRUST, FIRE, HYPER sont soulignées à tour de rôle : appuyez sur la touche voulue pour l'assigner. Une touche déjà prise ou une position de matrice non documentée est refusée (le jeu n'invente pas de nom de touche). Un son de tir confirme chaque assignation.

Annuler

ESC abandonne la saisie et restaure le mapping précédent. Le mapping vit en RAM : au rechargement, retour aux touches par défaut. ESC et le joystick ne sont pas remappables.

4. Joystick IJK

Interface prise en charge

L'interface joystick IJK — la plus répandue sur Oric — se branche sur le port imprimante. Astéroric la lit directement (port A du VIA, strobe PB4) et détecte sa présence : sans interface, rien n'est lu. Gauche/droite tournent, haut pousse, bas passe en hyperespace, le bouton tire. Clavier et joystick sont actifs en même temps.

Validation

Le protocole a été réécrit après un retour de testeur sur une interface physique (la première version reproduisait un modèle d'émulateur inexact) et validé contre Oricutron ; Phosphoric a été corrigé en parallèle.

5. La partie

Objectif

Détruire les astéroïdes sans être touché. Un gros astéroïde se fragmente en trois, chaque fragment encore en deux tailles plus petites. La vague suivante commence, plus fournie, quand l'écran est vide.

Soucoupes

La grande soucoupe tire au hasard ; la petite vise le vaisseau, avec une précision qui augmente avec le score, et devient la seule au-delà de 35 000 points. Elle revient plus vite en fin de vague.

Score et vies

Chiffres à 7 segments en haut de l'écran, icônes de vies (quatre affichées au plus), « WAVE n ». Vie supplémentaire tous les 10 000 points, jusqu'à 60 000. Après la mort, le vaisseau réapparaît invincible un court instant.

Game over

Explosion, « GAME OVER », puis le tableau des cinq meilleurs scores de la session. Après 5 s, SPACE rejoue et ESC revient au BASIC (retour propre par le vecteur RESET).

6. Compiler depuis les sources

git clone https://github.com/benedictemarty/oric-asteroids.git
cd oric-asteroids
make            # build/asteroric.tap
make run        # lance sous Phosphoric
make check      # capture == référence bit à bit
make host-test  # tests hôte x86

Prérequis : cc65 ≥ 2.19, Python 3, Phosphoric installé (chemin dans le Makefile). make gen_ship et make gen_shapes régénèrent les tables de sommets ; make bench profile 25 millions de cycles ; make clean nettoie.

7. Compatibilité

MachineÉtat
Oric-1 48 Ko réel (BASIC 1.0)fonctionne — vidéo 50 Hz validée avec un RGB2HDMI, IJK validé
Oric-1 sous Phosphoricnominal (émulateur de développement du projet)
Oric-1 sous Oricutronfonctionnel
Oric Atmos (BASIC 1.1), réel ou émuléne fonctionne pas — compatibilité à traiter

8. Licence et droits

Code original : EUPL 1.2

Moteur de rendu, entrées, moteur sonore et effets recréés, adaptation Oric de la boucle de jeu, HUD, écran titre, build, tests et documentation sont publiés sous la Licence publique de l'Union européenne v1.2.

Éléments dérivés d'Atari : non couverts

La logique de jeu (machine à états, physique, fragmentation, IA de la soucoupe, générateur pseudo-aléatoire, barème) est adaptée du désassemblage de la ROM arcade rev 4 et les formes vectorielles dérivent des données de la ROM. Aucun droit n'est revendiqué sur ces éléments (Asteroids, © 1979 Atari, Inc. ; marque d'Atari Interactive, Inc.). Projet d'étude et de préservation, non commercial, ni affilié à, ni approuvé par Atari — d'où le titre Astéroric. Détails : NOTICE.md du dépôt.

← Astéroric · Fonctionnalités →