Si je n'ai rien loupé, voici les instructions, commandes et fonctions de
BASFILE (J'ai choisi ce nom

)
1. XMEM management
MMINIT [size] - Fixe une taille à la zone XMEM. Sans argument,
MINIT réduit la taille pour n'avoir plus d'octet libre en zone XMEM. Si un programme est présent en RAM BASIC, il sera deplacé selon la taille de la XMEM
MMEM n - Renvoit différentes valeurs selon n: 0 = taille XMEM, 1 = taille libre en XMEM, 2 = @ début XMEM, 3 = @ fin XMEM, 4 = @ fin xourante de XMEM
MDIR [filename] - Catalogue des fichiers en XMEM. Si lancé sans argument, affiche le nom du fichier. Si lancé avec un fichier en argument, affiche le nom, le type, la taille et l'unité sur laquelle le fichier est ouvert ou . sinon. Dans
MDIR, flêche-bas passe au fichier suivant, flêche-haut au fichier précédent, MODE active ou désactive les informations supplémentaires, OFF ou BREAK sortent. Il y a 8 types de fichiers possibles, mais 5 seulement sont actuellement utilisés: BAS = fichier BASIC, BIN = fichier LM (binaire), DAT = fichier données mixée numériques et chaines, TXT = fichier texte, GRP = fichier graphique
MNAME oldname,newname - Renomme un fichier
MKILL filename[,filename[,...]] - Supprime des fichiers
2. BASIC and ML programs
PSAVE filename - Sauve le programme BASIC de la RAM BASIC en XMEM. Il sera appelable par
PCALL filename
PLOAD fiename - Recharge le programme BASIC en RAM BASIC depuis le fichier en XMEM. Il sera appelable par RUN ou
PCALL (sans argument)
PCALL [filename[,ligne]] - Appelle le programme BASIC filename sauvegardé en XMEM. Si appelé depuis un programme BASIC (RAM BASIC ou XMEM), gère une pile de retours. Si appelé sans argument, lance le programme en RAM BASIC. Si une ligne est spécifiée, démarre le programme à la ligne donnée
PRETURN - Revient au programme appelant. Ce programme peut être en XMEM ou en RAM BASIC
PENDALL - Arrête l'exécution, supprime la pile d'appel et restaure les pointeurs dans la RAM BASIC
PSTACK - Initialise la pile des PCALL. Doit être fait par le premier programme qui en appelle d'autres.
PENDALL fait lui aussi un
PSTACK. Après
PSTACK, la pile d'appel est rincée et donc les appelants sont perdus. Il y a 8 niveaux d'appel.
PENVRN [filename] ------ DANGEREUX ------ Place les pointeurs dans le fichier BASIC en XMEM ou en RAM BASIC (sans argument). Cela permet de visualiser un programme BASIC en XMEM sans avoir à le charger en RAM BASIC.
IL NE FAUT SURTOUT PAS ENTRER DE LIGNE DE CODE DANS CE MODE, CAR LE PROGRAMME EN XMEM SERA MODIFIE ET LA XMEM SERA CORROMPUE !!! Pour sortir,
PENVRN ou
PENDALL. C'est pour cela que je suis pressé de développer le driver clavier !
PSAVE startaddr,endaddr;filename - Sauvegarde le programme LM entre startaddr et endaddr en XMEM
PLOAD [address,]filename - Recharge le programme LM depuis la XMEM en RAM à l'adresse d'origine, ou à l'adresse specifiée
PCALL filename[,variable] - Appelle le programme LM. Les arguments sont identiques à
CALL &nnnn[,variable]
3. Data and text files
FCREATE size[,T],filename - Crée un fichier de données ou texte (avec
,T) de la taille specifiée
FOPEN unit,filename - Ouvre le fichier nommé et assigne le à l'unité spécifiée. Il y a 8 unités de 0 à 7
FCLOSE [unit[,unit[,...]]] - Ferme l'unité specifiée ou toutes les unités (sans argument)
FWRITE unit;val[,val[,...]] - Ecrit les valeurs numériques ou chaines dans le fichier assigné à l'unité
FREAD unit - Lit une valeur numérique ou une chaine depuis le fichier assigné à l'unité
FREAD (unit, nbchar) - Lit n caracteres depuis le fichier assigné à l'unité (fichiers textes uniquement)
FEOF unit - Renvoit 1 si la fin de fichier est atteinte (plus de donnée à lire), 0 sinon
FTELL unit - Renvoit le numéro du prochain enregistrement à lire ou l'offset dans le fichier (fichiers textes uniquement)
FSEEK unit[,offset] - Positionne sur l'enregistrement specifié ou l'offset dans le fichier (fichiers textes uniquement) ou en debut de fichier (sans argument)
4. Graphic files
GSAVE [col1[,col2][,flags];]filename - Sauve l'écran dans un fichier (depuis col1 jusqu'à col2 si specifiées). flags est une chaine contenant éventuellement les caractères suivants "C" "X" ou/et "D" avec C = efface l'écran ou le fichier, sinon la colonne est "OR"ée à la colonne du fichier/écran; X = inverse la valeur de la colonne à sauver/afficher; D double la colonne: chaque colonne est répétée. Dans ce cas, on ne peut sauver/affichee que 78 colonnes au lieu de 156 (et puis c'est rigolo

)
GLOAD [col1[,col2][,flags];]filename - Restaure l'écran depuis le fichier (depuis col1 jusqu'à col2 si specifiées). flags est une chaine contenant eventuellement les caractère suivants "C" "X" ou/et "D"
5. Next
BCOPY filename,destfilename - Copie le fichier filename depuis la XMEM dans la banque 1 du CE-163 ou depuis la banque 1 dans la XMEM. Une option spéciale (par exemple #) devrait aussi permettre de faire de même avec le programme en RAM BASIC:
BCOPY #,destfilename ou
BCOPY filename,#. La direction sera choisie en fonction de la banque d'orgine du fichier source. Dans la première version, toute la banque 1 sera utilisée pour les copies/sauvegardes de la XMEM par
BCOPY
... et pourquoi pas un passage/retour d'arguments au travers d'un
PCALL/PENTRY/PRETURN 
On pourrait imaginer un appelant
PCALL filename;var,var,.... Le programme appelé recevenant les arguments par
PENTER var,var,.... De plus,
PRETURN pourrait se charger de "renvoyer des arguments" dans les outvar:
PRETURN out,out,.... La syntaxe de
PCALL serait
PCALL filename[,ligne][;[var[,var...]][;[outvar[,outvar]]]]. Dur mais intéressant
Un
PCALL "filename"[;regA,regBC,regDE,regHL[;outA,outBC,outDE,outHL]] serait aussi envisageable pour les programmes LM (mes préférés

)
@jvernet : Désolé, mais je préfère les noms originaux, avec M* pour les commandes générales, P* pour les programmes, F* pour les fichiers D/T, et G* pour le graphisme (et B* pour les banques du CE-163).
Les instructions graphiques ne sont pas encore "très matures"... Il y aurait du boulot ici, si quelqu'un veut prendre la main sur cette partie

car je ne compte pas travailler dessus.