SDDRIVE (version GAL) - Contrôleur de carte SD

SDDRIVE est un périphérique pour tous les ordinateurs Thomson MO et TO (sauf le TO9).
Il remplace un contrôleur de disquette et deux lecteurs de disquettes 3"1/2 Thomson.
Les images de disquettes sont stockées dans une carte microSD sous forme de fichiers .sd.

SDDRIVE est le système idéal pour remplacer les disquettes Thomson par des fichiers sur carte microSD. Il peut sauver et restaurer vos programmes,
charger des jeux ou des logiciels éducatifs, tout comme les lecteurs de disquettes. Il permet aussi de jouer de la musique ou des vidéos en streaming,
c'est une application spectaculaire irréalisable avec les vraies disquettes et tous les autres systèmes de simulation de disquette par carte SD.

SDDRIVE est le successeur du contrôleur SDDISK.
Il est plus rapide et intègre l'interface avec la carte SD pour libérer le connecteur de la deuxième manette.

Par rapport à un contrôleur de disquette avec deux lecteurs 3"1/2 les avantages sont décisifs :

- Rapidité : La lecture et l'écriture des fichiers sont environ quatre fois plus rapides par rapport à une vraie disquette.
- Accès instantané : La carte SD permet la lecture en streaming de musique ou de vidéo.
- Capacité : Une seule carte SD peut contenir toute la logithèque Thomson (plusieurs centaines de disquettes).
- Fiabilité : Absence de mécanique, pas de pièce en mouvement, pas de support magnétique.
- Poids, encombrement, coût : Très inférieurs à ceux de deux lecteurs de disquettes Thomson.
- Economie : Pour les ordinateurs TO7, TO7/70, MO5, MO6 et PC128, SDDRIVE évite l'achat d'un contrôleur Thomson rare et coûteux.
- Media : Les cartes SD sont faciles à trouver, les disquettes ne sont plus fabriquées et difficiles à trouver en bon état.
- Transferts : Les ordinateurs modernes n'ont plus de lecteur de disquette, en revanche ils peuvent lire et écrire les cartes SD.
- Compatibilité Windows, MacOS, Linux, Android, etc. : Les transferts sont faciles et cent fois plus rapides.

Auteur : Daniel Coulom - Site internet : Emulateur DCMOTO - Dernière mise à jour le 6 avril 2022

previous Retour à la page Bricolage

sddrive

ATTENTION : Cette page est un document d'archive.
Elle concerne une ancienne version de SDDRIVE. La version actuelle est ici : version actuelle

Le matériel


Le contrôleur SDDRIVE est composé de circuits logiques, d'une EEPROM et d'un module d'interface avec la carte microSD.
• La version actuelle utilise un GAL (Generic Array Logic, circuit logique re-programmable) pour remplacer quatre circuits logiques de la version précédente.
• L'EEPROM contient les routines d'accès à la carte SD et les programmes de simulation du contrôleur de disquette Thomson.
• L'interface avec la carte microSD est fixée horizontalement à l'arrière et permet d'insérer facilement la carte.

Deux voyants donnent des informations sur l'état du système : La LED verte est un témoin d'alimentation et la LED rouge indique un transfert de données en lecture ou en écriture. Le schéma et le circuit imprimé sont régulièrement améliorés, les nouvelles versions peuvent être très légèrement différentes des photographies ci-dessous.

sddrivesddrive


Le contrôleur SDDRIVE se connecte au Minibus. Le minibus prolonge le connecteur d'extension de l'ordinateur Thomson et permet d'adjoindre à SDDRIVE un autre contrôleur Thomson, par exemple l'Extension Musique et Jeux Modèle 2 (SX90-018).
Il permet aussi d'utiliser un deuxième contrôleur au format "Minibus", par exemple SDSTREAM, le Synthétiseur de Paroles ou SX90-2018

minibus

Le schéma


SDDRIVE est en constante évolution. Il y a eu de nombreuses améliorations et une nouvelle version est encore à l'étude.
Le schéma ci-dessous correspond au modèle fabriqué actuellement.

schema

Versions précédentes : 20200118 - 20200110 - 20181104 - 20180107 - 20171208


Le programme de l'EPROM


Le programme stocké dans l'EPROM initialise la carte SD au démarrage de l'ordinateur, recherche sur la carte le programme sddrive.sel, le charge en mémoire et l'exécute. Il permet également de lancer sddrive.sel à la demande. C'est aussi l'équivalent d'un contrôleur de disquettes Thomson, avec les mêmes points d'entrée, en particulier boot, format et fonctions standard, mais aussi les routines de gestion du système de fichiers.

/**************************************************\
*           S D D R I V E _ C O N T R O L          * 
*           (c) 2021 - Daniel Coulom               *  
*           http://dcmoto.free.fr/                 *
*           http://forum.system-cfg.com/           *
*--------------------------------------------------*
* Ce code est distribue gratuitement dans l'espoir *
* qu'il sera utile, mais sans aucune  garantie  et *
* sans  engager  la  responsabilité  de  l'auteur. *
* Vous  pouvez  l' utiliser,  le  modifier  et  le *
* diffuser librement, en conservant cette  licence *
* et les références de l'auteur dans   toutes  les *
* copies. L'exploitation commerciale est interdite.*
\**************************************************/

* Ce programme emule un controleur de disquette
* Thomson accedant a une image au format .sd par
* l'intermediaire de l'interface SDDRIVE.

* Credits : Les routines de calcul de LBA sont des
* adaptations du code original de Samuel Devulder.

Ce programme évolue en permanence.
Version officielle actuelle : sddrive_20211122.zip
Versions précédentes : 20210719 20210212 20200918 20190824 20190626 20181109 20180930 20180702 20180524

Ces archives contiennent le fichier sddrive_control.bin (EPROM du contrôleur) et le fichier sddrive.sel à copier sur la carte SD.
Les sources sont disponibles sur demande dans le forum system-cfg (lien en bas de cette page).

Le programme sddrive.sel a été amélioré le 06/04/2022 : sddrive.sel_20220406
Cette nouvelle version peut remplacer l'ancienne pour les contrôleurs SDDRIVE récents (à partir de 2019).

sddrive

Préparation de la carte microSD


Les cartes utilisables sont les microSD (jusqu'à 2 Go) et microSDHC (jusqu'à 32 Go). Les microSDXC (plus de 32 Go) ne sont pas supportées.
Formatez la carte sur PC (ou Mac), en FAT ou en FAT32.
Choisissez la taille d'unité d'allocation la plus grande possible pour éviter le fractionnement du répertoire principal.

Copiez le fichier sddrive.sel dans la carte. C'est le programme permettant de sélectionner un fichier d'image de disquette au format .sd. Il est contenu dans la même archive que le programme de l'EPROM (voir au chapitre précédent). Pour un lancement plus rapide il est conseillé de copier sddrive.sel en premier après formatage de la carte, avant de copier les autres fichiers.

La version de sddrive.sel doit être compatible avec la version de l'EPROM (sddrive_control.bin). L'incompatibilité des deux programmes est une cause d'erreur fréquente. Dans le doute utilisez les fichiers sddrive.sel et sddrive_control.bin de même numéro de version.

Copiez ensuite les images de disquettes au format .sd. Ces fichiers peuvent être téléchargés à la section Programmes du site dcmoto, ou créés à partir d'un fichier .fd avec l'utilitaire FD2SD. Inversement une image de disquette au format .sd peut être transformée en fichier .fd avec l'utilitaire SD2FD.
Il peut arriver qu'un fichier .fd converti au format .sd ne fonctionne pas correctement avec SDDRIVE, à cause des protections contre la copie ou de l'appel direct au contrôleur de disquette Thomson. Dans ce cas n'hésitez pas à demander de l'aide dans le forum system-cfg, il y a des solutions dans tous les cas et nous les trouverons ensemble.

Notes :

- Si vous ne savez pas créer le fichier .sd à partir d'une version .fd ou .k7, il y a un sujet dédié dans le forum system-cfg.
Tous les jeux Thomson sur cassette peuvent être chargés avec SDDRIVE, soit en les convertissant au format disquette, soit en utilisant une sauvegarde au format .sd de l'émulateur dcmoto.

- Si vous ne savez pas utiliser un fichier .sd avec SDDRIVE (il ne se lance pas ou le programme se bloque), il y a une communauté d'utilisateurs prêts à vous aider dans le forum system-cfg.

- La carte microSD n'est pas protégée en écriture.
Une erreur dans un programme de l'ordinateur Thomson peut corrompre un fichier ou l'ensemble du système de fichiers.
Il est fortement conseillé de faire une copie de sauvegarde du contenu de la carte dans un répertoire du disque dur de votre PC (ou Mac).

- Le système SDDRIVE accède uniquement au répertoire principal.
Vous ne pouvez pas utiliser une arborescence de dossiers et sous-dossiers.

- Les fichiers ne doivent pas être fractionnés.
Si la carte vient d'être formatée il n'y a aucun risque. En cas de doute, reformatez la carte et recopiez les fichiers.


Sélection de la disquette au démarrage de l'ordinateur


sddrive

Après la mise sous tension de l'ordinateur, vous pouvez choisir le fichier le fichier image de disquette au format .sd utilisé par le système.
La procédure est fonction du modèle, mais il y a aussi de légères différences selon le numéro de version de l'EPROM.
En cas de difficulté pour lancer le programme de sélection, n'hésitez pas à demander de l'aide dans le forum system-cfg (lien en bas de la page) en précisant le modèle d'ordinateur et la version de sddrive.

- MO5, MO5E
L'écran SDDRIVE s'affiche automatiquement.
Choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE.
Le fichier choisi doit être l'image d'une disquette bootable, par exemple la disquette BASIC-DOS pour MO, ou une disquette d'application lancée par un secteur de boot (jeu, utilitaire ou démonstration).

- T9000, TO7 et TO7/70 en BASIC 1.0
Avec le T9000 et le TO7, l'extension mémoire de 16 Ko est obligatoire. A l'écran d'accueil lancez le BASIC 1.0 avec la fonction 1.
L'écran SDDRIVE s'affiche automatiquement. Choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE.
Le fichier choisi doit être l'image d'une disquette bootable, par exemple la disquette BASIC-DOS pour TO, ou une disquette d'application lancée par un secteur de boot (jeu, utilitaire ou démonstration).

- TO7/70 en BASIC 128
A l'écran d'accueil lancez le BASIC 128 avec la fonction 1.
Si un écran SDDRIVE incorrect s'affiche, appuyez sur la touche d'initialisation programme et recommencez.
Tapez la commande EXEC &HE025 pour lancer le programme de sélection SDDRIVE.SEL.
Choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE pour revenir au BASIC.
Lancez l'application suivant son type par EXEC &HE007, RUN"xxx" ou EXEC"xxx".

- MO5N, MO5NR, MO6, PC128
Si vous lancez le BASIC 128 avec la touche 1, si l'écran SDDRIVE ne s'affiche pas automatiquement tapez la commande EXEC &HA025 pour démarrer le programme de sélection.
Si vous lancez le BASIC 1.0 avec la touche 2, l'écran SDDRIVE s'affiche automatiquement.
Dans un cas comme dans l'autre, choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE. L'appui sur le bouton d'initialisation de l'ordinateur ne modifie pas la sélection.

Cas particulier : Avec certaines versions du MO6 ou du PC128, il arrive que le BASIC 1.0 ou 128 ne démarre pas.
Dans ce cas, après mise sous tension, tapez 1 à l'écran d'accueil, appuyez sur le bouton d'initialisation de l'ordinateur, tapez à nouveau 1 puis EXEC &HA025.


- TO8, TO8D, TO9+
Premier cas : Le lecteur de disquette est absent ou débranché.
Avec le TO8D ou le TO9+ on peut déconnecter la nappe et/ou l'alimentation du lecteur interne, ou encore ajouter un interrupteur à l'extérieur du boîtier pour mettre le lecteur hors tension. Il suffit de couper le fil 5V de l'alimentation.
Si vous lancez le BASIC 512 avec la touche 1, avec les versions de l'EPROM postérieures à juin 2019, l'écran SDDRIVE s'affiche automatiquement.
Sinon tapez la commande EXEC &HE025 pour démarrer le programme de sélection. Vous pouvez remplacer EXEC &HE025 par EXEC &HE007 si la disquette que vous avez prévu de sélectionner est bootable.
Si vous lancez le BASIC 1.0 avec la touche 2, l'écran SDDRIVE s'affiche automatiquement.
Dans un cas comme dans l'autre, choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE. L'appui sur le bouton d'initialisation de l'ordinateur ne modifie pas la sélection.

Deuxième cas : Le lecteur de disquette est connecté et sous tension.
Au démarrage le contrôleur interne est sélectionné automatiquement.
Pour choisir la disquette lancer le BASIC 512 (touche 1) ou le BASIC 1.0 (touche 2) et tapez les commandes suivantes pour sélectionner le contrôleur SDDRIVE et lancer le programme SDDRIVE.SEL :

POKE &HE7E7, &HD4
POKE &H6081, &HD4
EXEC &HE025

Vous pouvez remplacer EXEC &HE025 par EXEC &HE007 si le fichier .sd que vous avez prévu de sélectionner est l'image d'une disquette bootable.
Il est astucieux de mettre les trois commandes dans un programme AUTO.BAT copié sur la vraie disquette. A chaque démarrage elle se lanceront automatiquement, ce qui évitera de les taper.
A chaque appui sur le bouton d'initialisation de l'ordinateur, le contrôleur interne est sélectionné automatiquement. Il faut exécuter à nouveau les trois commandes pour accéder au contrôleur SDDRIVE.

- TO9
Le TO9 est incompatible avec le contrôleur nanoréseau et tous les contrôleurs externes de disquettes, y compris SDDRIVE.


Changement de disquette


sddrive

Certaines applications, en particulier quelques jeux commerciaux et quelques démonstrations, ne permettent pas le retour au BASIC, même en utilisant le bouton d'initialisation de l'ordinateur. Dans ce cas le seul moyen pour changer de disquette est de couper l'alimentation, attendre trois ou quatre secondes et remettre l'ordinateur sous tension.

Quand on peut revenir au BASIC, soit en fin de programme, soit en utilisant le bouton d'initialisation, il y a deux cas possibles :
- Si le contrôleur interne des TO8, TO8D ou TO9+ est sélectionné, il faut lancer à nouveau les trois commandes permettant d'accéder au contrôleur SDDRIVE. - Sinon il suffit d'un EXEC du programme de lancement de SDDRIVE.SEL.

Lancement de SDDRIVE.SEL pour MO:

CLEAR,&H4FFF
EXEC&HA025

Lancement de SDDRIVE.SEL pour TO:

CLEAR,&H9FFF
EXEC&HE025

Après sélection d'une disquette, le programme SDDRIVE.SEL retourne au BASIC. On peut alors lancer l'application, comme avec une vraie disquette.


Lancement d'une application


sddrive

Chaque disquette d'application, démonstration ou jeu est différente, il n'y a pas de règle générale. En résumé l'application peut nécessiter le Basic 1.0 ou le BASIC 128 ou 512, et démarrer par un secteur de boot, un programme AUTO.BAT ou une commande manuelle. En Basic 1.0 il est parfois nécessaire de charger le DOS avant de lancer l'application. Avec le nombre de combinaisons possibles, il n'est pas facile de recenser tous les cas.

La documentation, si elle existe, donne souvent la procédure à utiliser. Sinon il faut essayer l'un ou l'autre BASIC, le boot sur la disquette ou le lancement du programme AUTO.BAT.

En dernier recours le forum system-cfg peut être utilisé pour obtenir de l'aide, les meilleurs spécialistes Thomson le fréquentent et pourront répondre à toutes les questions.


Démonstrations et utilitaires


Pour tester le système vous pouvez lancer la démonstration SDDRIVE Music disponible ici --> SDDRIVE Music
Pour le TO7, le TO7/70 et le MO5 elle nécessite un contrôleur Musique et Jeux car il n'est pas intégré dans l'unité centrale.

sddrivemusic sddrivemusic


Deux démonstrations de vidéo en streaming ont aussi été réalisées --> SDDRIVE Vidéo et SDDRIVE Bad Apple
Pour le TO7, le TO7/70 et le MO5 elles nécessitent un contrôleur Musique et Jeux car il n'est pas intégré dans l'unité centrale.

sddrivevideo sddrivebadapple

Si vous voulez utiliser le BASIC 1.0 il est indispensable de sélectionner une disquette bootable, ou de charger le DOS en sélectionnant un fichier .sd contenant le DOS, disponible ici --> DOS 3"5. Vous pouvez aussi utiliser cette disquette pour stocker vos programmes personnels. Dans ce cas copiez la sous un autre nom, par exemple programmes_personnels.sd, avant de la mettre sur la carte SD.

dos basic dos basic

Une autre application de SDDRIVE est la création d'une "vraie" disquette Thomson sur TO8, TO8D ou TO9+.
L'utilitaire SDDRIVE_SD2DSK réalise cette fonction très simplement. SDDRIVE SD2DSK

sd2dsk sd2dsk

Performances


Quelques opérations courantes ont été chronométrées sur MO6 :
- Avec un contrôleur CD90-351 et un lecteur de disquette 3,5"
- Avec un contrôleur CS91-280 et un module SDMOTO
- Avec un contrôleur SDDRIVE.

Le tableau ci-dessous donne les résultats. Il montre la supériorité de l'émulation de disquette sur carte SD : toutes les opérations sont nettement plus rapides qu'avec la disquette réelle. A noter le temps très court pour un DSKINI. Il s'explique par le formatage "rapide" effectué dans ce cas : la carte SD étant déjà formatée par un PC, il suffit d'initialiser la table d'allocation et le répertoire principal stockés sur la piste 20, et d'effacer la piste 0. Les autres pistes ne sont pas modifiées.

=============================================
Temps comparés entre les contrôleurs sur MO6
- CD90-351 avec disquette 3,5 pouces
- CS91-280 avec interface SDMOTO et carte SD
- SDDRIVE avec interface SDDRIVE et carte SD
=============================================

Fonction               CD90-351   CS91-280   SDDRIVE 
--------------------   --------   --------   --------  
Charger MACH3             0:58       0:32      0:16
Charger SPACE RACER       0:25       0:15      0:11
Charger TURBO CUP         1:13       0:56      0:37        
DSKINI0                   0:35       0:02      0:01  
BACKUP0TO1                3:45       2:56      1:12 

Galerie de photos


Le premier prototype fonctionnel de l'interface avec la carte SD :
sddrive


Le prototype final (ancienne version) réalisé sur une plaque d'essai à trous métallisés :
sddrive sddrive sddrive


Selection et chargement de Flipper en 3 secondes :
sddrive sddrive


SDDRIVE connecté au MO5, avec l'extension Musique et Jeux
sddrive


SDDRIVE connecté au MO6
sddrive


SDDRIVE connecté au TO7/70, avec l'extension Musique et Jeux
sddrive


SDDRIVE connecté au TO8
sddrive


SDDRIVE-GAL connecté au MO5
sddrive


SDDRIVE version réduite avec un boîtier
sddrive

sddrive


Complément d'information

La source principale d'informations sur le projet SDDRIVE est le forum system-cfg : system-cfg
La liste des fils de discussion consacrés à SDDRIVE est donnée ici : SDDRIVE FAQ

Pour l'assistance à l'utilisation et la résolution des problèmes rencontrés, utilisez le fil de discussion : [Thomson] SDDRIVE, de préférence à tout autre moyen. Evitez en particulier les message privés pour que l'information reste accessible à tous, c'est très important.

Procédure pour obtenir un contrôleur SDDRIVE

Le système complet peut être fourni monté et testé, prêt à être utilisé.
Toutes les informations sont dans ce sujet du forum system-cfg : [Vente] SDDRIVE pour Thomson

La demande doit être faite dans le fil de discussion. Après accord et confirmation de la disponibilité du contrôleur, la participation aux frais d'achat des composants se fait par transfert d'argent sans frais entre proches via paypal.

N'envoyez pas d'argent sans dialogue préalable et respectez la procédure ci-dessus, pour éviter tout malentendu.

previous Retour à la page Bricolage