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.
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.
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.
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).
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é.
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
.
Le nœud UniTools dispose de plusieurs RSX qui viennent s'ajouter aux RSX de base de l'UniDOS.
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.
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.
Syntaxe : |HELP,NUMÉRO DE ROM
Affiche la liste des RSX disponibles dans la ROM demandée.
Syntaxe : |WHERE,”NOM DE RSX“
Indique où se situe une RSX.
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.
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.
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).
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.
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.
Le nœud Albireo ne permet pas de renommer les fichiers d'un répertoire à l'autre sur ses lecteurs physiques.
M4:
lecteur de carte MicroSD intégré.DSK:
lecteur de fichiers DSK (en lecture seule).FTP:
lecteur réseau FTP.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.
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.
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+.
Gestion de la configuration du lecteur physique DSK:
.
Syntaxe : |DSK
Affiche le nom du fichier DSK de la Bibliothèque actuellement inséré dans le lecteur DSK:
.
|DSK Demos/Back2Futurs.dsk
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"
Gère la configuration du lecteur physique FTP:
.
Important :
FTP:
18), tous les fichiers ou répertoires ne correspondant pas seront ignorés.FTP:
n'est pas totalement fonctionnel19) .
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
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"
Syntaxe : |HTTPGET,”url“
Télécharge un fichier depuis une URL et le stocke dans la Bibliothèque.
Liste le contenu de la Bibliothèque.
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
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
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.
Syntaxe : |M4.FLASHROM,”chemin“,slot
Reprogramme la ROM à l'emplacement slot
avec le contenu fichier fourni en chemin
.
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.
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
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.
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
Syntaxe : |M4.ROMOFF,slot
Désactive la ROM située à l'emplacement slot
dans l'espace des ROMs de la M4 Board.
Syntaxe : |M4.ROMON,slot
Active la ROM située à l'emplacement slot
dans l'espace des ROMs de la M4 Board.
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.
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.
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.
Le nœud FatFs supporte les périphériques formatés en FAT22).
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:
.
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.
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: