execrom.8 (3385B)
1 .Dd 6 septembre 2025 2 .Dt EXECROM 8 3 .Os 4 .Sh NOM 5 .Nm execrom 6 .Nd Exécuter des ROMs 7 .Sh SYNOPSIS 8 .Ar ROM 9 .Op Ar argument ... 10 .Sh DESCRIPTION 11 À son lancement, 12 l’utilitaire 13 .Nm execrom 14 inspecte son argument 0, 15 censé contenir 16 .Ar ROM , 17 le nom avec lequel il a été invoqué. 18 Il parcourt ensuite les dossiers répertoriés dans 19 .Dv EXECROM_CHEM 20 à la recherche d’un fichier 21 dont le préfixe corresponde à 22 .Ar ROM 23 suivi d’un point (« . »). 24 Il met fin à sa recherche 25 dès le premier fichier conforme trouvé 26 et exécute le programme dont le nom correspond 27 au suffixe de ce fichier, 28 en lui donnant 29 .Ar ROM 30 et 31 .Op Ar argument ... 32 en arguments. 33 .Pp 34 Ainsi, les fichiers accessibles par 35 .Ev EXECROM_CHEM 36 sont des programmes 37 dont les noms ont la forme 38 .Em nom.interpréteur . 39 .Em nom 40 est le nom du programme à interpréter. 41 Il doit correspondre à 42 .Ar ROM 43 pour être retenu. 44 .Em interpréteur 45 est le nom de l’exécutable 46 destiné à interpréter le programme. 47 Cet exécutable doit être accessible par 48 .Dv PATH . 49 .Pp 50 .Nm 51 n’est pas conçu pour être exécuté directement, 52 mais plutôt par l’intermédiaire d’un lien symbolique pointant vers lui. 53 .Sh ENVIRONNEMENT 54 La variable d’environnement suivante influence l’exécution d’\c 55 .Nm . 56 .Bl -tag -width "EXECROM_CHEM" 57 .It Ev EXECROM_CHEM 58 Liste de chemins, séparés par des deux-points (« : »), 59 vers les dossiers contenant les programmes à interpréter. 60 Elle a la même structure que 61 .Ev PATH . 62 .El 63 .Sh EXEMPLE 64 Soit 65 .Pa ~/uxn/drifblim 66 et 67 .Pa ~/uxn/left 68 deux ROMs exécutables 69 par une machine Varvara. 70 La première contient un assembleur uxntal 71 interprétable par la machine virtuelle en mode texte 72 .Xr uxncli 1 . 73 La commande suivante assemble 74 .Pa prog.tal 75 dans 76 .Pa prog.rom . 77 .Bd -literal -offset indent 78 $ uxncli ~/uxn/drifblim prog.tal prog.rom 79 .Ed 80 .Pp 81 La seconde ROM est un éditeur de texte en mode graphique. 82 Elle doit donc être interprétée par 83 .Xr uxnemu 1 . 84 La commande suivante 85 ouvre le fichier 86 .Pa doc.txt 87 avec l’editeur de texte. 88 .Bd -literal -offset indent 89 $ uxnemu ~/uxn/left doc.txt 90 .Ed 91 .Pp 92 Grâce à 93 .Nm , 94 il est possible d’exécuter ces deux programmes 95 sans avoir à spécifier chaque fois l’interpréteur approprié 96 et le chemin vers la ROM. 97 Pour ce faire, 98 il faut régler la variable d’environnment 99 .Dv EXECROM_CHEM 100 pour qu’elle contienne 101 le chemin vers le dossier 102 où se trouvent les ROMs, 103 ici, 104 .Pa ~/uxn. 105 .Bd -literal -offset indent 106 $ export EXECROM_CHEM="$HOME/uxn:$EXECROM_CHEM" 107 .Ed 108 .Pp 109 Il faut aussi modifier le nom de chaque ROM 110 pour que son préfixe et son suffixe correspondent 111 à son nom d’invocation et 112 au nom du programme destiné à l’interpréter, 113 respectivement. 114 Le résultat devrait être le suivant. 115 .Bd -literal -offset indent 116 $ ls ~/uxn 117 drifblim.uxncli 118 left.uxnemu 119 .Ed 120 .Pp 121 Enfin, un lien symbolique accessible par 122 .Dv PATH 123 et pointant vers l’exécutable d’\c 124 .Nm 125 doit être créé pour chaque ROM. 126 .Bd -literal -offset indent 127 $ ln -s /usr/local/libexec/execrom ~/.local/bin/driftblim 128 $ ln -s /usr/local/libexec/execrom ~/.local/bin/left 129 .Ed 130 .Pp 131 Les ROMs peuvent alors être exécutées directement. 132 .Bd -literal -offset indent 133 $ drifblim prog.tal prog 134 $ left doc.txt 135 .Ed 136 .Sh ÉTATS DE SORTIE 137 L’utilitaire 138 .Nm execrom 139 quitte avec 0 si tout s’est bien passé et avec >0 si une erreur est survenue. 140 .Sh AUTEURS 141 .An Loïc Daignault-Pichette <ldp@asteride.xyz>