Ce document fait partie du projet VPC-32V et est fourni sous licence
CC-NC-SA-BY V3.0
auteur: Jacques Deschênes
révision 1.0
Copyright: 2013-2018 Jacques Deschênes
Au démarrage l'ordinateur entre dans l'interpréteur de commande. Au début de la ligne apparaît un $ suivit d'un curseur clignotant. Ceci indique que l'ordinateur est prêt à recevoir des commandes. Les commandes sont sensibles à la casse et doivent-être en minuscules. voici de quoi a l'air la console au démarrage:
free RAM (bytes): 42480
Last power down: Saturday 07/10 14:36
Wenesday 2018/07/11 9:40:40
VPC-32 shell version 1.0
$
L'ordinateur peut-être réinitialisé (redémarrage à froid) en tout temps, même pendant l'exécution d'un programme BASIC par la combinaison de touches <CTRL-ALT-SUP> comme à l'époque de MS-DOS. Pratique lorsqu'un progamme BASIC est bloqué dans une boucle infinie.
Il faut distinguer le shell de commandes du shell BASIC. Ce dernier est lancé par la commande basic du shell de commandes et le prompt qui s'affiche est différent il s'agit d'un signe >.
Les commandes du shell sont interprétées directement et ne peuvent pas être utlisées dans un progamme BASIC. Une telle tentative résulte en un messsage d'erreur du compilateur BASIC. Les commandes BASIC sont pré-compilées en bytecode et le dit bytecode est passé à la machine virtuelelle BASIC pour exécution.
Ce document décris seulement les commandes du shell de commandes pour les commandes BASIC il faut consulter le manuel vpcBASIC.
La majoritée des commandes du shell servent à la gestions des fichiers enregistrés sur la carte SD. Certaines commandes de gestion de fichiers peuvent affecter plus d'un fichier par l'utilisation du caractère *. Ce caractère peut-être placé au début, à la fin ou au 2 extrémités d'un paramètre nom_de_fichier d'une commande. Placé au début du nom accepte tous les fichiers se terminant pas la chaîne qui le suit. Placé à la fin du nom accepte tous les fichiers commençant par la chaîne qui le précède. Lorsque placé aux 2 extrémités du nom accepte tous les fichiers contenant la chaîne encadrée.
Dans ce qui suis ce qui est entre les caractères [ et ] est optionnel. Le caractère | sépare les alternatives. Les commandes doivent-être entrées en minuscules.
$clktrim
Actual RTCC oscillator trim value: 18
$clktrim -2
Actual RTCC oscillator trim value: 16
$_
example:
$copy prog1.bas prog2.bas
$_
Cré une copie de prog1.bas avec le nom prog2.bas. Les noms de fichiers sont capitalisés.
$date
2018/06/23
$date 2018/06/24
$date
2018/06/24
$_
$echo "Supression des fichiers temporaires."
Supression des fichiers temporaires.
$del *.tmp
Cette commande vas supprimer tous les fichiers dont le nom se termine par .TMP
Une demande confirmation sera demandee pour chaque fichier.
example:
$dir *.bas
reading dirctory: ('.')
----A 2018/05/21 21:06 862 SPRTEST.BAS
----A 2018/05/20 11:31 175 ODE_JOIE.BAS
----A 2018/06/16 22:25 77 CLOCK.BAS
----A 2018/05/02 10:45 109 TONES.BAS
----A 2018/04/06 20:41 126 RECT.BAS
----A 2018/05/02 10:47 175 LINE.BAS
----A 2018/04/17 15:26 176 BOX.BAS
----A 2018/05/14 21:17 180 FACT.BAS
----A 2018/05/02 10:48 127 KTONE.BAS
----A 2018/04/15 12:02 537 CARRE.BAS
----A 2018/05/21 21:02 117 CLAIRF.BAS
----A 2018/04/14 10:39 196 SRAM.BAS
----A 2018/05/09 21:40 1935 CONWAY.BAS
----A 2018/05/07 10:59 344 GRAPHIC.BAS
----A 2018/05/21 22:53 2885 SPRED.BAS
----- 1980/00/00 00:00 167 SRTEST.BAS
----A 2018/06/16 12:13 298 FILE.BAS
----A 2018/05/21 21:46 1328 MOONLNDR.BAS
----A 2018/06/16 12:05 2703 SNAKE.BAS
----A 2018/05/03 15:05 289 BRAIN.BAS
----A 2018/05/02 12:07 587 PIANO.BAS
----A 2018/05/07 11:35 271 ELLIPSE.BAS
----A 2018/05/17 10:59 148 SAV_LOAD.BAS
----A 2018/05/14 12:37 262 SINE.BAS
file count 24
directory count 0
total size 14074
$_
$echo la version du shell de commande est $shell_version
la version du shell de commande est 1.0
$_
Dans cet exemple la variable d'environnement SHELL_VERSION a été substituée par sa valeur.
example:
$edit carre.bas
example:
$free
free RAM 42440/42480 BYTES
$set hello=hello world!
$set
HELLO=hello world!
NIL=
FALSE=F
TRUE=T
SHELL_VERSION=1.0
$echo $hello
hello world!
$free
free RAM 42360/42480 BYTES
$set hello=
$set
NIL=
FALSE=F
TRUE=T
SHELL_VERSION=1.0
$free
free RAM 42440/42480 BYTES
$_
Le nombre au numérateur est la quantité disponible après la dernière allocation. Le nombre au dénominateur est la quantité qui était
disponible au démarrage du shell de commande.
$hdump file.bas
00000000 72 65 6D 20 66 69 6C 65 20 73 79 73 74 65 6D 20 rem file system
00000010 74 65 73 74 0D 6F 70 65 6E 20 22 68 65 6C 6C 6F test open "hello
00000020 2E 74 78 74 22 20 66 6F 72 20 6F 75 74 70 75 74 .txt" for output
00000030 20 61 73 20 23 31 0D 70 72 69 6E 74 20 23 31 2C as #1 print #1,
00000040 22 68 65 6C 6C 6F 20 77 6F 72 6C 64 5C 72 22 0D "hello world\r"
00000050 70 75 74 63 20 23 31 2C 20 33 33 20 20 3A 20 70 putc #1, 33 : p
00000060 75 74 63 20 23 31 2C 20 31 30 0D 76 24 3D 22 62 utc #1, 10 v$="b
00000070 6F 6E 6A 6F 75 72 5C 72 22 3A 20 6E 3D 33 2A 35 onjour\r": n=3*5
00000080 0D 3F 20 23 31 2C 20 76 24 2C 20 6E 2C 20 34 2A ? #1, v$, n, 4*
00000090 35 2B 32 30 2C 20 33 32 2E 35 65 2D 33 0D 63 6C 5+20, 32.5e-3 cl
000000A0 6F 73 65 28 23 31 29 0D 64 69 6D 20 68 65 6C 6C ose(#1) dim hell
000000B0 6F 24 0D 6F 70 65 6E 20 22 68 65 6C 6C 6F 2E 74 o$ open "hello.t
000000C0 78 74 22 20 66 6F 72 20 69 6E 70 75 74 20 61 73 xt" for input as
000000D0 20 23 31 0D 69 6E 70 75 74 20 23 31 2C 20 68 65 #1 input #1, he
000000E0 6C 6C 6F 24 0D 63 3D 66 67 65 74 63 28 23 31 29 llo$ c=fgetc(#1)
000000F0 0D 69 6E 70 75 74 20 23 31 2C 78 24 2C 6E 31 2C input #1,x$,n1,
00000100 6E 32 2C 6E 33 21 0D 63 6C 6F 73 65 28 23 31 29 n2,n3! close(#1)
00000110 0D 3F 20 68 65 6C 6C 6F 24 2C 63 2C 78 24 2C 6E ? hello$,c,x$,n
00000120 31 2C 6E 32 2C 6E 33 21 0D 0D 1,n2,n3!
$_
$help
alarm basic cd clktrim cls con copy date del dir echo edit free hdump help
mkdir more mount reboot receive ren rmdir run send set time umount uptime
$help clktrim
USAGE: clktrim [-?]|n
RTCC oscillator calibration
n is added to actual value
n is in range {-127..127}
If n is missing display actual trim value.
$clktrim -?
USAGE: clktrim [-?]|n
RTCC oscillator calibration
n is added to actual value
n is in range {-127..127}
If n is missing display actual trim value.
$_
$cd
/
$mkdir test_dir
directory test_dir created
$dir *dir
reading dirctory: ('/')
D---- 2018/06/24 11:59 0 TEST_DIR
file count 0
directory count 1
total size 0
$
$more file.bas
rem file system test
open "hello.txt" for output as #1
print #1,"hello world\r"
putc #1, 33 : putc #1, 10
v$="bonjour\r": n=3*5
? #1, v$, n, 4*5+20, 32.5e-3
close(#1)
dim hello$
open "hello.txt" for input as #1
input #1, hello$
c=fgetc(#1)
input #1,x$,n1,n2,n3!
close(#1)
? hello$,c,x$,n1,n2,n3!
$_
$mount
$dir *.txt
reading directory: ('.')
----A 2018/06/16 12:13 37 HELLO.TXT
file count 1
directory count 0
total size 37
example:
>ren tones.bas beep.bas
Le fichier tones.bas sera renommé beep.bas
$run conway
Lance l'interpréteur vpcBASIC en lui passant le nom du fichier conway.bas.
$send conway.bas
Transmitting conway.bas ..
Transmission completed.
$_
$set hello=hello world!
$set
HELLO=hello world!
NIL=
FALSE=F
TRUE=T
SHELL_VERSION=1.0
$echo $hello
hello world!
$_
$time
16:58:41
$time 15:40:00
$time
15:40:01
$umount
$_
$uptime
00d01h14m47s