Auteur : Daniel Coulom -
Site internet : DCMOTO -
Dernière mise à jour le 15 novembre 2023
Retour à la
page Bricolage
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.
SDDRIVE est son propre contrôleur. Il ne nécessite pas de contrôleur de disquette Thomson. C'est un avantage considérable pour les
ordinateurs sans contrôleur interne comme le TO7, le TO7/70, le MO5, le MO6 et le PC128, car il évite l'achat d'un contrôleur externe
rare et coûteux.
SDDRIVE utilise des cartes microSD contenant des fichiers images de disquettes. SDDRIVE est plus rapide qu'un lecteur de disquette.
Les transferts dans les deux sens avec un système Windows, Linux, MacOS, Android ou autre sont très simples et presque instantanés.
Les cartes microSD sont beaucoup plus fiables que les disquettes. Contrairement aux disquettes elles sont encore fabriquées et se
trouvent facilement dans le commerce. Une seule carte microSD peut contenir plusieurs centaines de disquettes Thomson.
Nouveauté août 2023 : Nouvelle version permettant d'utiliser l'extension mémoire 512K comme RAMDISK
avec les MO5, MO6 et PC128.
Rappel : Vous pouvez réaliser vous-mêmes les bricolages du site dcmoto, les modifier, les améliorer, mais
l'auteur en conserve la propriété intellectuelle et interdit la vente et toute autre exploitation commerciale.
Il peut fournir un contrôleur SDDRIVE monté et testé (voir tout en bas de cette page).
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)
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.
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
Il est inutile de mettre SDDRIVE dans un boîtier, mais j'aborde le sujet car les utilisateurs posent souvent la question.
Il n'y a pas de boîtier officiel pour SDDRIVE.
Chacun est libre de fabriquer le sien à partir d'une boîte du commerce, ou de concevoir un modèle pour une imprimante 3D.
Le boîtier ci-dessous a été réalisé à partir d'une boîte en plastique 55*35*15mm achetée en Chine.
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. Cliquez sur l'image pour l'agrandir.
Versions précédentes : 20220412 - 20211013 - 20200118 - 20200110 - 20181104 - 20180107 - 20171208
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
Le fichier sddrive_control.bin a une taille de 2 Ko. Dans la version 64k il est répété 32 fois pour remplir entièrement une EEPROM W27C512.
Versions précédentes :
20210719
20210212
20200918
20190824
20190626
20181109
20180930
20180702
20180524
Dans ces versions le fichier sddrive_control.bin a une taille de 2 Ko. Il faut le répéter autant de fois que nécessaire pour remplir l'EPROM utilisée.
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).
![]() |
Une version expérimentale du contrôleur SDDRIVE a été développée pour utiliser
l'extension mémoire 512K des MO5, MO6 et PC128 comme disque virtuel en RAM (ramdisk). |
Le programme sddrive.sel est le premier fichier à copier dans la carte SD.
Il est appelé lors du premier accès à la carte pour permettre de sélectionner un fichier .sd dans le répertoire principal.
La version actuelle a été publiée le 08/07/2023 : sddrive.sel_20230708
Elle bénéficie de toutes les améliorations et corrections d'anomalies.
Elle n'est pas compatible avec les premières versions de l'EPROM (avant 2019). Pour celles-ci il faut prendre la version de sddrive.sel
distribuée avec le contenu de l'EPROM (voir plus haut "Le programme de l'EPROM").
Il y a aussi une variante du 16/09/2023 : sddrive.sel_20230916
Cette version a exactement les mêmes fonctions que la précédente, sauf la sélection du fichier .sd avec les manettes.
Les manettes ne sont plus testées pour éviter les conflits avec la souris.
Seules ces deux versions sont maintenues.
ATTENTION: Certaines anciennes versions comportent des erreurs corrigées depuis.
Il est fortement conseillé d'utiliser la version actuelle pour tous les contrôleurs SDDRIVE récents (à partir de 2019).
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, sauf si on crée une partition principale de moins de 32 Go. 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.
Le formatage est indispensable avant d'utiliser la carte pour éviter le fractionnement des fichiers.
SDDRIVE ne fonctionne pas avec un fichier .sd fractionné.
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, décrit 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 écrite sur l'étiquette (c'est la version du fichier 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, ou la dernière version de sddrive.sel pour les versions récentes de l'EPROM (à partir de 2019).
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 :
- Il y a deux types de fichiers .sd : les images de disquettes et les fichiers séquentiels.
Le premier type (image de disquette) est semblable à un fichier .fd, mais chaque secteur de 256 octets est complété par 256 octets $FF pour former un secteur de 512 octets. De plus il contient toujours quatre faces de disquettes. Sa taille est fixe (2560 Ko).
Le deuxième type (fichier séquentiel) n'a pas de structure de fichiers et sa taille est variable. Il est utilisé en particulier pour les applications de streaming (musique et vidéo) et pour la restauration sur les vraies machines de l'état de l'émulateur dcmoto. Il contient généralement un programme de lancement suivi de données.
- 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.
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 quatre flèches du clavier ou les quatre directions de la manette,
validez le choix par la touche ENTREE ou le bouton d'action. 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 quatre flèches du clavier ou les quatre directions de la manette,
validez le choix par la touche ENTREE ou le bouton d'action. 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
Lancez le BASIC 128 (option 1) ou le BASIC 1.0 (option 2), l'écran SDDRIVE s'affiche automatiquement.
Choisissez le fichier .sd avec les quatre flèches du clavier ou les quatre directions de la manette,
validez le choix par la touche ENTREE ou le bouton d'action.
A partir de la version 2023.02.03 de sddrive.sel, le nombre de fichiers .sd est limité à 273.
Avec les versions précédentes il était limité à 364, mais en BASIC 128 on ne pouvait pas dépasser 90.
Au delà il fallait sélectionner le fichier .sd en BASIC 1.0, puis appuyer sur le bouton d'initialisation
de l'ordinateur pour revenir à l'écran d'accueil et sélectionner alors le BASIC 128 (option 1).
- TO8, TO8D, TO9+
Premier cas : Le lecteur de disquette est absent ou débranché.
Avec le TO8, il suffit de mettre hors tension le lecteur de disquette.
Avec le TO8D ou le TO9+ on peut déconnecter la nappe et/ou l'alimentation du lecteur interne.
Si vous lancez le BASIC 512 avec la touche 1, l'écran SDDRIVE s'affiche automatiquement
avec les versions de l'EPROM postérieures à juin 2019.
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 elles 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.
Troisième cas : L'alimentation du lecteur de disquette peut être coupée avec un interrupteur.
La solution la plus pratique est d'ajouter un interrupteur accessible de l'extérieur du boîtier pour couper l'alimentation +5V du lecteur de disquette. Au démarrage de l'ordinateur le contrôleur SDDRIVE est sélectionné automatiquement si l'interrupteur est ouvert. S'il est fermé, le contrôleur interne de l'ordinateur est sélectionné et le lecteur de disquette est actif,
SDDRIVE n'est pas accessible.
- TO9
Le TO9 est incompatible avec le contrôleur nanoréseau et tous les contrôleurs externes de disquettes, y compris 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 à la fin d'un programme ou en utilisant le bouton d'initialisation,
une nouvelle disquette peut être sélectionnée en appelant le programme sddrive.sel :
Lancement de SDDRIVE.SEL pour MO:
CLEAR,&H4FFF EXEC&HA025
Lancement de SDDRIVE.SEL pour TO7 et TO7/70 :
Le contrôleur externe est toujours sélectionné. Il suffit d'appeler le programme de lancement de SDDRIVE.SEL
EXEC&HE025
Lancement de SDDRIVE.SEL pour TO8, TO8D et TO9+ :
Si le contrôleur interne est sélectionné, il faut lancer les deux commandes permettant d'accéder au contrôleur externe.
Ensuite on peut lancer SDDRIVE.SEL. Si le contrôleur externe est toujours sélectionné,
en particulier quand le lecteur de disquette n'est pas connecté, les deux premières commandes sont inutiles.
POKE &HE7E7, &HD4 POKE &H6081, &HD4 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.
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.
Pour enregistrer vos programmes et vos données il faut disposer de disquettes personnelles au format .sd.
La solution la plus simple est de copier le fichier basic-dos.sd et de le renommer (par exemple ma_disquette.sd).
Cette disquette fonctionnera avec tous les BASIC, car elle contient le DOS et le chargera automatiquement si nécessaire.
En sélectionnant le fichier ma_disquette.sd au menu d'accueil de SDDRIVE, vous disposez de quatre unités accessibles en lecture et en écriture.
Par défaut, l'unité sélectionnée est 0:. Vous pouvez accéder aux autres unités avec la commande DEVICE n:, ou n est le numéro de l'unité de 0 à 3.
Il faut être bien conscient que la carte SD n'est pas protégée en écriture. Une erreur de programme, une fausse manoeuvre ou
un problème matériel peuvent détruire votre disquette personnelle, il est donc impératif d'en faire régulièrement une copie de
sécurité sur un autre ordinateur ou une autre carte SD.
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.
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.
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.
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
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 SDDRIVE et une carte mémoire microSD
Le tableau ci-dessous donne les résultats. Il montre la supériorité de l'émulation de disquette avec SDDRIVE :
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, 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 - SDDRIVE avec carte mémoire microSD ============================================= Fonction CD90-351 SDDRIVE -------------------- -------- -------- Charger MACH3 0:58 0:16 ( 3 fois plus vite avec SDDRIVE) Charger SPACE RACER 0:25 0:11 ( 2 fois plus vite avec SDDRIVE) Charger TURBO CUP 1:13 0:37 ( 2 fois plus vite avec SDDRIVE) DSKINI0 0:35 0:01 (30 fois plus vite avec SDDRIVE) BACKUP0TO1 3:45 1:12 ( 3 fois plus vite avec SDDRIVE)
Le premier prototype fonctionnel de l'interface avec la carte SD :
Le prototype final (ancienne version) réalisé sur une plaque d'essai à trous métallisés :
Selection et chargement de La Mine aux Diamants en 5 secondes :
SDDRIVE connecté à quelques ordinateurs Thomson :
MO5SDDRIVE version réduite avec un boîtier
Evolution de SDDRIVE depuis sa création
La source principale d'informations sur le projet SDDRIVE est le forum 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.
Si vous ne savez pas fabriquer vous-même le contrôleur SDDRIVE, l'auteur propose de le monter bénévolement pour les membres du forum system-cfg.
Toutes les informations sont dans ce sujet : [Vente] SDDRIVE pour Thomson
La demande doit être faite en postant un message 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.
© 2023 - Daniel Coulom
contacter l'auteur