Logicielsmoto.com

Nous sommes le 28 Mar 2024, 15:44

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
MessagePosté: 10 Jan 2007, 17:41 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Je cherche l'adresse et la valeur des vecteurs RAM utilisés par le Basic pour stocker la densité des disquettes présentes dans les 4 unités. En désassemblant l'instruction DIR, j'ai déjà trouvé :

272A-272D pour le Basic DOS MO 5"1/4 (4=simple, 16=double)
672A-672D pour le Basic DOS TO 5"1/4 (4=simple, 16=double)
22B1-22B4 pour le Basic 128 MO6 (80=simple, FF=double)
62B1-62B4 pour le Basic 512 TO8-TO8D-TO9+ (80=simple, FF=double)

Il me manque le Basic 128 (cartouche TO), le Basic 128 intégré du TO9 et les autres Basic DOS 3"1/2 double densité et 5"1/4 simple densité, version TO et version MO. Quelqu'un le sait-il ? Ou existe-t-il une documentation technique sur les différents Basic ?

Question subsidiaire : quel test peut-on faire pour déterminer le Basic en cours d'exécution ? Y-a-t'il une signature quelque part, comme dans les contrôleurs de disquette ou les cartouches de ROM ?

Merci d'avance pour vos réponses ! Elle permettront peut-être, dans dcmoto 9.6, d'émuler les disquettes simple densité pour tous les Basic. La version de test fonctionne déjà pour les 4 Basic cités au début du message.

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 12 Jan 2007, 16:01 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Finalement, pour ne pas avoir a me soucier du controleur, de la machine et du Basic, je renonce au changement de densite automatique. Ce sera moins elegant, mais beaucoup plus facile a programmer. J'ai deja termine. Voici donc comment est traite le changement de densite dans dcmoto 9.6, pour tous les controleurs de disquette, internes ou externes :

- Initialisation en double densite en l'absence de disquette

- Initialisation à la densite reelle de la disquette si un fichier .fd est deja charge au demarrage de dcmoto. La taille et le contenu du fichier .fd determinent la densite : simple si inferieure a 81 Ko, ou si l'octet 0x14100 n'est pas nul. Double dans le cas contraire.

- en cas de changement de densite (suite au chargement d'une autre disquette), il faut l'indiquer au systeme par la commande DENSITY, si elle existe dans le Basic en cours d'execution. Si elle n'existe pas (en particulier en Basic 512 TO et Basic 128 MO6) il suffit d'une réinitialisation programme pour fixer automatiquement la bonne densite. Si on omet cette procedure, la prochaine lecture de secteur produit une erreur 53. Heureusement, on a alors une deuxieme chance (et meme des vies infinies :tourne: ).

L'inconvénient est l'absence d'automatisme. L'enorme avantage est de laisser le systeme fixer lui-meme les bons parametres. Lui, au moins, il sait où il stocke les densites, alors que beaucoup de Thomsonistes semblent l'ignorer, ou n'ont pas ose me repondre ;)

Pour finir, il faut preciser que la simple densite dans dcmoto n'est possible que pour l'unite 0, au moins dans un premier temps. Si vous trouvez des disquettes simple densite double face, prevenez-moi, j'essaierai de faire mieux :)

Daniel


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 42 invités


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