[TUTO] Interface DriveWire pour Dragon 32

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

[TUTO] Interface DriveWire pour Dragon 32

Message par Falkor »

Bonjour à tous,

Je vous propose de partager dans ce tuto les expérimentations que j'ai pu réaliser avec l'interface DriveWire et mon Dragon 32. Tout n'est pas parfait (j'ai encore des problèmes à résoudre et des trucs que je ne comprends pas). J’ai eu beaucoup de mal à expérimenter cette manip, les informations étant éparpillées à de nombreux endroits, et des problèmes stupides m’ayant fait perdre beaucoup de temps et de motivation ;-). Du coup j’ai mis en forme mes notes pour proposer ce petit tutoriel, n’ayant à priori rien trouvé de similaire sur ce forum.


Ok, c'est quoi l'interface DriveWire ?

Il s'agit d'un ensemble software et hardware permettant de créer un lien entre une ancienne machine et un PC moderne en vue de transférer de la donnée.


On peut faire quoi avec ?

Concrètement, on charge sur la machine cible reliée au PC un "DOS" spécial permettant d'émuler jusqu'à 4 lecteurs de disquettes virtuels, et ainsi de charger des images disquettes très rapidement. A nous les jeux et les programmes divers chargés à la vitesse de l’éclair !! :)


Quelles machines sont supportées ?

Le système a initialement été développé pour le Tandy Color Computer (Coco) mais il a été adapté au Dragon 32 (hardware quasi identique) puis 64. Je teste aujourd’hui sur le Dragon 32.


De quoi ai-je besoin ?

Coté soft :
-le logiciel DriveWire sur le PC serveur : les version 3 et 4 sont disponibles. La version 4 n’a pas fonctionné chez moi (impossible de créer la liaison), ce qui m’a causé de nombreuses heures de galère. La V4 est de plus une véritable usine à gaz, la V3 (plus simple) a marché du premier coup.
-des images disques supportées par la machine cible
-le "DOS" spécial (son image disque et son bootloader audio)

Coté hard :
-un câble audio DIN-jack permettant de simuler un lecteur de cassette sur la machine cible (bientôt un SDLEP !!). Brochage de la prise ici.
-une interface DriveWire : le Dragon 32 possède un port imprimante sur lequel le "DOS" modifié vient créer deux signaux "TX" et "RX" (niveaux TTL) permettant de dialoguer avec le serveur. Un simple adaptateur USB série-TTL est ensuite requis, après avoir toutefois inversé le TX émis par le dragon. J'ai réalisé une petite carte avec une porte logique. Le 5v nécessaire à la faire marcher peut-être prélevé ou bien sur le Dragon (un 5v est disponible) ou via le module USB.
Carte inverseuse
Carte inverseuse
DSC_3142l.jpg (55.06 Kio) Consulté 2088 fois
Schéma :
Schéma de principe
Schéma de principe
schema.png (15.19 Kio) Consulté 2088 fois
Il est évidemment possible de réaliser l’inversion d’une autre manière en utilisant d’autres composants.

Brochage du port imprimante ici.


Des limites ?

Les images disquettes "lisibles" avec DriveWire ne sont pas compatibles avec les images de jeux pour le Dragon téléchargées sur le net. C’est un des points sur lequel j’ai encore des problèmes de compréhension. Il y a apparemment (entre autres) des incompatibilités d’header… les explications techniques que j’ai pu lire sur les forums sont un peu trop complexes pour moi. (Peut-être pourrez-vous me donner des conseils, voir plus loin.)

Le logiciel DriveWire est lui aussi assez étrange. La V4 comme expliqué plus haut n’ pas voulu fonctionner (du moins, le lien n’a pas été établi entre le dragon et mon PC). Cette version est bourrée d’options opaques et de patchs divers développés par plein de gens. C’est également un point sur lequel j’ai encore des problèmes. Tout le monde y va de sa petite modif mais concrètement ça reste opaque.

Conseil pratique également : j’ai eu une série de plantages de la machine aléatoires avant/pendant/après le lancement du DOS. Après recherche, c’était mon téléphone portable posé pas loin qui « rayonnait » et qui perturbait ma pauvre machine (qui ne possède pas de blindage interne). Après avoir éteint le téléphone, zéro soucis ! Android 1 – Dragon 0. :mrgreen:


Ok, quelles sont concrètement les étapes ?

-réaliser les connexions hardware physiques (interface DW et câble audio) puis mettre sous tension les machines.
-démarrer et configurer DriveWire sur le PC (configuration de la liaison série, insertion des images disquettes)
-charger le DOS sur le Dragon via l’interface cassette / driveWire
-profiter du système via les commandes DOS qui vont bien !

Le DOS modifié dans sa première version était intégralement chargé par interface cassette. Très long ! Une nouvelle version permet de charger via cassette un bootloader « léger » associé à une image disquette spéciale contenant le reste. Concrètement, on charge le mini bootloader audio en quelques secondes, celui-ci exploite ensuite la liaison driveWire pour charger le reste via la liaison série. C’est cette méthode que nous allons évidemment utiliser.

A noter que le DOS spécial peut également être installé définitivement dans la machine via modification de l’EEPROM qui va bien.


Je veux en savoir plus !

Voici quelques liens en vrac :

http://archive.worldofdragon.org/index. ... =DriveWire
http://archive.worldofdragon.org/index. ... or_dummies
http://archive.worldofdragon.org/phpBB3 ... f=5&t=4224
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [TUTO] Interface DriveWire pour Dragon 32

Message par Falkor »

Allons y alors !

Connecter l’interface DriveWire sur le Dragon à l’aide d’une nappe 20 broches ou de fils dupont. Connecter ensuite le module USB-TTL sur le PC. Relever le numéro du port COM utilisé.

Lancer DriveWire 3 sur le PC. Cliquer sur le bouton du milieu pour configurer une machine Coco 2 @ 57600 bauds. Sélectionner le port COM correspondant au module USB – série TTL.

Dans le lecteur 0, insérer le fichier hdbboot.dsk. (l’image disquette du dos patché)

Dans les lecteurs 1 et 2, insérer par exemple les fichiers games_01.dsk et ARCAD01A.dsk
Configuration DW3
Configuration DW3
dv3.png (101.23 Kio) Consulté 2080 fois
Réveiller le dragon. Taper sur le basic :

CLEAR 200,&H5DFF pour réserver un emplacement mémoire
CLOADM pour charger un programme en langage machine via cassette.

A ce stade, la machine est en attente de données sur l’interface K7. Lancer la lecture du fichier « dw3dgnhdb.wav ». (Suppose que des essais de volume aient été effectués avant).
La lecture ne prend que quelques secondes. Une fois l’invite basic de retour, taper :

EXEC

pour lancer le bootloader. L’écran va normalement se remplir de points tandis que le log de DriveWire s’affole.

Si tout va bien, le Dragon renvoie la nouvelle invite DOS :
Le DOS chargé
Le DOS chargé
DSC_3135l.jpg (32.55 Kio) Consulté 2080 fois
C’est gagné !

En cas de problèmes, rebooter le dragon et recommencer. (Et coupez vos portables ^^)

Pour naviguer entre les différents lecteurs, taper DRIVE #n avec n le numéro de lecteur.
Faire un DIR pour lister les différents fichiers disponibles.

Le manuel du dos est ici.
Résultat DIR
Résultat DIR
DSC_3136l.jpg (33.28 Kio) Consulté 2080 fois

Les fichiers BIN se chargent avec la commande LOADM, les fichiers basic avec LOAD.

A noter que certains programmes BASIC ne s’exécutent pas car certains emplacements mémoire sont pris par le DOS (plantage de l’exécution sur une instruction CLEAR). Certains autres ne se chargent pas du tout. C’est également le cas de certains programmes en langage machine (*.BIN et *.RUN).
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [TUTO] Interface DriveWire pour Dragon 32

Message par Falkor »

Là où j’ai vraiment des soucis c’est que sur les sites d’abandonware les jeux disquettes sont au format VDK. Format malheureusement (et étrangement :roll: ) incompatible avec DriveWire, ce dernier ne lisant que le DSK ou OS9. Les deux seules images disquette que j’ai pu faire marcher sont celles indiquées dans le post précédent.

J’ai épluché les forums traitant du sujet, mais apparemment l’incompatibilité même si elle est reconnue ne semble pas inquiéter les foules. Pour le coup je ne vois pas trop l’intérêt de l’interface si on ne peut rien transférer… ?

http://archive.worldofdragon.org/phpBB3 ... f=5&t=4224
http://archive.worldofdragon.org/phpBB3 ... f=5&t=4968
http://archive.worldofdragon.org/phpBB3 ... f=5&t=5363

J’ai déniché sur une page un utilitaire VDK -> DSK qui effectue bien la conversion mais le fichier reste incompatible. Je n’ai pas eu le courage de lire les dizaines de pages consacrées au sujet. Disons que le fichier se charge, mais demander un DIR depuis la cible la fait généralement planter.

Donc pour l’instant j’ai bien réussi à mettre en place physiquement la manip, mais l’intérêt reste pour l’instant limité, n’ayant pas trouvé comment transférer les images disquettes…

Des idées ?
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17490
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [TUTO] Interface DriveWire pour Dragon 32

Message par fneck »

Je ne connaissais absolument pas cette interface.
Merci pour le tuto 8)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [TUTO] Interface DriveWire pour Dragon 32

Message par 6502man »

Inconnu pour moi aussi :o

Merci pour ce tuto :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Répondre