L'interface SDMOTO permet la liaison SPI entre une carte microSD ou microSDHC et tous les ordinateurs 8 bits Thomson. Elle se connecte à la place de la deuxième manette sur le connecteur intégré à l'ordinateur, ou à défaut sur le contrôleur musique et jeux SX90-018. Les logiciels développés pour SDMOTO permettent d'accéder physiquement aux secteurs de la carte en lecture et en écriture. Ils s'adaptent automatiquement à l'ordinateur utilisé (TO ou MO). L'interface SDMOTO peut être utilisée seule pour lire et écrire des données, ou pour transférer des disquettes dans les deux sens entre un ordinateur Thomson et un PC avec SDTRANSFERT. Elle est aussi l'accessoire indispensable des contrôleurs CS91-280 ou SDDISK, pour simuler un contrôleur et deux lecteurs de disquettes au format Thomson.
Auteur : Daniel Coulom - Site internet : Emulateur DCMOTO - Dernière mise à jour le 21 août 2020
Le module de droite est conçu pour connecter une carte microSD à un microcontrôleur.
On peut le commander facilement par internet pour environ 1 euro, frais de port inclus.
Il suffit de lui ajouter un adaptateur pour le connecter à la place de la deuxième manette
de tous les ordinateurs Thomson. La LED d'indication d'activité est facultative.
Cette version minimaliste de l'interface peut être améliorée en plaçant le module dans un boîtier
avec une LED témoin de mise sous tension et une LED témoin d'accès à la carte SD, comme le montrent
les photos ci-dessous.
Schémas de la version la plus simple et de la version en boîtier avec deux indicateurs lumineux :
Remarques importantes :
Avec le schéma de gauche, la LED choisie doit avoir une tension directe d'environ 3 Volts. C'est généralement
le cas pour les couleurs bleu et blanc. Par contre une LED rouge, verte ou jaune a une tension directe d'environ 2 V.
Cette tension est insuffisante. En cas de doute sur les caractéristiques de la LED, il vaut mieux la supprimer.
Une LED non conforme est la seule cause connue de non-fonctionnement de cette version de l'interface SDMOTO.
Dans le montage de droite, la LED de mise sous tension est alimentée directement par le +5V et la LED
d'activité est commandée par un transistor amplificateur. Il n'y a aucune contrainte sur le type de LED.
L'interface SDMOTO se connecte à la place de la deuxième manette de tous les ordinateurs Thomson.
Vu de l'extérieur, pour la plupart des ordinateurs et pour le contrôleur SX90-018, c'est le connecteur
le plus à droite. Pour le MO5E et le MO5NR, c'est le connecteur de gauche. SDMOTO ne fonctionne pas
avec le connecteur de la première manette.
L'interface SDMOTO remplace avantageusement l'ancien modèle TO8SD, et permet de faire fonctionner
tous les programmes et démonstrations développés pour TO8SD, à condition d'utiliser l'ancienne
version du programme de boot.
La meilleure façon d'utiliser l'interface SDMOTO est de l'associer à un contrôleur CS91-280.
Dans ce cas l'initialisation est automatique au démarrage de l'ordinateur, grâce au code contenu
dans l'EPROM du contrôleur (voir ci-dessous le paragraphe sur l'émulation de disquettes).
A défaut de contrôleur CS91-280, pour initialiser la carte SD en mode SPI et accéder à son contenu,
un programme unique est utilisable sur les MO comme sur les TO, à partir du MO5 et du TO7, jusqu'aux
MO6, TO8D et TO9+. Ce programme peut être chargé à partir d'une cassette, d'un QDD ou d'une disquette.
Le listing ci-dessous est l'une des premières versions de SDBOOT. Il est donné uniquement à
titre d'illustration, car il n'est plus compatible avec les dernières démonstrations.
Téléchargement : La dernière version de sdboot est fournie avec chaque démonstration
du module SDMOTO, à la section Programmes du site dcmoto. Cherchez SDMOTO dans la catégorie
Démonstrations.
1 '=================================== 2 ' SDBOOT - SDMOTO BOOTSTRAP LOADER 3 ' (C) JANVIER 2013 - DANIEL COULOM 9 '=================================== 10 CLEAR,&H8FFF:CLS:SCREEN0,8,8:LOCATE0,3 20 PRINT"SDBOOT 2013.01.15" 21 PRINT"Chargement du secteur de boot" 30 FORI=&H9F00 TO&H9FDF:READA$ 31 POKEI,VAL("&H"+A$):NEXTI 40 PRINT"Adresse du secteur dans la carte SD" 41 PRINT"(tapez 4 octets hexa. ex: 0004AA00)" 42 LOCATE0,8:INPUTA$ 50 POKE&H9FC0,VAL("&H"+MID$(A$,1,2)) 51 POKE&H9FC1,VAL("&H"+MID$(A$,3,2)) 52 POKE&H9FC2,VAL("&H"+MID$(A$,5,2)) 53 POKE&H9FC3,VAL("&H"+MID$(A$,7,2)) 60 CLS:PRINT:EXEC&H9F00:R=PEEK(&H9FC0) 62 PRINT"ERREUR INITIALISATION CARTE SD (";R;")" 69 END 70 DATA 34,76,1A,D0,CE,E7,CC,8E,1F,40,4F,E6,84,63,84,E1 71 DATA 84,27,0C,63,84,5F,F7,9F,BD,FD,9F,6C,CE,A7,CC,A7 72 DATA 42,CC,60,04,A7,C4,E7,42,8E,00,0A,8D,5E,30,1F,26 73 DATA FA,8E,9F,C5,8D,3D,81,01,26,34,8E,9F,CB,8D,34,5F 74 DATA 34,04,6A,E4,27,28,8E,9F,D1,8D,28,8D,26,26,F3,35 75 DATA 04,8E,9F,BF,8D,1D,8D,33,81,FE,26,FA,10,BE,9F,6C 76 DATA 8E,02,02,8D,26,A7,A0,30,1F,26,F8,7E,40,00,BF,9F 77 DATA BF,35,F6,C6,06,34,04,8D,12,A6,80,8D,1F,6A,E4,26 78 DATA F8,6A,E4,27,04,8D,04,2B,F8,35,84,86,FE,E6,C4,58 79 DATA C6,60,E7,C4,C4,DF,E7,C4,49,25,F2,39,C6,08,34,04 80 DATA 48,56,54,E7,C4,CA,20,E7,C4,C4,DF,E7,C4,6A,E4,26 81 DATA EF,CA,40,E7,C4,35,84,00,00,00,00,00,00,01,80,51 82 DATA 00,00,00,00,00,40,00,00,00,00,95,48,00,00,01,AA 83 DATA 87,77,00,00,00,00,65,69,40,00,00,00,77,00,00,00
SDBOOT demande de saisir l'adresse du secteur de boot de la carte SD,
pour le charger en début de mémoire vidéo et lancer son exécution.
Attention : SDBOOT n'est pas compatible avec les applications du projet TO8SD.
Ces anciens programmes peuvent fonctionner avec le nouveau module, mais ils doivent
encore utiliser les programmes de démarrage TO8BOOT et MO6BOOT.
Il n'est pas rigoureusement indispensable de formater la carte SD, mais c'est plus pratique pour y accéder
avec un PC. Il est conseillé de la formater en FAT16 ou en FAT32. Sur la carte il doit y avoir un ou plusieurs
secteurs de boot, qui seront appelés par le programme SDBOOT.
Un secteur de boot a une taille de 512 octets. Il contient un programme ayant pour fonction de charger et lancer
une application. En général cette application et les éventuelles données se trouvent dans les secteurs suivants
de la carte SD. La méthode la plus simple pour initialiser la carte est de créer sur PC un fichier binaire
contenant successivement :
- Le secteur de boot
- L'application à charger
- Les données éventuelles
Ce fichier est ensuite copié sur la carte, à une adresse physique déterminée par le système de gestion de fichier
de l'ordinateur. Il est indispensable que le fichier ne soit pas fragmenté : ce n'est pas un souci s'il reste
beaucoup d'espace disponible sur la carte, sinon il est conseillé de la formater à nouveau avant de copier le fichier.
Il faut ensuite déterminer l'adresse physique du premier octet du fichier. Elle vous sera demandée par SDBOOT.
Vous pouvez la trouver avec un outil d'analyse de disque, par exemple WinHex. Si vous utilisez Windows 7 ou suivants,
l'utilitaire BOOTADDRESS permet de l'afficher très simplement.
Pour montrer les possibilités offertes par le projet SDMOTO, deux démonstrations de musique ont été programmées.
Téléchargement :
Toutes les démonstrations pour le module SDMOTO sont à la section Programmes du site dcmoto. Explorez la catégorie Démonstrations et cherchez SDMOTO.
La carte SD permet aussi de faire des échanges de données entre un PC et les ordinateurs Thomson, en particulier des transferts de disquettes et des chargements rapides de jeux.
Téléchargement :
Toutes les applications pour l'interface SDMOTO sont à la section Programmes du site dcmoto.
Explorez la catégorie Utilitaires et cherchez SDLOADM5, SDLOADM6 et SDTRANSFERT.
L'application la plus utile de l'interface SDMOTO est la simulation d'un contrôleur et de deux lecteurs de disquettes sur carte SD, grâce au contrôleur SDDISK ou à son prédécesseur CS91-280. On peut alors stocker sur la carte plusieurs dizaines d'images de disquettes Thomson et y accéder comme si c'étaient des disquettes réelles.
La source principale d'informations sur le projet SDMOTO est
Vous pouvez y relire toute la genèse, depuis le premier prototype jusqu'aux développements actuels, et demander
de l'aide en cas de difficulté. Plusieurs fils de discussions donnent des instructions pas à pas pour l'utilisation
des applications, des jeux et des démonstrations, mais aussi pour la programmation des accès à la carte SD.
Pour les développeurs d'applications et de démonstrations, un document spécial donne plus de détails sur la programmation du système, avec des exemples de programmes : demos
Chacun peut se procurer directement les composants nécessaires à la construction de l'interface, en particulier le module Catatalex pour carte micro SD, sur un site d'enchères bien connu : cherchez "sd spi", "dupont wire", "db9 female", "blue led", avec l'option "monde entier".
© 2018 - Daniel Coulom