Manuel des nœuds DOS

Nœud DOS UniTools

Numéro de ROM NVM1) RTC2)
1 à 153) Non Non

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 à 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

Numéro de ROM NVM13) RTC14)
1 à 31 Oui Non

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

Numéro de ROM NVM15) RTC16)
1 à 31 Oui Oui17)

Le nœud M4 supporte la carte M4 Board de Duke.

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

Numéro de ROM NVM20) RTC21)
Voir procédure d'installation Oui Non

Le nœud FatFs supporte les périphériques formatés en FAT22).

Lecteurs physiques

  • IDE: périphérique principal connecté sur le bus IDE (compatible X-Mass ou Symbiface II).

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

Numéro de ROM NVM23) RTC24)
1 à 3125) Oui Oui

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.

1) , 13) , 15) , 20) , 23)
présence de mémoire non volatile
2) , 14) , 16) , 21) , 24)
présence d'une horloge temps réel
3)
numéro le plus haut possible conseillé
4)
'|NODE vous permet de lister les noeuds et leur ordre d'installation
5)
|NODE,n vous permet de voir l'ordre des lecteurs dans le nœud n
6)
ce qui accélère légèrement la séquence de démarrage
7)
tel que TAPE:
8)
dans ce dernier cas, le démarrage automatique consistera juste à rentrer dans le répertoire
9)
en faisant précéder le nombre par ”&“ ou ”#“
10)
si aucune extension n'est fournie alors c'est la valeur 0 qui sera renvoyée
11)
sans entête binaire AMSDOS
12)
le code ASCII numéro 32 est l'espace
17)
en lecture seule
18)
majuscules, huit caractères pour le nom, trois caractères pour l'extension
19)
le chargement des fichiers peut géler la M4 Board, mais la navigation dans les répertoires et l'écriture des fichiers devrait fonctionner parfaitement
22)
FAT12, FAT16 et FAT32
25)
numéro le plus bas possible conseillé