Manuel des nœuds DOS
Nœud DOS UniTools
Ce nœud vise à fournir tout un tas de fonctionnalités secondaires communes à toutes les cartes d'extension, notamment la possibilité d'exécuter un démarrage automatique sur les disques bootables, de rendre les RSX des nœuds DOS accessibles au-delà de l'emplacement ROM numéro 15, ou de démarrer avec les ROMs de développement désactivées.
Important : les lecteurs de disquettes 3“1/2 avec signal « ready » forcé ne sont pas compatibles avec UniTools.
Démarrage automatique
UniTools permet de démarrer automatiquement n'importe quel programme au boot du CPC.
Pour ce faire, sitôt le Basic initialisé, UniTools va parcourir la totalité des lecteurs disponibles à la recherche d'un périphérique bootable afin de sélectionner celui ayant la priorité.
Une fois le lecteur de démarrage trouvé, le lecteur logique A:
se voit sélectionné et automatiquement assigné au lecteur de démarrage identifié, ensuite, si un fichier de démarrage est présent sur le disque, il sera exécuté.
Amstrad 128K Microcomputer (f3) ©1985 Amstrad Consumer Electronics plc and Locomotive Software Ltd. UniDOS (integrated) ©2022 Futurs' BASIC 1.1 Ready Scanning startup devices... Startup: Albireo microSD card Ready
À noter que presser n'importe quelle touche pendant le boot du CPC interrompra le démarrage automatique.
Lecteurs bootables
Par défaut, aucun lecteur n'est bootable. Pour rendre un lecteur bootable, un fichier nommé ”#BOOT.CFG“
doit être créé à sa racine. Ce fichier doit contenir un chiffre (de 0 à 9) avec la priorité de démarrage désirée.
Un lecteur avec la priorité 9 sera le dernier à être considéré tandis que rencontrer un lecteur de priorité 0 provoquera le démarrage immédiat sur celui-ci sans parcourir les suivants.
Vous pouvez facilement créer ce fichier avec un éditeur de texte quelconque, ou bien utiliser le programme SETBOOT.BAS
disponible dans la section des téléchargements. Il est également possible de la créer à la main de la façon suivante :
MEMORY &7FFF POKE &8000,ASC("5") |SAVEA,"SD:#BOOT.CFG",&8000,1
L'exemple précédent rend le lecteur SD:
bootable avec une priorité de 5.
Si plusieurs lecteurs sont déclarés avec la même priorité alors c'est celui du premier nœud qui sera sélectionné4). Si plusieurs lecteurs d'un même nœud ont la même priorité alors le premier du nœud sera utilisé5).
À noter que les lecteurs de disquettes fournis par le nœud interne seront toujours considérés après les autres de sorte que n'importe quel lecteur de priorité 0 désactivera l'interrogation des disquettes6).
Bien sûr, les lecteurs de type flux7) ne sont pas concernés et ne sont jamais considérés comme bootables.
Fichier de démarrage
Le fichier de démarrage est un fichier nommé ”#STARTUP“
situé à la racine du lecteur. S'il est présent et que le lecteur est bootable, alors il sera exécuté automatiquement via un RUN”#STARTUP“
.
Ce fichier peut être de n'importe quel type, Basic, binaire, lien symbolique ou même un répertoire8).
Gestion des ROMs de développement
UniTools offre un service de désactivation automatique des ROMs de développement afin de retrouver un CPC aussi proche que possible d'une machine standard. Ce système est accessible via deux nouvelles RSX |DEVTOOLS.ON
et |DEVTOOLS.OFF
détaillée plus bas. Pour être compatible avec ce système, les ROMs se considérant comme étant des outils de développement doivent faire appel à un petit bout de code spécifique détaillé dans les annexes. Les ROMs d'Arnor mises à disposition dans la section des téléchargements ont été patchées pour tirer profit de cette fonctionnalité.
Lecteurs physiques
ZERO:
fournisseur de fichiers « vides ».
Ce lecteur ne fonctionne qu'en lecture et permet de gérer à la volée des fichiers de taille quelconque et de contenu uniforme selon le nom de fichier utilisé. Le format des noms de fichier est “taille.val”
où “taille” est la taille du fichier désiré et “val” est la valeur de l'octet avec lequel il doit être rempli. “taille” et “val” peuvent être exprimés en décimal ou en hexadécimal9).
Par exemple, charger un fichier “123.75”
va fournir un fichier de 123 octets ayant comme valeur 7510). De la même manière ”&4000.&ff“
génèrera un fichier de 16364 (&4000) octet valant 255 (&ff).
Attention, les fichiers ainsi générés sont des fichiers ASCII11), vous pourrez par exemple les charger depuis Protext (INSERT 20.32
va insérer par exemple 20 espaces12) dans votre fichier en cours d'édition) ou via la RSX |LOAD
.
RSX
Le nœud UniTools dispose de plusieurs RSX qui viennent s'ajouter aux RSX de base de l'UniDOS.
|HELP
Cette RSX est similaire à celle des ROMs d'Arnor Ltd. ou de Romantic Robot et permet de lister les ROMs installées sur le système. À la différence de celle de ces ROMs, celle-ci liste les 32 au lieu des 16 premières ROMs et affiche des informations complémentaires.
Sans paramètre
Syntaxe : |HELP
|HELP ROM 1:BASIC 1.23 foreground ROM 1:NOVA 1.41·extension ROM 7:UNIDOS 1.50 back &A700 ROM 8:FATFS 1.41·disabled ROM 9:M4 1.41 parked ROM 14:UNITOOLS 1.41·background ROM 27:ALBIREO 1.41·extension
foreground
indique une ROM de premier plan.back &xxxx
indique une ROM de second plan dont la mémoire de travail est allouée en &xxxx.background
indique une ROM de second plan qui n'a pas alloué de mémoire mais dont les RSX sont malgré tout accessible (grâce à UniTools).extension
indique une ROM d'extension.disabled
indique une ROM de second plan désactivée.parked
indique une ROM parquée.
Les ROMs marquées du caractère ·
sont des nœuds DOS.
Avec un paramètre
Syntaxe : |HELP,NUMÉRO DE ROM
Affiche la liste des RSX disponibles dans la ROM demandée.
|WHERE
Syntaxe : |WHERE,”NOM DE RSX“
Indique où se situe une RSX.
|DEVTOOLS.ON
Redémarre avec les ROMs de développement activées (il s'agit du comportement par défaut). Si la ROM UniTools est installée dans un numéro de ROM supérieur aux ROMs de développement, maintenir la touche SHIFT
pressée au démarrage a le même effet.
|DEVTOOLS.OFF
Redémarre avec les ROMs de développement désactivées. Si la ROM UniTools est installée dans un numéro de ROM supérieur aux ROMs de développement, maintenir la touche CONTROL
pressée au démarrage a le même effet.
Nœud DOS Albireo
Le nœud Albireo supporte la carte Albireo de PulkoTronics. Jusqu'à deux Albireo peuvent être utilisées en même temps.
Important : assurez-vous que votre carte MicroSD ainsi que vos périphériques de stockage USB sont formatés en fat32 (ni le ntfs ni les autres types de fat ne sont supportés).
Lecteurs physiques
SD:
lecteur de carte MicroSD intégré.UMS:
périphérique USB de sockage de masse connecté (clef USB, disque dur, etc.).SD2:
lecteur de carte MicroSD intégré de la deuxième Albireo.UMS2:
périphérique USB de sockage de masse connecté (clef USB, disque dur, etc.) de la deuxième Albireo.
Mémoire non volatile
Le nœud Albireo apporte aussi une gestion de mémore non volatile dont l'UniDOS a besoin pour fonctionner. Le contenu de la mémoire non volatile de l'UniDOS est stocké dans un fichier nommé ”!UNIDOS!.NVM“
placé à la racine de la carte MicroSD.
Limitations
Le nœud Albireo ne permet pas de renommer les fichiers d'un répertoire à l'autre sur ses lecteurs physiques.
Nœud DOS M4
Lecteurs physiques
M4:
lecteur de carte MicroSD intégré.DSK:
lecteur de fichiers DSK (en lecture seule).FTP:
lecteur réseau FTP.
La Bibliothèque
Le nœud M4 offre la gestion d'une bibliothèque de fichiers normalement utilisés par les émulateurs. Il s'agit d'images de disquettes (fichiers DSK), d'images de cartouches (fichiers CPR) et d'instantantés (fichiers SNA). Ces fichiers sont physiquement localisés dans le répertoire « Library » situé à la racine de la carte MicroSD (ce répertoire sera automatiquement créé s'il n'existe pas).
La Bibliothèque peut contenir des sous-répertoires et des fichiers avec des noms longs utilisants des caractères majuscules et minuscules (la casse est toutefois ignorée). En outre, la reconnaissance du format des fichiers est basée sur leur contenu, vous n'êtes donc pas contraints d'utiliser des extensions pour ces fichiers.
Les RSX |CPR, |DSK et |SNA vous permettent d'utiliser les fichiers de la Bibliothèque, cependant que |HTTPGET offre la possibilté d'y télécharger directement de nouveaux fichiers.
RSX
Le nœud M4 dispose de plusieurs RSX qui viennent s'ajouter aux RSX de base de l'UniDOS. Elles permettent de gérer la Bibliothèque ainsi que la configuration de la carte et du réseau WIFI.
|CPR
Syntaxe : |CPR,”chemin vers un fichier CPR de la Bibliothèque“
Exécute une cartouche au format CPR stockée dans la Bibliothèque comme si une véritable cartouche était insérée. Attention toutefois, la quasi totalité des cartouches existantes ne fonctionnent que sur CPC+.
|DSK
Gestion de la configuration du lecteur physique DSK:
.
Sans paramètre
Syntaxe : |DSK
Affiche le nom du fichier DSK de la Bibliothèque actuellement inséré dans le lecteur DSK:
.
|DSK Demos/Back2Futurs.dsk
Avec un paramètre
Syntaxe : |DSK,”chemin vers un fichier DSK de la Bibliothèque“
Insère une image disque au format DSK issue de la Bibliothèque dans le lecteur physique DSK:
.
|DSK,"Demos/Back2Futurs.dsk"
|FTP
Gère la configuration du lecteur physique FTP:
.
Important :
- Le firmware v2.0.8 (ou plus récent) de la M4 est nécessaire pour pouvoir utiliser le FTP.
- Seuls les fichiers respectant les règles de nommage des fichiers AMSDOS sont accessibles via le lecteur physique
FTP:
18), tous les fichiers ou répertoires ne correspondant pas seront ignorés. - En raison de problèmes qu'il convient encore d'investiguer dans le firmware de la M4 Board, le lecteur physique
FTP:
n'est pas totalement fonctionnel19) .
Sans paramètre
Syntaxe : |FTP
Affiche les informations à propos du serveur FTP, de l'identifiant et du mot de passe qui sont actuellement utilisés pour le lecteur physique FTP:
.
|FTP Server: main.aminet.net (35.223.124.178) Port: 21 Login: anonymous Password: dummy@cpcscene.net Status: Connected
Avec trois parameters
Syntaxe : |FTP,”server host name or IP address“,”login“,”password“
Configure le serveur FTP, l'identifiant et le mot de passe à utiliser pour le lecteur physique FTP:
.
|FTP,"main.aminet.net","anonymous","dummy@cpcscene.net"
|HTTPGET
Syntaxe : |HTTPGET,”url“
Télécharge un fichier depuis une URL et le stocke dans la Bibliothèque.
|LIBRARY
Liste le contenu de la Bibliothèque.
Sans paramètre
Syntaxe : |LIBRARY
Liste les fichiers présents à la racine de la Bibliothèque.
|LIBRARY eDSK: The Insider (UK) (1989) [Original] [UTILITAIRE].dsk eDSK: SymbOS-CPC-AppsStandard.dsk eDSK: SymbOS-CPC-BootFast.dsk eDSK: SymbOS-CPC-BootRaw.dsk eDSK: Digitracker (UK) (128K) (1993) (PD) [UTILITAIRE].dsk eDSK: Quasar CPC 3 (1993)(Futurs)(Disk 2 of 2).dsk [Dir] PlayCity eDSK: Discology (F) (1989) (CPM) (Version 6.0) [UTILITAIRE].dsk eDSK: CPM 2.2 - zexall.dsk [Dir] Jeux [Dir] Demos eDSK: Quasar CPC 2 (1993)(Futurs)(Disk 2 of 2).dsk eDSK: Quasar CPC 3 (1993)(Futurs)(Disk 1 of 2).dsk eDSK: Quasar CPC 2 (1993)(Futurs)(Disk 1 of 2).dsk [Dir] Utilitaires SNA: Barbarian.sna SNA: Take It Easy.sna CPR: Batman The Movie.cpr
Avec un paramètre
Syntaxe : |LIBRARY,”chemin dans la Bibliothèque“
Liste les fichiers de la Bibliothèque correspondants au chemin fourni (le chemin peut contenir des jokers).
|LIBRARY,"Demos/" eDSK: Back2Futurs.dsk eDSK: Climax (2003)(Les Sucres En Morceaux)(Disk 1 of 2).dsk eDSK: Climax (2003)(Les Sucres En Morceaux)(Disk 2 of 2).dsk DSK: Prodatron Megademo (1992)(BENG)(Disk 2 of 2).dsk eDSK: Tire Au Flan (2002)(Overlanders).dsk DSK: ASIC Intro 1 - Plasma Plus (F) (128K) (2000) [CPC+] [DEMO].dsk eDSK: phX.dsk eDSK: Still Rising (Offset).dsk eDSK: The Demo (1991)(Logon System)(Disk 1 of 2).dsk eDSK: _5KB 3 (1999)(5KB).dsk eDSK: DTC (UK) (128K) (2006) [DEMO].dsk CPR: CRTC3_(Flower Corp_2017).cpr CPR: Eerie_Forest_(Logon_System_2017).cpr
|M4.DISABLE
Syntaxe : |M4.DISABLE
Désactive totalement la carte M4 Board (y compris sa gestion des ROMs) jusqu'au prochain redémarrage de celle-ci.
Ceci est utile lorsque vous avez besoin de lancer un programme incompatible avec la M4 Board.
|M4.FLASHROM
Syntaxe : |M4.FLASHROM,”chemin“,slot
Reprogramme la ROM à l'emplacement slot
avec le contenu fichier fourni en chemin
.
|M4.NETCONFIG
Syntaxe : |M4.NETCONFIG,”configuration“
Configure le réseau de la M4 Board. Cette commande est identique à la commande |NETSET
de la ROM M4 Board. Référez-vous à la notice de Duke à son sujet.
|M4.NETSTAT
Syntaxe : |M4.NETSTAT
Affiche l'état du réseau de la M4 Board. Cette commande est identique à la commande |NETSTAT
de la ROM M4 Board.
Signal: 0xCE IP 192.168.0.48 Netmask: 255.255.255.0 Gateway: 192.168.0.254 DNS1: 80.10.246.2 DNS2: 80.10.246.129 MAC: 2C:F4:32:65:38:15
|M4.UPGRADE
Syntaxe : |M4.UPGRADE
Met à jour le firmware de la M4 Board depuis l'internet. Cette commande est identique à la commande |UPGRADE
de la ROM M4 Board.
|M4.VERSION
Syntaxe : |M4.VERSION
Affiche la version du firmware de la M4 Board. Cette commande est identique à la commande |VERSION
de la ROM M4 Board.
M4 v2.0.7 ESP v2.0.7
|M4.ROMOFF
Syntaxe : |M4.ROMOFF,slot
Désactive la ROM située à l'emplacement slot
dans l'espace des ROMs de la M4 Board.
|M4.ROMON
Syntaxe : |M4.ROMON,slot
Active la ROM située à l'emplacement slot
dans l'espace des ROMs de la M4 Board.
|SNA
Syntaxe : |SNA,”chemin vers un fichier SNA de la Bibliothèque“
Synchronize l'état du CPC avec le contenu de l'instantané au format SNA issu de la Bibliothèque.
Mémoire non volatile
Le nœud M4 apporte aussi une gestion de mémore non volatile dont l'UniDOS a besoin pour fonctionner. Le contenu de la mémoire non volatile de l'UniDOS est stocké dans un fichier nommé ”!UNIDOS!.NVM“
placé à la racine de la carte MicroSD.
Limitations
Le nœud M4 ne permet pas d'effacer les répertoires non vides sur le lecteur physique M4:
.
La gestion des erreurs n'est pas aussi fine qu'avec les autres nœud DOS en raison des carences de la M4 Board en la matière.
Nœud DOS FatFs
Le nœud FatFs supporte les périphériques formatés en FAT22).
Lecteurs physiques
Mémoire non volatile
Le nœud FatFs apporte aussi une gestion de mémoire non volatile dont l'UniDOS a besoin pour fonctionner. Par défaut, le contenu de la mémoire non volatile de l'UniDOS est stocké dans un fichier nommé ”!UNIDOS!.NVM“
placé à la racine du lecteur IDE:
.
Limitations
Le nœud FatFs a besoin d'allouer de la mémoire pour fonctionner. Il ne permet donc pas une aussi bonne compatibilité AMSDOS que les autres nœuds. Toutefois, si vous possédez une carte Nova, il en tirera automatiquement profit pour ne plus utiliser de mémoire centrale et assurer ainsi une compatibilité AMSDOS presque aussi bonne que les autres nœuds.
En raison de la lourdeur de la gestion FatFs, ce nœud offre également des performances inférieures aux autres. Notamment, la gestion de la mémoire non volatile est extrêmement lente. Si vous possédez une autre carte gérée par l'UniDOS, préférez sa mémoire non volatile à celle du nœud FatFs afin d'obtenir de bien meilleures performances. Par exemple, l'utilisation d'une carte Nova est vivement conseillée.
Nœud DOS Nova
Le nœud Nova supporte la mémoire non volatile de la carte Nova de PulkoTronics. Celle-ci est de très haute performance et devra être préférée à celles fournies pour les autres nœud. Le contenu de la mémoire non volatile de l'UniDOS est stocké dans la dernière page mémoire de la carte Nova.
'|NODE
vous permet de lister les noeuds et leur ordre d'installation|NODE,n
vous permet de voir l'ordre des lecteurs dans le nœud nTAPE: