Plan du site
Le Wiki d'Alice
"Le [wiki] d'Alice" est un projet collaboratif dont le but est de rassembler, en un lieu unique, le maximum d'informations disponibles sur les micro-ordinateurs Matra-Hachette des années 80. Vous vous souvenez ? L'une des plus extravagantes réalisations de l'industrie française, dans un joli petit boîtier rouge...

puceChapitre 3 - Le software :

Contenu : Tout sur le soft, le Basic intégré, le Langage Machine, la logithèque complète, des trucs et astuces, des bouts de code, des démos, des listings...



puceLe Basic

Basic Alice est doté en résident d'un langage Basic interprété signé Microsoft, gage d'une certaine universalité.

La consultation du manuel d'accompagnement intitulé "Découvrez le Basic" nous apprend, au travers de ses 70 instructions, qu'il s'agit d'une version d'initiation dans la parfaite lignée de la machine qui l'héberge. Spécialement en ce qui concerne les instructions consacrées au graphisme, au traitement des chaînes, des effets sonores, le traitement des boucles.

La possibilité d'utiliser des routines en Langage Machine, en association avec le Basic permettant ainsi d'augmenter ses performances, n'est mise en évidence par aucune instruction Basic, hormis PEEK et POKE.

L'éditeur Basic est rudimentaire, et donc peu pratique à exploiter. Pour modifier une ligne de programme, la seule possibilité existante est de refrapper entièrement cette ligne. L'absence de possibilité de renuméroter les lignes automatiquement, augmente encore les difficultés d'édition, lorsqu'il faut insérer une ou plusieurs lignes entre 2 lignes dont les numéros sont consécutifs. Ce Basic est, malgré tout, doté d'une possibilité de contrôle d'erreur au travers de 19 types de messages différents, facilitant ainsi la localisation des erreurs éventuelles.

Toutes les limitations énumérées ci-avant sont certainement dues au fait que la ROM utilisée dispose de, seulement, 8 Ko de volume de stockage et son listage indique qu'elle est totalement utilisée par l'interpréteur Basic (pas un octet n'est disponible).

En ce qui concerne les performances de calcul, les variables numériques utilisent uniquement le format en virgule flottante; les formats entier, simple et double précision ne sont pas autorisés. Ce format nécessite 5 octets pour stocker la valeur numérique et 2 octets pour l'identification de la variable.

La lecture du livret d'accompagnement de l'extension mémoire 16 Ko, intitulé "Aller plus loin avec Alice" (celui-ci est entièrement dédié à Alice première génération avec 4 Ko de RAM de base), nous révèle l'existence d'instructions cachées du Basic dans la ROM et non mentionnées dans le guide d'Alice. Il s'agit des fonctions EXEC, CLEAR valeur,adresse et CLOADM. Ces 3 instructions permettent l'association du Langage Machine au Basic. L'étude de la ROM permet la découverte de 2 instructions supplémentaires USR(n) et VARPTR(nom de variable):

  • USR(n) délivre un résultat au Basic à partir d'une routine rédigée en Langage Machine.
  • VARPTR(nom de variable) fournit l'adresse à laquelle la variable est stockée si elle est numérique et celle du descripteur si la variable est alphanumérique.

Le premier octet de la table des instructions de programme Basic est placé dans un pointeur sur 2 octets aux adresses $0093 et $0094. Le système initialise ce dernier à $4346.

L'arrivée sur le marché des nouvelles versions d'Alice a permis une légère amélioration du Basic (74 instructions) essentiellement due à l'emploi d'un générateur vidéo plus performant.

Du côté de l'éditeur Basic, la commande <SHIFT> * n° de ligne <ENTER> permet une souplesse de modification, les commandes <CTRL> Q et <CTRL> S déplacent le curseur respectivement à gauche ou à droite dans la ligne de programme éditée, <CTRL> W supprime le caractère au dessus du curseur, <SHIFT> <SPACE> provoque la répétition des touches, <CTRL> <SPACE> met fin à la répétition et pour finir <ENTER> valide la ligne ainsi modifiée et fait sortir du mode édition.

Le pointeur du premier octet de la table des instructions de programme Basic est initialisé par le système avec la valeur $3346.



puceL'assembleur

Alors qu'avec la première série de micro-ordinateur Alice, l'accès au "Langage Machine" était compliqué à mettre en oeuvre, cela devient presque un jeu d'enfant avec les nouvelles générations Alice 32 ou Alice 90. En effet, ces dernières machines disposent d'un Editeur-Assembleur résident en ROM situé dans l'espace compris entre $C000 et $DFFF.

La prise en main de ce programme est facilitée par l'accompagnement d'un manuel d'emploi intitulé "Guide d'Instructions de l'Editeur Assembleur". La lecture de ce dernier nous renseigne sur sa mise en oeuvre. La configuration idéale nécessaire, pour Alice 32 implique qu'il est vivement recommandé de posséder l'extension RAM 16 Ko.

L'Edition d'un programme source

Assembleur La procédure normale pour activer le mode Editeur-Assembleur, passe obligatoirement par la détermination précise de l'espace de travail utilisé en RAM pour la rédaction des fichiers source, objet, objet exécutable éventuel et la pile étiquettes. Dans l'interpréteur Basic, la commande directe qui fixe cet espace est:

CLEAR LN,AD <ENTER>
La valeur usuelle recommandée est:
CLEAR 100,13488 <ENTER>

L'espace RAM de travail débute à l'adresse 13488 ($34B0), ce qui laisse suffisamment de place pour le tampon (100 octets) des chaînes de caractères affichées à l'écran et la pile system (261 octets).

La commande & <ENTER> permet d'activer l'Editeur-Assembleur. L'appui sur la touche <BREAK> une fois permet d'annuler une action en cours, deux fois fait ressortir de l'Editeur-Assembleur vers le Basic. Enfin la touche % suivie de <ENTER> permet de revenir dans l'Editeur-Assembleur depuis le Basic sans perdre le texte déjà saisi.
L'Editeur-Assembleur et l'Editeur-Basic sont complètement étanchent l'un part rapport à l'autre, il n'y a donc aucune possibilité d'utiliser les instructions Basic dans l'Editeur-Assembleur.

L'Editeur est pleine page, hormis la dernière ligne utilisée pour le dialogue homme/machine. Cette facilité améliore la saisie et les corrections.
Des fonctions annexes viennent renforcer l'amélioration comme:

  • Effacer une ligne ou des caractères
  • Insérer une ligne ou des caractères
  • La répétition automatique ou non des touches du clavier
  • La recherche d'une ligne ou d'une chaîne de caractères
  • Le choix, à tout instant, du format d'écran (40/80 colonnes)
  • L'utilisation possible des caractères minuscules
  • La sauvegarde et la vérification d'un fichier source sur cassette
  • Le chargement d'un fichier source sauvegardé sur cassette
  • La copie imprimante soit d'une page, soit de la totalité du listing

L'Assemblage du programme source

Assembleur Cette opération s'effectue très simplement, en exécutant dans l'Editeur la commande <CTRL> 1, puis en choisissant l'une des 3 options:

  • E <ENTER> pour visualiser le listing d'assemblage à l'écran
  • I <ENTER> pour copier le listing d'assemblage sur imprimante
  • <ENTER> pour visualiser à l'écran les seuls messages d'erreur
Ensuite il est possible de sauvegarder sur cassette le programme objet exécutable (L.M.) produit par l'assembleur en tapant:
Nom de fichier <ENTER>
ou
<BREAK> sans sauvegarde

L'exécution immédiate du programme objet est également possible. La commande <CTRL> A permet de corriger une réponse.

Format et Directives d'assemblage

L'Assembleur résident est soumis à certaines contraintes de format et directives.

L'assemblage

Assembleur Il s'agit d'un Assembleur simple à 3 phases d'assemblage en mode absolu, c'est à dire à l'endroit où il doit être exécuté en mémoire.
Ces 3 phases sont les suivantes:

  1. l'analyse lexicographique, syntaxique, sémantique et constitution de la table des symboles
  2. La traduction en codes objets (création de l'adresse d'implantation, code opération, adresse effective de l'opération)
  3. Elaboration du listing du programme assemblé vers l'écran ou l'imprimante

Le Format

Les étiquettes (LABEL) ont une longueur maxi de 5 caractères et doivent commencer au bord gauche de l'écran (1ère colonne).

Les valeurs numériques et adresses doivent être exprimées en hexadécimal et commencer par le signe "$".

Toutes les composantes d'une ligne doivent être séparées par 1 espace au minimum.

Les Directives d'assemblage

Assembleur Elles sont relativement limitées en nombre, mais centrées sur celles qui sont essentielles, à savoir:

  • Affecter une valeur à une étiquette
  • Introduire une chaîne de texte ASCII
  • Réserver un espace en mémoire
  • Stocker un ou deux octets
  • Définir l'adresse d'implantation du code machine en mémoire
  • Définir le point d'entrée du programme

En conclusion, cet outil, développé par Matra, est bien adapté aux 2 machines qui l'hébergent. Doté de routines de détection d'erreurs intégrées (8 types pour l'Editeur et 16 types pour l'Assembleur), il permet de dépasser facilement le stade de l'initiation à la programmation informatique. La seule ombre au tableau concerne le manque de visibilité pour connaître avec précision, la position et le volume occupés par les programmes sources, objets, objets exécutables éventuels et pile Labels, ainsi que de pouvoir vérifier le non recouvrement du fichier source par le programme objet exécutable.



puceLa logithèque complète d'Alice

dossierLes utilitaires :

Titre Editeur Auteur Année Compatible P Dispo
Alicetel Matra Datasystème J.F. Gallet 1985 A32 A90 N oui
Budget Familial Matra Datasystème ? 1985 A90 N oui
Calc Power Soft ? 1985 A32+16k A90 N oui
Dessine-Moi Matra Datasystème ? 1985 A32+16k A90 ? oui
Gestion de Fichiers Power Soft ? 1985 A32+16k A90 N oui
Incrustation Vidéo Matra Datasystème Catherine Muset 1985 A90 N oui
Ma Cave à Vin Matra Datasystème ? 1985 A32+16k A90 N oui
T'extra Matra Datasystème Arnaud Delrue 1985 A32 A90 N oui

Nota : la colonne P correspond à la présence ou non d'une protection contre la copie.

dossierLes éducatifs (E) ou logiciels de découverte (D) :

Titre Editeur Auteur Année Compatible P Dispo
Alphabet (E) Vifi-Nathan ? 1984 A4 A32 A90 ? non
Dialogue avec une sauterelle (E) Vifi-Nathan B. Delarue 1984 A32 A90 ? oui
Découvrez Alice (D) Matra Datasystème ? 1984 A4 A32 A90 N oui
Ecologie, cycle de vie (D) Infogrames ? 1984 A4 A32 A90 ? non
Exercices de calcul (E) Ediciel
Matra-Hachette
? 1984 A4 A32 A90 ? oui
Faire le point Bac – Français (E) Ediciel ? 1984 A32 A90 ? non
Faire le point Bac – Math 1 (E) Ediciel M.F. Gibert 1984 A32 A90 ? oui
Faire le point Bac – Math 2 (E) Ediciel M.F. Gibert 1984 A32 A90 ? oui
Géographie Française (E) Infogrames ? 1984 A4 A32 A90 N oui
Géographie Mondiale (E) Infogrames ? 1984 A4 A32 A90 ? non
L'énergie Nucléaire (D) Infogrames ? 1984 A4 A32 A90 ? non
La clé des Sons (D) Matra Datasystème J.L. Valéro 1985 A32 A90 ? oui
Le Cartable d'Alice (E) Infogrames ? 1984 A4 A32 A90 N oui
Le cube de Basic (E) Infogrames ? 1984 A4 A32 A90 N oui
Le Moteur à Explosion (D) Infogrames ? 1984 A4 A32 A90 N oui
Lettres en Désordre (E) Vifi-Nathan ? 1984 A4 A32 A90 ? non
Lire Vite et Bien (E) Vifi-Nathan ? 1984 A4 A32 A90 ? non
Multiplication Casse-Tête (E) Vifi-Nathan B. Delarue 1985 A32 A90 N oui
Solfège (D) Ediciel ? 1984 A32 A90 ? non

Nota : la colonne P correspond à la présence ou non d'une protection contre la copie.

dossierLes jeux :

Titre Editeur Auteur Année Compatible P Dispo
Al* Berthe E.H. Service A. Fernandes 1985 A32+16k A90 ? oui
Annexion (jeu d'Othello) Ediciel ? 1984 A4 A32 A90 ? non
Bounzy Loriciels ? ? A32 A90 ? non
Casse-tête dans le Métro Ediciel E. Von Ascheberg 1984 A32 A90 ? oui *
Color-Mind (Jouez avec Alice n°1) Ediciel ? 1984 A4 A32 A90 N oui
Coloric Free Game Blot J. Dirani 1985 A32+16k A90 N oui
Crazy Taxi ? ? ? ? ? non
Crocky Loriciels A. Kerautret 1984 A32+16k A90 O oui
Fringale E.H. Service A. Fernandes 1985 A90 O oui
Galaxion (Version de base) Loriciels ? 1984 A32 A90 O oui
Galixian Sprites F.R. Chaumartin 1984 A90 O oui
Isola / Mor-Quatre
Cassette n°1
Télérama et
Vifi Nathan
A.Deledicq, J.Delcourt
S.Pouts Lajus, J-B.Touchard
1984 A4 A32 A90 ? oui
Jeu de Dames Ediciel
Matra-Hachette
? 1984 A4 A32 A90 ? oui
Jeu des 6 Lys Infogrames ? 1984 A32+16k A90 N oui
Jouez avec Alice n°2 Ediciel
Matra-Hachette
J.F. Gallet 1984 A4 A32 A90 N oui
Kangourou Matra Datasystème ? 1985 A32+16k A90 O oui *
La Chenille Infernale Loriciels P. Duarte 1984 A32 A90 O oui
La Course aux Lettres Loriciels ? 1984 A32 A90 ? non
La Grenouille à m'Alice Free Game Blot ? 1985 A32+16k A90 ? oui
La Marelle Free Game Blot ? 1985 A32+16k A90 ? oui
Le Sphinx d'Or Ediciel L. Schwartz 1984 A32 A90 N oui
Monopolic Free Game Blot ? 1985 A90 ? oui
Mur de Briques (Jouez avec Alice n°1) Ediciel ? 1984 A4 A32 A90 N oui
Pillage cosmique Ediciel
Matra-Hachette
? 1984 A32+16k A90 ? oui
Plan de Vol E.H. Service ? 1985 A90 ? oui
Solitaire Vifi-Nathan ? 1984 A4 A32 A90 ? non
Sous-Marin (Jouez avec Alice n°1) Ediciel ? 1984 A4 A32 A90 N oui
Tank Free Game Blot ? 1985 A32+16k A90 ? oui
Une Affaire en Or Free Game Blot ? 1985 A32+16k A90 ? oui
World War III Free Game Blot ? 1985 A32+16k A90 ? oui

Nota : la colonne P correspond à la présence ou non d'une protection contre la copie.
(*) Manque le scan de la notice.

 



puceLes trucs et astuces

attentionNota : sauf pécision contraire, les trucs et astuces suivants ne fonctionnent que sur Alice 32 et 90.

 

puceAstuce n° 1 : Lorsque l'on charge en mémoire un programme Basic, la table des instructions Basic se charge à partir de l'adresse RAM contenue dans le pointeur situé à l'adresse $0093 sur 2 octets. Le contenu du registre est imposé, à l'initialisation, par le système et égal à $3346 (13126). Pour charger cette table à une autre adresse RAM, il suffit en commande directe, de modifier cette adresse par 2 POKE comme suit :

Par exemple, pour charger la table à partir de l'adresse RAM $5000 (20480), il faut décomposer cette adresse en 2 octets.
Le premier situé à l'adresse $0093 (147) contient l'octet de poids fort (MSB) ici $50 (80), le deuxième situé à l'adresse $0094 (148) contient l'octet de poids faible (LSB) ici $00 (0).

Ce qui donne :

POKE 147,80:POKE 148,0 <ENTER>

Ensuite, il suffit de charger le programme Basic par <CLOAD "nomfichier"> <ENTER>, puis de lancer le magnétophone en lecture.Une fois chargé, le programme Basic est exécutable par la commande habituelle <RUN> <ENTER>, la seule diffèrence est qu'il est chargé à partir de l'adresse RAM $5000 (20480). La zone RAM comprise entre $3346 (13126) et $4FFF (20479), dans cet exemple, est toujours accessible pour l'écriture de routines en langage machine.

La détermination de l'adresse de chargement la plus haute possible du programme Basic doit tenir compte de la zone des variables Basic et de la zone réservée à la pile système.

Patrice


 

puceAstuce n° 2 : Comment empêcher le listage d'un programme Basic, à l'écran ou sur l'imprimante ?

Il y a 2 possibilités:
1- En commande directe taper :

POKE 12966,126:POKE 12967,247:POKE 12968,46 <ENTER>

2- Dans un programme Basic taper en mode édition:

10 POKE 12966,126:POKE 12967,247:POKE 12968,46 <ENTER>

Pour retrouver le listage

- En mode direct : POKE 12966,57 <ENTER>
- En mode édition remplacer dans la ligne 10 par POKE 12966,57 <ENTER>

Programme de démo : fileNOLIST-A32.zip

Patrice


 

puceAstuce n° 3 : Comment masquer des instructions dans une ligne d'un programme Basic ?

En insérant le code $08 (back space) juste après le dernier caractère de l'instruction à cacher, le nombre de codes $08 à insérer doit être égal au nombre de caractères à masquer.

Programmes de démo : fileCACHE_B2_BAS.K7 et fileNoLST32C.K7

Patrice


 

puceAstuce n° 4 : Dans Alice 32/90, il existe plusieurs zones RAM intéressantes et utilisables pour y installer des routines en langage machine (avec des restrictions pour certaines d'entre elles).

Ces zones sont les suivantes :

  • Zone 1 : de $3020 à $303F - disponible
  • Zone 2 : de $3040 à $30CF - à la condition de ne pas utiliser l'éditeur-assembleur résident de Alice 32/90
  • Zone 3 : de $30D0 à $30EF - disponible
  • Zone 4 : de $30F0 à $3103 - à la condition de ne pas utiliser la routine de sauvegarde (de $DF90 à $DFAB)
  • Zone 5 : de $3104 à $31FF - disponible

Programme de démo : fileASMPARAM.K7 est chargé dans cette zone.

Patrice


 

puceAstuce n° 5 : Comment changer le format d'écran dans un programme Basic, les commandes CLS 32, CLS 40, CLS 80 et CLS 81 n'étant utilisables qu'en mode direct.

1- Ce programme permet de changer le format d'écran entre 40 et 80 colonnes uniquement.

10 REM CLS 80
20 POKE 12314,0:EXEC 54316
30 REM CLS 40
40 POKE 12314,1:EXEC 54316

2- Ce programme permet de changer le format d'écran entre 32, 40 et 80 colonnes.

5 REM PROGRAMME DE DEMO "MODECLS2"
10 REM MODE CLS 32
15 POKE 12314,2:EXEC 54958
20 REM MODE CLS 40
25 POKE 12314,1:EXEC 54958
30 REM MODE CLS 80
35 POKE 249,136:POKE 12314,0:EXEC 54958
40 REM MODE CLS 81
45 POKE 249,0:POKE 12314,0:EXEC 54958

Programme de démo : fileModeCLS.K7

Patrice


 

puceTruc n° 1 : La sauvegarde du patrimoine nécessite de conserver les programmes, tant ceux provenant du commerce que ceux issus du monde amateur, sur un support plus fiable que celui d'origine sur cassette. Le principe étant admis, voici une méthode permettant de réaliser cette tâche d'une façon simple. L'archive comporte les explications, le programme utilisé (CDex dans sa version 1.51) et des captures d'écran :

Fichiers : fileDossier_Wav_Programmes.zip

Patrice



puceLes démos

dossierUtilitaires
ANAOBJLP v1.5 Patrice Lapierre (28 mai 2004) Cet utilitaire écrit entièrement en langage machine permet de visualiser les paramètres de chargement, de lancement, ainsi que le nom et le volume occupé par un programme objet exécutable inconnu en LM. Il vient en complément indispensable de l'utilitaire CSAVEMLP du même auteur, ainsi que des outils d'analyses tels que désassembleurs, dumpeurs ou moniteurs hexadécimaux.
Il fonctionne uniquement sur Alice 32 avec ou sans extension de RAM ou Alice 90.
ASMPARAM v1.1 Patrice Lapierre Programme de démonstration pour Alice 32 ou 90, dont la fonction est de visualiser les paramètres importants de l'éditeur-assembleur résident lors des phases d'écriture et d'assemblage d'un programme source rédigé en langage d'assemblage avec Alice ou DCAlice. Ce programme comporte un mode d'emploi inclus dans l'archive, il est intitulé ASMPARAM et il occupe 296 octets dans la zone RAM système de $30D0 à $31F7.
BEEPCLAV v1.0 Patrice Lapierre (19 avril 2008) Cette routine en langage machine ne fonctionne qu'avec les versions Alice 32/90. Elle s'installe dans la zone système de ces derniers et génère un beep à chaque appui sur une touche du clavier en mode éditeur Basic uniquement.
CATALOG5 v5.0 Patrice Lapierre (1988) Cet utilitaire permet d'analyser la composition d'un logiciel sauvegardé sur cassette, à savoir connaître le nombre de fichiers composant l'application, le nom de ceux-ci et leur type. Celui-ci peut-être Basic, Langage Machine, Tableau numérique, Source Assembleur. Le programme indique également la taille en octets pour un fichier Basic ainsi que l'adresse d'exécution et de début de chargement pour un fichier objet exécutable en LM. Pour résumer il permet d'afficher le catalogue d'une cassette.
Le pack contient le mode d'emploi, le programme CATALOG5 en version K7 et WAV, ainsi que le listing du programme au format texte. Compatible avec Alice 32 et 90.
CATALOGUES v1.0 Patrice Lapierre (03 février 2008) Deux programmes utilitaires écrits en basic qui permettent de visualiser à l'écran l'ensemble des noms de programme contenus sur une cassette. Ils ne fonctionnent qu'avec Alice 32/90.
CSAVEMPL v1.0 Patrice Lapierre (21 juillet 2004) Cet utilitaire se charge dans la zone magique des Alice 32 ou 90. Il permet de sauvegarder une zone mémoire quelconque ou un programme objet LM sur cassette.
DEBUG555
new
v5.55 Patrice Lapierre (26 mars 2011) DEBUG est un petit utilitaire qui a été créé pour apporter une aide au développement en langage machine sur ALICE 32 ou 90. Il peut être utilisé conjointement avec l’assembleur résident de ALICE lorsqu’il est installé dans la zone RAM entre $1000 et $2FFF. Cette zone RAM faisant l’objet d’une modification matérielle de ALICE 32 ou 90 celle-ci est transparente pour ALICE. Le volume mémoire occupé par DEBUG555.EXE est de 8 Ko (fichier WAV inclu dans l'archive).
DELETE v1.5 Patrice Lapierre (25 septembre 2004) Cet utilitaire en langage machine fait suite aux utilitaires Basic déjà existant (RENUM et MERGE dont l'auteur est JF. Gallet, ainsi que RECUP-LP de P. Lapierre). Il permet de supprimer des lignes d'un programme Basic dont les numéros sont consécutifs, dans un but de modifications éventuelles.
Il se charge dans l'espace mémoire magique des Alice 32 ou 90 situé entre $3020 et $31FF.
DESAS4Ko v1.0 Patrice Lapierre (01 novembre 2004) Ce programme entièrement rédigé en langage machine fonctionne avec Alice 4 Ko ou MC-10 uniquement. Il désassemble un programme en langage machine avec la même syntaxe que celle utilisée par l'éditeur-assembleur des Alice 32/90 (fichier WAV inclu dans l'archive).
DESASSEM v1.0 Inconnu Cet utilitaire est un désassembleur immédiat rédigé en Basic, son auteur est inconnu. Il est présent sur le site de Daniel en version originale. Il comportait de nombreux bugs que j'ai corrigés, je l'ai également adapté à la syntaxe de l'éditeur-assembleur résident d'Alice 32/90 et j'y ai rajouté un mode d'emploi succint (Patrice Lapierre).
MERGE v1.0 JF. Gallet (23 Novembre 1984) Utilitaire Basic écrit en langage machine. Ce programme permet la fusion de deux programmes Basic. Le premier est chargé dans la mémoire de Alice 32/90 et l'exécution de "MERGE" permet d'ajouter un autre programme à la suite, avec la condition impérative que ses numéros de lignes soient consécutifs à ceux du programme Basic chargé initialement.
Le programme source est inclus dans le pack, ainsi qu'un mode d'emploi succint. Les fichiers sont disponibles aux formats K7 et WAV pour le source et l'objet.
MONITEUR v1.0 JF. Gallet (23 novembre 1984) Ce programme utilitaire, dont le listing provient de l'ouvrage "Les Astuces D'Alice 32 et 90", est un outil indispensable pour tout programmeur souhaitant écrire des routines en langage machine. L'archive contient le fichier source, le programme objet exécutable, un mode d'emploi qui est extrait de l'ouvrage cité en référence et le listing source sous forme d'un fichier texte.
RECUP-LP v1.0 Patrice Lapierre (25 juillet 2004) Ce programme s'installe dans la zone magique des Alice 32 ou 90. Il sert à récupérer un programme source assembleur lorsqu'une commande intempestive <SHIFT> <&> a été effectuée ou une commande <NEW> pour un programme Basic.
RENUM v1.0 JF. Gallet (23 Novembre 1984) Cet utilitaire permet de renuméroter automatiquement un programme Basic chargé dans la mémoire de Alice 32/90. Il provient de l'ouvrage "Les Astuces de Alice 32 & 90" de J-F Gallet.
Le programme source est inclus dans le pack, ainsi qu'un mode d'emploi succint. Les fichiers sont disponibles aux formats K7 et WAV pour le source et l'objet.
RESTORBAS v1.0 Patrice Lapierre (22 juillet 2004) Cette routine en langage machine fonctionne avec les modèles Alice 32 et 90, elle se charge à partir de l'adresse $3020 (12320) jusqu'à $3029 soit un volume de 10 octets (zone RAM système d' Alice). La fonction réalisée permet de récupérer un programme Basic après un <NEW> effectué par erreur.
TESTMAGN
new
v1.0 Patrice Lapierre (11 octobre 2010) Dans un premier temps cet utilitaire permet la génération d'un signal de référence pour la chaîne audio de sauvegarde d'un programme (création d'une cassette ou d'un fichier WAV de test), et ensuite il permet de tester l'ensemble de cette chaîne dans la phase de restitution du programme vers Alice, à l'aide de cette cassette ou du fichier WAV.
La première version de ce programme était destinée à Alice 4K et date de 1984. Elle avait été créée par l'un des membres de l'équipe Matra (voir le manuel "Allez plus loin avec Alice"). La deuxième version, créée par P. Lapierre en 2010, reprend l'ensemble des fonctionnalités du programme original mais pour la génération des Alice 32/90 qui présentent des différences matérielles notables (le générateur vidéo MC 6847 devient EF 9345 et la zone des registres systèmes de $4200 à $4345 devient $3200 à $3345).

Histoire - Hardware - Software - Extensions - Ressources - A propos

Le [wiki] d'Alice - Conception et co-réalisation © 2008 - 2011
Hardware, software & extensions : Patrice LAPIERRE - Le [wiki] d'Alice
Software, documentation & émulateur : Daniel COULOM - DCAlice
Histoire, documents associés & graphismes : Carl HERVIER - Retro Computing
Site web, design, coordination du projet & photographies : Fabien NECK - System.cfg
Visiteurs : 109513