Une démo Amiga
Quand j’étais petit j’avais un Amiga et des jeux crackés. Au début de ces jeux, apparaissaient souvent une petite démo, sorte de signature de l’équipe qui avait réalisé le crack du jeu.
Petite histoire des démos Amiga
Installation de l’environnement de développement
Il faut tout d’abord commencer par installer un émulateur Amiga.
Mon choix s’est porté sur FS-UAE (l’acronyme de Frode Solheim Unix Amiga Emulator). L’autre principale alternative est WinUAE mais qui ne tourne que sous Windows.
Il faut ensuite installer un Kickstart adapté. Ce Kickstart est une ROM d’amorçage qui contient le code requis pour le démarrage de l’ordinateur mais aussi une partie du système d’exploitation de l’Amiga (bibliothèques graphiques, noyau, pilotes des contrôleurs de disque etc.). Ce code peut ensuite être complété en bootant sur le Workbench qui est l’interface graphique permettant d’utiliser AmigaOS.
Actuellement, les droits de ce Kickstart sont détenus par Amiga Forever. La license de base est vendue 9.95€ mais à ce prix là, on récupère un fichier .msi c’est-à-dire un installeur Windows. Si on veut un truc pour Nunux, faut aller taper dans la version “Plus” qui frise les 30€ ! A noter que FS-UAE intègre un pseudo Kickstart intégré mais ce dernier est très basique.
Après ça doit se trouver aussi un peu partout sur le net. J’ai trouvé le mien ici mais d’aucuns peuvent le trouver ailleurs. On installe le fichier zip dans $HOME/Documents/FS-UAE/Kickstarts
On lance FS-UAE via ./launcher
qui permet de configurer un peu notre amiga :
- dans l’onglet “Disques Durs” ajout d’un disque dur qui pointe vers un répertoire de notre système de fichier
- dans l’onglet “Rom & Ram” , attribution de 512 KB de mémoire Chip
- dans l’onglet “Rom & Ram” toujours, choisir Kickstarts13.zip comme kickstart
Pour un premier test, je récupère une image du image du Workbench (attention à bien choisir AmigaOS 1.3.3 compatible avec le Kickstart 1.X). On démarre l’émulateur : un doux bruit de lecteur de disque se fait alors entendre, l’écran de chargement apparaît et ensuite vient le Workbench !
Ce premier test étant concluant, j’arrête l’émulation et récupère une rom d’AsmOne1 un IDE pour programmer en assembleur le microprocesseur Motorola 68000. J’ai hésité entre plusieurs versions, que je liste ici pour mémoire :
- la version AsmOne 1.20 au format lha
- la version AsmOne 1.20 au format adf
- la version AsmTwo de Coppershade, qui est une version tunnée
Je fais mes premiers tests avec l’AsmOne 1.20 en adf (je ne souhaite pas d’installation sur disque dur mais un tuto bien fait explique la procédure ici).
Au lancement je choisis mémoire Chip (C) et je choisis 200. L’éditeur se lance et je peux écrire mon premier programme. Bon c’est une prise en main et le logiciel semble modal un peu comme Vim. Par ailleurs il est en Qwerty alors que le Workbench lui était en Azerty. Bon pour une prise en main, ce n’est pas très grave… Je tape deux trois trucs puis appuie sur Esc
. J’appuie ensuite sur W
(pour Write). Une fenêtre s’affiche alors. Je clique sur Volumes
et sélectionne le disque hdd que j’avais préalablement défini dans les options de l’émulateur.
Je choisis d’appeler mon programme p1.S
et le sauvegarde. Magie : le fichier apparaît bien dans le répertoire avec le bon contenu !
Bon alors, il faut quand même faire très attention avec ça parce que je crois que l’Amiga n’aime pas trop quand on modifie des fichiers dans son dos ! Arrêtons l’émulation et modifions sous Linux le fichier p1.S
. Relançons AsmOne et cette fois-ci tapons R
(pour Read). Sélectionnons le volume hdd. Le fichier p1.S
n’apparaît pas mais si je tape son nom, je peux le charger et l’afficher !
Mine de rien, ça va rendre le projet beaucoup plus agréable : je peux utiliser un éditeur du XXIème Siècle !
Lecture utile
Les livres
Demoscene the Amiga Years - Volume I 1984-1983, éditions 64k
Amiga System Programmer’s Guide (ASPG pour les intimes), “A comprehensive guide to the inner workings of your Amiga”, aux éditions Abacus
Amiga Programmer’s Guide, aux éditions Compute! Book
ASM-ONE “Assembler, Debugger, Monitor, Editor” version 1.01, manuel du logiciel
Motorola M68000 Family Programmer’s Reference Manual, manuel du microprocesseur Motorola M68000
Les ressources en ligne
La chaîne YouTube d’un des membres de Scoopex, groupe de demomaking autrichien
Le très bon site Coppershade
Un excellent article de Stashofcode.fr sur les sine scroll
Deux banques en ligne de démo Amiga : Pouet et Bitworld
A voir :
Un remake de Shadow of the Beast en assembleur (mais via DevPac)
Une bonne introduction à la programmation assembleur sur processeur 68k par Cosmos Amiga
Un rapide tuto sur l’installation du Workbench 1.3 sur disque dur
Le cours d’ASM 68k du Féroce Lapin
Le cours d’Assembleur de Christophe
-
certaines personnes utilisent plutôt DevPac ↩