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 !

Lancement du Workbench

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 :

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.

Premier essai d'écriture

Sauvegarde du fichier

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 !

La sauvegarde des fichiers fonctionne !

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 !

La lecture des fichiers fonctionne aussi !

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

Amiga Developer Docs

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

  1. certaines personnes utilisent plutôt DevPac