Le rétro-gaming c'est bien mais le rétro-coding ... c'est bien aussi ! Tu as plus de 40 ans ? tu as les cheveux tout blanc ? (si jamais il t'en reste encore un peu ...) Tu détestes les smartphones et préfères les bons vieux minitels ? Mais quelque chose manque à ta vie ... un accomplissement ... apprendre le language des Dieux* !!  L'assembleur !!
*(copyright BDCIron)
 
 Bon le GFA Basic c'est super et le le C aussi hein ;) mais l'assembleur est le plus rapide et c'est pas si compliqué que çà, pas de panique, je vais t'aider ! ;)
Alors deux choses l'une : déjà je suis pas une brute en assembleur, loin de là, et de deux ces cours s'adressent aux noobs, et donc le peut que je sais je vais vous le transmettre.
 Pourquoi ? Et bien enfait, j'ai moi même apprit l'assembleur sur Amstrad CPC via un siteweb (https://asmtradcpc.zilog.fr/) et son tôlier, qui a souhaité transmettre ses connaissances afin que des petits nouveaux s'y mettent, et que nos machines adorées puissent traverser les ages sans sombrer dans un oublié complet (on en est pas loin, mais on est loin d'y être ... dans l'oublie complet ... PARCE QUE L'ON EST ENCORE EN VIE !!!) Cela m'a permit d'apprendre l'assembleur sur 68000 de façon moins laborieuse.
 
Tu auras sans doute des tonnes de questions et c'est normal, pour çà j'ai mis en place un serveur DISCORD (dont voici le lien ASMtartiST : et je suis pas tout seul, il y'a des personnes qui on de la bouteille dans ce domaine et qui pourront t'aider dans ton parcours : il n'y a pas de question stupide !! 

LE CONCEPT DE BASE

Que vous apprennez sur un émulateur ou sur un vrai Atari ST, de toute façon pour commencer il vous faut un assembleur : c'est bien entendu le nom que l'on donne au language mais aussi le nom de l'outil (un software quoi) qui va traduire votre "programme" ou "code" en language machine (le seul language que comprends votre ... machine ... normal vu que c'est une ... ? ..... MACHINE !! Hey OH ! faut suivre un peu là !
Y'en a plein des assembleurs, mais le plus connu est me semble-t-il Devpac 3.10 de HiSoft, sortit en 1992. Et c'est sur cet assembleur là que je ferai les exemples. Tu vas sois coder SUR la machine directement, ou bien via un émulateur .... Mais l'environnement sera presque le même que sur le vrai hardware. De ce fait tu seras directement plongé dans l'univer de cette super machine :)
 
 
 
 
Le language machine c'est un language dit "binaire", c'est a dire une suite de 0 et de 1 qui selon leur combinaison forme des instructions comprisent par la machine. Chaque 0 et chaque 1 sont ce que l'on appelle des bits. Pour que ce soit plus facile de s'y retrouver on les a regroupé par paquet de 8, de 16 voir de 32. Une suite de 8 bits s'appele un OCTET (Byte en anglais), une suite de 16 bits s'appelle un MOT (Word), et une suite de 32 bits s'appelle un MOT LONG (Long Word).Il faut connaitre çà PAR COEUR!
 
Voici comme on peut représenter un octet :
 
Les '1' et les '0' c'est du language machine et sont donc  .... MACHINE !!  Alors oui je me repète mais c'est pour que çà te rentre dans le crâne. Ces bits sont identifiés de 0 à 7 .... c'est comme çà ....
Pour la machine ces bits, selon qu'ils soient à '1' ou à '0', correspondent à une action. Le 68000 est un processeur 16/32 bits, il n'y a pas d'instructions 8 bits mais 16 bits, c'est à dire 2 octets.
 

LES OUTILS

 
Un Atari ST:
Alors OUI, il est possible de coder directement sur la machine (c'est ce que fait 90% de mon temps ou je code), mais certaine configuration seront pas très pratique. Par exemple un Atari 520stf, même avec 1 Mega de mémoire, il faut un disque dure, sauf si vous avez du temps à perdre avec des disquettes... c'est pas la solution idéale.
Le top c'est un Atari 1040ste avec 2 ou 4 Mo de RAM, ET un disque dure ou un équivalent moderne genre l'UltraSatan (pratique pour copier directement des fichiers entre l'Atari et le PC)
 
Un émulateur:
C'est la solution la plus simple, que tu choisisses STEEM ou HATARI, çà ne change rien. Pour les cours et pour moi même j'utilise HATARI que je trouve plus ergonomique et stable que STEEM (sous windows 10 ou windows 7)
Site officiel de HATARI : https://hatari.tuxfamily.org/
Site officiel de STEEM SSE : https://sourceforge.net/projects/steemsse/
 
Tu auras aussi besoin d'une image de la ROM de l'atari (le TOS). Je te met en pièce jointe la version 1.62 qui correspond aux 1040STE. C'est utilisable dans n'importe quel émulateur. 
Et afin de pouvoir à disposition un disque dure dans HATARI il faut une image de disque dur, que j'ai également mis en pièce jointe
 
Un assembleur:
Devpac 3.10, fait à la fois éditeur, assembleur et debugger. Il tient sur une seul disquette mais mieux vaut faire une installation sur le disque dur de l'émulateur, pour télécharger  Devpac 3 regardes dans le bas de l'article dans les pieces jointes.
Voilà, pour le moment on a pas besoin de plus de chose pour commencer !
Attachments:
Download this file (Devpac v3.10 (1992)(HiSoft).st)Devpac v3.10 (1992)(HiSoft).st[ ]720 kB2022-12-04 13:04
Download this file (hd80mb.image.gz)hd80mb.image.gz[ ]87 kB2022-12-04 13:44
Download this file (TOS 1.00_1.06_1.62_EMUTOS_Atrai [Fr].zip)TOS 1.00_1.06_1.62_EMUTOS_Atrai [Fr].zip[ ]481 kB2022-12-04 13:39