Petit bout de code pour déclarer le disque virtuel au système sans avoir à passer par le DOS 'iconique'. Je ne trouve pas de fonction qui le ferait sous Basic, et passer par le DOS iconique chaque fois qu'on relance la machine c'est bien mais ce serait mieux si c'était automatique...
Une fois le disque virtuel déclaré, il est géré par le système comme une disquette.
Le programme suivant, exécuté avant le lancement de CC90, préparera le Disque Virtuel à recevoir le contenu envoyé par le PC.
Code:
Routine déclaration Disque Virtuel 320Ko sur système TO 512Ko RAM
DVIRTUEL.BIN
ORG $9001
PSHS PC,B,A
LDA #$98
LDB #$05 = taille 'V' du disque virtuel ( 0<=V<=5 ici V=5 donc disque 320Ko)
STB $9000
ADDA $9000
STA $60CD
LDA #$1F
LDB $9000
ASLB
ASLB
STB $9000
SUBA $9000
STA $6047
PULS A,B,PC
END
lançable en BASIC par:
Code:
LOADM"DVIRTUEL.BIN"
EXEC &H9001
pour initialiser et déclarer le disque virtuel (4:) par défaut:
DSKINI 4,,"Virtuel"
DEVICE "4:"
C'est sous le débugueur de DCMoto que j'ai retrouvé les 2 registres système à modifier pour définir la taille du disque virtuel: n'hésitez pas à me dire si j'oublie quelque chose, en tout cas ça marche.
Voici les valeurs possibles pour les registres $60CD et $6047 en fonction de la taille de disque virtuel choisie:
Code:
Disque virtuel $60CD $6047
0 Ko $98 $1F
64 Ko $99 $1B
128 Ko $9A $17
192 Ko $9B $13
256 Ko $9C $0F
320 Ko $9D $0B
relations:
taille = V x 64 avec 0<=V<=5 $60CD contient $98+V et $6047 contient $1F-4xV
note: nombre de banques dispo: $618C (registre NBANK livre technique p292) donne 1E = 30 sur un système 512Ko RAM
J'espère que ce sera utile
Sinus