La grande nouveauté de SDDRIVE est la génération de l'horloge SPI par un circuit de décodage d'adresse. Par rapport au contrôleur CS91-280, le signal d'horloge ne nécessite plus d'instructions d'écriture en mémoire et économise ainsi des cycles du processeur. Le débit de la transmission est porté de 5800 octets/seconde à 20000 octets/seconde. L'interface avec la carte SD n'utilise pas le PIA 6821 de l'extension musique et jeux et peut ainsi être intégrée dans le même boîtier que le contrôleur, lui-même relié par une nappe souple au connecteur d'extension de l'ordinateur.
Auteur : Daniel Coulom - Site internet : Emulateur DCMOTO - Dernière mise à jour le 6 août 2018
ATTENTION : Cette page est un document d'archive.
Elle concerne une ancienne version de SDDRIVE.
La version actuelle est ici : version actuelle
Le contrôleur SDDRIVE se connecte par une nappe à quarante fils au port d'extension de l'ordinateur Thomson.
Plusieurs modèles, en particulier le MO5, le MO6 et le TO8 n'ayant qu'un seul port d'extension,
un connecteur a été ajouté sur la nappe de SDDRIVE pour permettre l'utilisation d'un autre contrôleur.
La carte microSD est insérée à l'arrière du boîtier. 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 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) 2018 - 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.
La dernière version est ici : sddrive_control
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
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éées à 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.
Notes :
- La carte microSD n'est pas protégée en écriture.
Il est fortement conseillé d'en faire une sécurité en copiant tout son contenu 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 à partir de la copie de sécurité.
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 :
- MO5, MO5E
Avec la plupart des cartes SD l'écran SDDRIVE s'affiche automatiquement.
Avec d'autres cartes on arrive à l'écran d'accueil du BASIC 1.0,
il faut taper la commande DOS et la touche ENTREE pour afficher l'écran SDDRIVE.
Choisissez le fichier .sd avec les flèches du clavier et validez ce choix par la touche ENTREE.
La disquette choisie doit être bootable, par exemple la disquette BASIC-DOS pour MO,
ou un programme lancé par un secteur de boot.
- T9000, TO7 et TO7/70
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 du menu d'accueil.
L'écran SDDRIVE s'affiche automatiquement. Choisissez le fichier .sd avec les flèches du clavier et
validez ce choix par la touche ENTREE.
La disquette choisie doit être bootable, par exemple la disquette BASIC-DOS pour TO,
ou un programme lancé par un secteur de boot.
- MO5N, MO5NR, MO6, PC128
Si vous lancez le BASIC 128 avec la touche 1, tapez la commande EXEC &HA007 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.
- TO8, TO8D, TO9+ sans lecteur de disquette
Avec le TO8, le lecteur externe doit être débranché ou éteint. Avec le TO8D ou le TO9+ il faut en plus débrancher le lecteur interne.
Si vous lancez le BASIC 512 avec la touche 1, tapez la commande EXEC &HE007 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.
- TO8, TO8D, TO9+ avec lecteur de disquette
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 EXEC &HE007
A chaque appui sur le bouton d'initialisation de l'ordinateur le contrôleur interne est sélectionné
automatiquement, il faut taper la commande POKE&HE7E7,&HD4 pour accéder à nouveau au contrôleur SDDRIVE.
- TO9
Le TO9 est incompatible avec tous les contrôleurs externes de disquettes et avec 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 une dizaine de 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, on peut appeler le programme SDDRIVE.SEL en tapant deux commandes BASIC. Si le contrôleur interne des TO8, TO8D ou TO9+ est sélectionné, il faut au préalable taper la commande POKE&HE7E7,&HD4 pour accéder à nouveau au contrôleur SDDRIVE.
Lancement de SDDRIVE.SEL pour MO:
CLEAR,&H4FFF EXEC&HA025
Lancement de SDDRIVE.SEL pour TO:
CLEAR,&H8FFF 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 tester le système vous pouvez lancer la démonstration SDDRIVE Music disponible ici -->
SDDRIVE Music
Elle nécessite le contrôleur Musique et Jeux s'il n'est pas intégré dans l'unité centrale (c'est le cas des TO7, TO7/70 et MO5).
Une autre démonstration, SDDRIVE Vidéo, est disponible ici -->
SDDRIVE Vidéo
Elle nécessite aussi le contrôleur Musique et Jeux s'il n'est pas intégré dans l'unité centrale
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
Le premier prototype fonctionnel de l'interface avec la carte SD :
Le prototype final réalisé sur une plaque d'essai à trous métallisés :
Selection et chargement de Flipper en 3 secondes :
SDDRIVE connecté au MO5, avec l'extension Musique et Jeux
SDDRIVE connecté au TO7/70, avec l'extension Musique et Jeux
SDDRIVE connecté au MO6
SDDRIVE connecté au TO8
Fabrication de SDDRIVE
La source principale d'informations sur le projet SDDRIVE est le forum system-cfg :
Vous pouvez y relire toute la genèse et participer à la discussion ici : [Thomson] SDDRIVE
Une nouvelle version du schéma a été mise au point, pour corriger les quelques (rares) anomalies constatées par les premiers utilisateurs. La première version décrite ci-dessus n'est plus diffusée.
© 2018 - Daniel Coulom
contacter l'auteur