Interface SDMOTO pour carte microSD

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, mais elle est surtout utile en complément du contrôleur CS91-280, pour constituer un système simple et économique simulant un contrôleur et deux lecteurs de disquettes au format Thomson.

Auteur : Daniel Coulom - Site internet : Emulateur DCMOTO - Dernière mise à jour le 22 septembre 2016

previous Retour à la page Bricolage

Description de l'interface SDMOTO


interface

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.


sdmoto
boitier
boitier


Schémas de la version la plus simple et de la version en boîtier avec deux indicateurs lumineux :

schema schema

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.

Connexion de l'interface SDMOTO

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.

Le logiciel de démarrage SDBOOT (bootstrap loader)

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.

Préparation de la carte SD


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.

Les applications

Pour montrer les possibilités offertes par le projet SDMOTO, deux démonstrations de musique ont été programmées.

sdboot radioactivity elvis

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. D'autres démonstrations et applications vont suivre dans les prochains mois. Tous les développeurs qui utiliseront l'interface SDMOTO sont cordialement invités à diffuser largement leurs réalisations.

sd2disk disk2sd sdloadm5

Téléchargement :
Toutes les applications pour le module SDMOTO sont à la section Programmes du site dcmoto. Explorez la catégorie Utilitaires et cherchez SDMOTO.

L'émulation de disquettes

L'application la plus utile du module SDMOTO est la simulation d'un contrôleur et de deux lecteurs de disquettes sur carte SD, grâce au contrôleur CS91-280. On peut alors stocker sur la carte plusieurs milliers d'images de disquettes Thomson et y accéder comme si c'étaient des disquettes réelles. Pour plus de détails voir la page du projet CS91-280

cs91-280

cs91-280

Galerie de photos

module mo5 to8 mo5e mo6 to8 to9+

Complément d'information

La source principale d'informations sur le projet SDMOTO est system-cfg
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 "micro sd arduino", "dupont wire", "db9 female", "blue led".

En dernier recours il est possible d'obtenir l'interface SDMOTO prête à l'emploi. Les conditions vous seront données si vous en faite la demande dans le forum system-cfg. Voir ce fil de discussion. Le bouton ci-dessous "Faire un don" vous permettra alors de participer aux frais d'achat du matériel.

previous Retour à la page Bricolage