execrom

Exécuteur de roms
git clone git://git.asteride.xyz/execrom.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

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>