Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

CC90 - dans la pratique...
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=10&t=309
Page 1 sur 1

Auteur:  sinus [ 24 Oct 2008, 08:24 ]
Sujet du message:  CC90 - dans la pratique...

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

Auteur:  sinus [ 31 Oct 2008, 01:37 ]
Sujet du message: 

oups... il y a comme une latence... mon sujet est (enfin) apparu une semaine après envoi :lol:
Entre temps une correction du programme a été donnée ici
sin

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/