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
- Ouvrez la dernière release GitHub et prenez
asteroric.tapdans les Assets. Le même fichier est versionné dansdist/asteroric.tap— depuis l'interface GitHub, utilisez le bouton Raw / Download, pas le lien de la page HTML (vous récupéreriez du HTML). - Chargez-le sur un Oric-1 48 Ko (ROM BASIC 1.0), réel ou émulé. Le
.tapporte le drapeau autorun : le mode HIRES et le jeu démarrent au chargement, aucunCLOADniCALLà taper. - 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.
| Touche | Action |
|---|---|
| ← | rotation à gauche |
| → | rotation à droite |
| ↑ | poussée (thrust) |
| ↓ | hyperespace — téléportation aléatoire, 25 % de risque de mourir |
| SPACE | tir (rafale si maintenue) ; sur l'écran titre : démarrer ; en game over : rejouer |
| K | sur l'écran titre : configuration des touches |
| ESC | en 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 Phosphoric | nominal (émulateur de développement du projet) |
| Oric-1 sous Oricutron | fonctionnel |
| 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.