Logicielsmoto.com

Nous sommes le 21 Juil 2019, 05:20

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
 Sujet du message: CC90 - dans la pratique...
MessagePosté: 24 Oct 2008, 08:24 
Hors ligne

Inscription: 27 Mai 2006, 03:09
Messages: 58
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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 31 Oct 2008, 01:37 
Hors ligne

Inscription: 27 Mai 2006, 03:09
Messages: 58
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


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com