CS91-280 - Contrôleur de carte SD pour interface SDMOTO ou SDMO

Le contrôleur CS91-280, associé à l'interface SDMOTO ou SDMO,
permet de simuler un contrôleur et deux lecteurs de disquette 3"1/2
pour tous les ordinateurs 8 bits Thomson (MO ou TO, sauf le TO9).
Les disquettes, sous forme de fichiers copiés sur la carte SD, sont
accessibles en Basic ou en langage machine. Toutes les applications et
tous les jeux sur disquette peuvent être lancés à partir de la carte SD.

Les interfaces SDMOTO et SDMO permettent à tous les ordinateurs Thomson d'accéder aux secteurs physiques d'une carte mémoire microSD. Le contrôleur CS91-280 ajoute la logique nécessaire pour simuler un contrôleur et deux lecteurs de disquettes, totalement compatibles avec le format des disquettes Thomson. Les disquettes sont remplacées par des fichiers copiés sur la carte SD. C'est le système idéal pour tous les utilisateurs, en particulier les joueurs et les développeurs. Il est très facile à réaliser. La version "boîtier nanoréseau" ne nécessite aucune soudure. La simplicité d'utilisation et le coût réduit du contrôleur CS91-280 sont des avantages décisifs par rapport aux autres systèmes. C'est le seul choix possible si l'ordinateur n'est pas équipé d'un contrôleur de disquette Thomson.

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

previous Retour à la page Bricolage

Le matériel : contrôleur CS91-280 et interface SDMO ou SDMOTO


Le système de simulation de disquette sur carte SD est composé de deux périphériques :

- Le contrôleur CS91-280 connecté au port d'extension de l'ordinateur. Il simule un contrôleur de disquette Thomson.


cs91280


- L'interface avec la carte SD : SDMO pour le connecteur magnétophone du MO5, ou SDMOTO pour le connecteur manette de tous les ordinateurs Thomson.


sdmo     sdmoto


Le logiciel du contrôleur est stocké dans une EPROM. Il permet d'initialiser la carte SD et de simuler un contrôleur de disquette avec deux lecteurs en ligne, soit 4 unités Thomson (4 faces de disquettes), pour un total de 1280 Koctets. Ce nombre se retrouve dans l'identification CS91-280 : CS9 signifie "Contrôleur de carte SD", tout comme CD9 signifie "Contrôleur de disquette" dans CD90-015, CD90-640 ou CD90-351.

L'EPROM du contrôleur a une taille de 4Ko, elle est composée de deux banques de 2Ko. La banque 0 contient la version pour SDMOTO et la banque 1 contient la version pour SDMO. Elles sont vues par l'ordinateur aux mêmes adresses qu'un contrôleur de disquette Thomson. La banque visible par le système est sélectionnée par un commutateur à deux positions.

On peut construire le contrôleur CS91-280 à partir d'un circuit imprimé, ou utiliser un contrôleur nanoréseau et changer l'EPROM.

Construction du contrôleur CS91-280 avec un circuit imprimé


Le schéma de gauche est celui des circuits imprimés de version 2016-01, 2016-02, 2016-11 et 2017-04. Après épuisement du stock, à partir de la version 2017-09, il est remplacé par le schéma de droite, avec deux circuits logiques 74LS00 identiques en remplacement des 74LS04 et 74LS10.


cs91280-2016_schema     cs91280-2017_schema


Le circuit imprimé est prévu pour une EPROM 2732 en boîtier DIL24. Une EPROM de plus grande capacité en boîtier DIL28 ne convient pas.
Un commutateur à deux positions permet de configurer le contrôleur pour SDMOTO ou SDMO.


cs91280_pcb_nu


Tous les composants sont bon marché et faciles à trouver, sauf le connecteur "nez de carte" 2x19 contacts. On peut encore se le procurer chez quelques revendeurs pour professionnels, mais à des prix trop élevés. J'utilise un connecteur 2x20 contacts disponible sur ebay (chercher industrial card edge connector). Après avoir enlevé deux broches au milieu, il faut le scier pour enlever cette paire de contacts et raccorder les deux morceaux après les avoir ajustés à la lime.
Le connecteur est écarté du circuit imprimé par des surépaisseurs aux quatre angles. Sous le connecteur il subsiste un espace d'environ 1 mm, il ne faut pas chercher à le supprimer.
Bien observer sur la photo la position et l'orientation des circuits intégrés. Dans la première version du schéma, les deux petits circuits logiques ne doivent surtout pas être inversés. Insérer l'EPROM et les deux circuits intégrés dans leurs supports avec beaucoup de précautions pour ne pas tordre les pattes.

Le contenu de la dernière version de l'EPROM est ici : cs91280_20160902.zip

Il est possible d'obtenir les fichiers de définition du circuit imprimé, ou le circuit imprimé, ou une EPROM prête à l'emploi, ou un kit complet pour fabriquer le contrôleur. Consultez le dernier paragraphe en bas de cette page.


Construction du contrôleur CS91-280 avec un boîtier nanoréseau


Les contrôleurs nanoréseau ont été produits par Thomson a plusieurs centaines de milliers d'exemplaires. La plupart des collectionneurs en ont plusieurs et ne les utilisent pas. On les trouve occasionnellement dans les sites de vente.

cs91280

La préparation du contrôleur consiste à ouvrir le boîtier (4 vis), changer l'eprom, refermer le boîtier, coller une étiquette. On ne peut pas faire plus simple.

Pour retirer l'ancienne EPROM, utilisez un outil spécial pour l'extraction des circuits intégrés. A défaut un petit tournevis, manipulé avec précaution, permet de soulever tour à tour, progressivement, les quatre coins, et d'enlever ensuite le circuit sans tordre les pattes.

Vérifiez avec attention la position et le sens de la nouvelle EPROM. Le repère (ou encoche) sur le boîtier DIL24 ou DIL28 doit être du côté du petit circuit intégré DIL16, marqué NR V3. Les boîtiers DIL24 doivent laisser 4 trous libres du côté du repère. En l'insérant à sa place, assurez-vous que les pattes sont toutes centrées sur les trous et appuyez doucement sans trop forcer. Attention de ne pas tordre les pattes.

eprom_1    eprom_2

Le connecteur d'eprom du contrôleur nanoréseau permet d'utiliser des modèles DIL24 ou DIL28. On peut donc utiliser les eproms originales de type Am2732 ou Am2732B, mais aussi des 2764, 27128, 27256, 27C32, 27C64, 27C128, 27C256, 27C512...
On peut aussi utiliser des EEPROM compatibles, par exemple Atmel AT28C64B ou Winbond W27C512. Elles ont l'avantage d'être effaçables électriquement par le programmateur, donc sans lampe à ultra-violets.
Si vous n'êtes pas équipé pour programmer l'EPROM, vous pouvez utiliser le service proposé tout en bas de cette page.

La dernière version du contenu de l'eprom est ici : cs91280_20160902.zip

Le fichier binaire a une taille de 4 Ko. Il faut le reproduire autant de fois que nécessaire pour remplir toute l'eprom.
Une fois pour une 2732, deux fois pour une 2764, quatre fois pour une 27128 et huit fois pour une 27256.

Pour distinguer le contrôleur modifié du contrôleur original, il est conseillé de coller cette étiquette sur la face supérieure :

etiquette

Un interrupteur accessible à l'arrière du contrôleur est utilisé pour choisir la banque visible par le système : c'est l'interrupteur numéroté 7 parmi les huit disponibles. La position ON sélectionne la banque 0 (pour l'interface SDMOTO) et la position OFF sélectionne la banque 1 (pour l'interface SDMO). Attention, en cas d'erreur de positionnement le système ne fonctionne pas, il est important de bien vérifier la position de cet interrupteur.

switches

Préparation de la carte SD


ATTENTION : Si vous utilisez une version de l'EPROM antérieure à décembre 2014, la préparation de la carte SD est différente. Consultez la version archivée

Commencez par formater la carte SD sur PC (ou Mac), en FAT ou en FAT32 selon sa taille. La version 2014.08.28 de l'EPROM impose une petite contrainte : l'adresse physique du fichier BOOT.SD, exprimée en secteurs, doit tenir sur 16 bits, donc ne pas dépasser FFFF en hexadécimal. Pour que cette contrainte soit respectée, il faut avoir une taille d'unité d'allocation assez grande. Il est conseillé de choisir au moins 16 Ko. Pour les cartes de grande capacité (16 Go et 32 Go), il est préférable d'utiliser des unités d'allocation de 32 Ko ou 64 Ko, à spécifier dans les paramètres de formatage.
Copiez ensuite les fichiers "images de disquettes" dans la carte. Le premier fichier doit obligatoirement s'appeler BOOT.SD, il contient l'image de disquettes à monter automatiquement au démarrage de l'ordinateur. Il est impératif de placer ce fichier en tête du répertoire principal et de s'assurer que les fichiers ne sont pas fractionnés. Si la carte vient d'être formatée, les deux conditions sont toujours remplies.

Ce fichier BOOT.SD doit contenir le DOS pour TO ou MO si on compte utiliser le BASIC 1.0. Avec le BASIC 128 ou 256 le DOS n'est pas nécessaire, le fichier BOOT.SD peut être vide. Plus tard il pourra être modifié, par exemple pour y ajouter des programmes, mais il faut qu'il reste en tête du répertoire. Il suffit de ne pas changer sa taille ni son nom.

Les fichiers images de disquettes placés sur la carte ont tous une taille de 2560 Ko. Leur extension par défaut est .sd. Quelque-uns sont disponibles ici :


L'intérêt majeur du système est de permettre la création d'un fichier .sd à partir de n'importe quel fichier .fd du site dcmoto. L'utilitaire fd2sd permet de réaliser la conversion : il suffit de copier fd2sd.exe dans un répertoire contenant des fichiers .fd et de le lancer. Chaque fichier .fd sera converti ou non selon la réponse "OUI" ou "NON" à la boîte de dialogue.

fd2sd_1 fd2sd_2

Pour simplifier encore l'utilisation du système CS91-280, des fichiers .sd tout prêts sont ajoutés progressivement au site dcmoto, à la page de chacun des programmes convertis pour utilisation sur carte SD.

L'utilitaire sd2fd permet de réaliser la conversion inverse : il transforme un fichier .sd en fichier .fd, utilisable avec l'émulateur dcmoto.

Vous pouvez télécharger cette archive contenant les deux utilitaires --> fd2sd-sd2fd_20170811.zip


Utilisation du simulateur de disquette


Ordinateur hors tension (impératif), connectez le contrôleur CS91-280 à un port d'extension de l'ordinateur Thomson, et mettez en place l'une des interfaces carte SD :

- SDMOTO utilise le connecteur de la deuxième manette : à droite vu de l'extérieur de l'ordinateur pour la plupart des ordinateurs et le contrôleur SX90-018, à gauche pour le MO5E et le MO5NR. S'il n'y a pas de contrôleur musique et jeu intégré à l'unité centrale, il faut utiliser le contrôleur externe SX 90-018. Le MO5 n'a qu'un seul connecteur d'extension, il lui faut donc un doubleur de bus, un megabus Peritek ou un module d'extension MO5. Ce n'est pas nécessaire pour tous les autres ordinateurs Thomson.

- SDMO est utilisable avec le MO5, le MO5E et le MO5NR. Il se connecte au port magnétophone, avec le fil d'alimentation dans la broche 5 du connecteur du crayon optique.

switches     commutateur

L'interrupteur 7 du boîtier nanoréseau sélectionne la banque 0 ou 1 de l'eprom : position "ON" pour SDMOTO et "OFF" pour SDMO. Dans la version sur circuit imprimé, il est remplacé par un commutateur à glissière. N'oubliez pas de le positionner en fonction de l'interface utilisée. Mettez ensuite le système sous tension. Après le démarrage, l'image de disquettes BOOT.SD est accessible. Rappelons qu'elle contient quatre unités de disquette, numérotées de 0 à 4. Il y a différents cas possibles selon la configuration utilisée :

Les interfaces SDMOTO et SDMO ne comportent pas de dispositif de protection d'écriture. Il y a donc un risque d'écrasement des informations stockées sur la carte SD en cas de fausse manoeuvre ou d'erreur de programme. Il est conseillé d'avoir toujours une sécurité des fichiers importants.

A la mise sous tension de l'ordinateur seule l'image de disquette nommée BOOT.SD est accessible, mais le nombre de disquettes utilisables est infini. Voir au paragraphe suivant comment changer de disquette.

On peut aussi, après avoir initialisé la carte SD avec le contrôleur CS91-280, accéder physiquement au contenu de toute la carte SD sans utiliser le système de simulation de disquette. Les accès peuvent ainsi être beaucoup plus rapides, par exemple pour les démonstrations de musique ou de vidéo. Vous pouvez utiliser le forum system-cfg pour aborder ces utilisations avancées du système.


Changement de disquette


Le programme SDSEL a été développé pour permettre de changer facilement de disquette. Il explore le répertoire principal de la carte SD, affiche tous les fichiers de la carte et permet de sélectionner le fichier désiré. Ensuite il calcule l'adresse physique et monte la disquette. En stockant ce programme dans la disquette BOOT.SD, on peut donc accéder à toutes les images de disquettes contenues dans les fichiers .sd.

sdsel

Le lien pour télécharger BOOT_SDSEL est donné au paragraphe "Préparation de la carte SD". L'archive contient trois versions du fichier boot.sd avec l'application SDSEL. L'une contient le DOS pour MO (à utiliser en Basic 1.0 sur MO), la deuxième contient le DOS pour TO (à utiliser en Basic 1.0 sur TO), la troisième ne contient pas le DOS (à utiliser en Basic 128 ou 512 sur MO ou sur TO). Pour être utilisée, la disquette choisie doit être renommée boot.sd

Cette disquette boot.sd contient un programme AUTO.BAT pour lancer SDSEL.BAS. La sélection est effectuée par le programme SDSEL.BIN. Les sources sont fournies dans l'archive. Voir en particulier les commentaires donnant les limitation du système en nombre de fichiers selon le type de formatage (FAT16 ou FAT32) et la taille de l'unité d'allocation choisie lors du formatage de la carte SD.

Pour effectuer la sélection, taper B au menu du TO8 ou 1 au menu du MO6 pour lancer AUTO.BAT. Sélectionnez le fichier désiré avec les flèches bas et haut, validez avec Entrée.

Quand la disquette choisie est montée, le programme tente d'afficher son répertoire (s'il y a une structure de fichiers Thomson). Le lancement dépend ensuite de l'application : en général RUN"AUTO.BAT" ou RUN"nom-de-programme", ou encore EXEC... pour les programmes en langage machine ou les disquettes bootables. Certaines disquettes nécessitent un lancement en Basic 1.0. Reportez-vous à la documentation de l'application ou demandez de l'aide en cas de difficulté.

L'adresse physique du fichier .sd utilisé est stockée en $208E-$2091 (ordinateur MO) ou $608E-$6091 (ordinateur TO). On peut aussi, sans utiliser SDSEL, la modifier par soft, et y mettre l'adresse d'un fichier .sd quelconque. C'est le numéro du premier secteur pour les cartes SDHC, ou le numéro du premier octet pour les cartes SD. Cette opération peut se faire par quatre POKE en Basic, elle a pour effet de changer l'image de disquette vue par le système.

Les méthodes de détermination de l'adresse physique d'un fichier sont décrites dans la version archivée de ce document.


Performances


Quelques opérations courantes ont été chronométrées sur MO6, d'une part avec un contrôleur CD90-351 et un lecteur de disquette 3,5", d'autre part avec un contrôleur CS91-280 et un module SDMOTO. 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é par le contrôleur CS91-280 : 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
============================================

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

Galerie de photos


mo5

mo6

to7/70

to8

mo5e

mo5

mo5e

eprom

dcmo

Complément d'information

La source principale d'informations sur le projet CS91-280 est le forum system-cfg : system-cfg
Vous pouvez y relire toute la genèse et demander de l'aide en cas de difficulté.

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

Si vous ne disposez pas du matériel pour effacer et reprogrammer l'EPROM, il est possible d'en obtenir une prête à l'emploi. Il est également possible d'obtenir le circuit imprimé et les autres composants sous forme de kit à monter soi-même. Consultez le sujet "Contrôleur CS91-280 pour Thomson" à la rubrique Bricolage du forum system-cfg. En particulier ce post.

pcb
kit pcb
sdmoto sdmo


En cas de demande de matériel une contribution aux frais est possible en utilisant le bouton ci-dessous.

previous Retour à la page Bricolage