SDLEP-READER TFT, remplace tous les lecteurs de cassette d'ordinateurs

SDLEP-READER TFT est un montage électronique à base d'Arduino. Il permet de remplacer les magnétophones d'ordinateurs de collection en utilisant des fichiers "images de cassettes" stockés dans une carte microSD. La carte peut contenir un nombre presque illimité de fichiers, sélectionnables grâce à un écran tactile. Ce système fonctionne pour toutes les cassettes, protégées ou non contre la copie, avec pratiquement tous les ordinateurs de collection. Il permet uniquement la lecture et pas l'enregistrement.

Auteurs : Daniel Coulom, Andrea Ottaviani, Cyril Catalanotto - Site internet : Emulateur DCMOTO - Dernière mise à jour le 2 avril 2023

previous Retour à la page Bricolage


sdlep-tft

Avertissement


SDLEP-TFT permet de remplacer une cassette par une carte SD. Il apporte une plus grande fiabilité mais ne change pas la vitesse de chargement des fichiers. Elle reste désespérément lente et insupportable de nos jours. SDLEP-TFT est un projet intéressant mais difficile, à cause de la variété des écrans TFT compatibles avec l'Arduino. Le choix des bonnes bibliothèques et des bons paramètres n'est pas à la portée de tous.

Si l'aventure vous tente, lancez-vous. Si votre objectif est seulement de charger des jeux facilement et rapidement, ou de développer de nouveaux programmes, ce n'est pas le bon choix. Pour les ordinateurs Thomson il existe des solutions simples et performantes, en particulier SDDRIVE (à retrouver à la page Bricolage du site dcmoto).

Historique


SDLEP-READER TFT est une version améliorée du projet SDLEP-READER.

Avec SDLEP-READER, sept interrupteurs permettent de choisir la cassette à charger. Avec SDLEP-READER TFT, les interrupteurs sont remplacés par un écran tactile. Il permet de lister les fichiers de la carte SD et de choisir en pointant du doigt sur une ligne de l'écran.

C'est une réalisation d'Andrea, un utilisateur d'Olivetti Prodest PC128. Il a modifié le programme de SDLEP-READER pour en faire cette nouvelle version, beaucoup plus simple d'utilisation que la précédente. Je le remercie chaleureusement pour ce développement remarquable.

En 2019, avec SDLEP TFT+, Cyril a largement amélioré le programme en affichant tous les messages dans l'écran de sélection du fichier et en ajoutant une barre de progression.

En 2021, SDLEP TFT a été simplifié en abandonnant l'utilisation des fonctions de la bibliothèque SimpleSDAudio. Elle est remplacée par SdFat pour trouver le numéro de bloc de début de fichier et pour lancer la commande de lecture multi-blocs. Ensuite la lecture du fichier .lep utilise uniquement les fonctions SPI du microcontrôleur. La présentation de l'écran est un peu améliorée.

Le format des fichiers .lep et l'algorithme de décodage pour envoyer les données à l'ordinateur n'ont pas été modifiés. Leur description se trouve dans la documentation de l'ancien projet SDLEP-READER.

Le matériel


Le coeur du système est un Arduino Uno, à base de processeur Atmega 328, fonctionnant à 16 MHZ avec une tension de 5V. Il est relié par quatre fils à l'ordinateur : GND et +5V pour l'alimentation, TX et RX pour la communication. En sortie TX permet d'envoyer les données à l'ordinateur, en entrée RX reçoit la commande du moteur (télécommande).

Chaque ordinateur nécessite un câble spécifique. Reportez-vous à la documentation de l'ordinateur pour le réaliser. Il faut trouver la masse, le +5V, l'entrée des données cassette, la sortie de télécommande du magnétophone. Si l'ordinateur ne permet pas de commander le moteur du magnétophone, connectez l'entrée RX de l'Arduino à la masse, les données seront transmises sans interruption.

Une LED est connectée d'une part à la sortie analogique A5, d'autre part à la masse par une résistance de 2K. C'est le témoin d'activité du système pendant la transmission des données, exactement comme dans l'ancien projet SDLEP-READER.

Si une tension régulée de 5V n'est pas disponible, il est aussi possible d'alimenter l'Arduino avec une tension non régulée de 7 à 12V en utilisant le connecteur d'alimentation situé à côté du connecteur USB. Le pôle positif est au centre.


sdlep-tft


L'écran est un module (appelé "shield" dans la plupart des descriptions) conçu spécialement pour l'Arduino UNO. C'est un circuit imprimé avec des broches compatibles avec les connecteurs de l'Arduino UNO, équipé d'un écran tactile couleur de résolution 320x240 et d'un connecteur pour une carte microSD. On trouve beaucoup de modèles différents par la taille de l'écran (de 2.4" à 2.8") et par son contrôleur (plus d'une douzaine de références).


sdlep-tft


Le programme de l'Arduino


Le programme de l'Arduino (sketch ou croquis, selon la dénomination usuelle) doit être adapté au module de l'écran, car tous n'ont pas le même brochage et le même contrôleur. Vous trouverez ci-dessous le croquis d'Andrea pour son écran 2.8" et l'adaptation pour mon écran 2.4" (Il a exactement les mêmes fonctions mais le contrôleur est différent, la surface tactile n'a pas le même brochage et l'axe des Y est inversé).

Version originale d'Andrea pour un écran 2.8" avec contrôleur ILI9341 : sdlep-tft-aotta_20190216.ino.
Version originale de Daniel pour un écran 2.4" avec contrôleur ST7783: sdlep-tft-daniel_20190224.ino.
Version adaptable aux contrôleurs ST7783, ILI8325, ILI9341, HX8347 : sdlep-tft_20190327.zip.
Version TFT+ améliorée par Cyril : sdlep-tft-plus_20191227.zip.
Version 2021 par Daniel : sdlep-tft-20210428.zip.


sdlep-tft-2021

/**************************************************\
*           S D L E P - T F T - 2 0 2 1            * 
*            (c) 2021 - Daniel Coulom              *  
*                                                  *
*              http://dcmoto.free.fr/              *
*           http://forum.system-cfg.com/           *
*                                                  *
*   Credits :                                      *   
*   Andrea Ottaviani  :  SDLEP-TFT 2.8"            * 
*   Cyril Catalanotto :  SDLEP-TFT+                *
*                                                  *
*--------------------------------------------------*
* Ce code est distribue gratuitement dans l'espoir *
* qu'il sera utile, mais sans aucune  garantie  et *
* sans  engager  la  responsabilite  de  l'auteur. *
* Vous  pouvez  l' utiliser,  le  modifier  et  le *
* diffuser librement, en conservant cette  licence *
* et les references de l'auteur dans   toutes  les *
* copies. L'exploitation commerciale est interdite.*
\**************************************************/

Le programme doit être compilé et chargé dans l'Arduino par les moyens habituels. Si vous avez besoin d'aide on trouve toute la documentation sur internet et la communauté Arduino peut aussi vous aider par l'intermédiaire des forums de discussion.
La plus grande difficulté est d'adapter le programme à votre contrôleur d'écran et à sa dalle tactile, car le plus souvent la documentation est insuffisante. Il faut connaître la référence du contrôleur pour trouver les bonnes bibliothèques et le brochage du module pour initialiser les paramètres. Il y a une solution dans tous les cas, si vous ne la trouvez pas n'hésitez pas à utiliser le sujet dédié dans le forum system-cfg (le lien est en bas de cette page).


Utilisation de SDLEP-READER TFT


La carte microSD peut être un modèle SD ou SDHC (SDXC n'est pas compatible), au format FAT ou FAT32. Les fichiers .lep doivent être copiés dans la racine (les sous-répertoires ne sont pas explorés).

Pour les ordinateurs Thomson un grand nombre de fichiers .lep sont disponibles sur le site dcmoto :
Fichiers .lep pour MO
Fichiers .lep pour PC128
Fichiers .lep pour TO

Pour de nombreux autres ordinateurs des années 1980 des recueils de jeux au format .lep ont été créés. Ils sont disponibles à
Forum System-cfg - Fichiers LEP

Il est également possible de transformer un fichier .wav en .lep grâce à l'utilitaire DCLEP. Pour le téléchargez allez à la page Emulateur.

L'arduino UNO, équipé de l'écran avec la carte SD, est connecté à l'ordinateur par le câble adéquat :


sdlep-tft

La liste des fichiers .lep de la carte SD s'affiche, à raison de huit fichiers par écran. On passe à l'écran suivant par le bouton NEXT et on revient au premier par le bouton FIRST. Le fichier est sélectionné en appuyant sur la ligne correspondante et lancé par le bouton OK.


sdlep-tft

Le système reste en attente de la commande de démarrage du moteur.


sdlep-tft

Dès que l'ordinateur envoie la commande de lecture (par exemple RUN"CASS:" avec un ordinateur Thomson), l'Arduino commence à transmettre les données. La diode d'activité clignote, sur la photo ci-dessus on distingue la lumière rouge en bas à droite de l'écran.


sdlep-tft

Lorsque le programme est entièrement chargé il envoie une commande d'arrêt du moteur et la transmission s'arrête. Sinon un message signale la fin de la cassette et la diode envoie des éclats brefs.


Version pour écran 2.8" ILI9341 avec l'Olivetti Prodest PC128


Les photographies suivantes ont été faites par Andrea.
Elles montrent son montage avec un écran 2.8" en cours de fonctionnement avec un ordinateur Olivetti Prodest PC128, la version italienne du MO6.

On voit les quatre fils entrer à l'arrière du PC128. Ils sont reliés au connecteur magnétophone de la carte mère. Sur ce connecteur, la tension d'alimentation disponible est +12 V. Une diode en série diminue un peu cette tension qui est ensuite ramenée à +5V par le régulateur interne de l'Arduino.


sdlep-tft

sdlep-tft

sdlep-tft

Autres versions pour MO5, MO6, AMSTRAD CPC464


Les photographies suivantes ont été faites par un autre utilisateur de SDLEP-READER TFT.

La dalle tactile de ses écrans a l'axe des X inversé par rapport au mien, c'est pourquoi il a placé le bouton SUITE à gauche et le bouton DEBUT à droite.
On peut aussi permuter les paramètres TS_MINX et TS_MAXX dans le fichier touchscreen-param.h et ne pas changer l'emplacement des boutons, les deux solutions sont équivalentes.

Dans la version CPC464 une résistance de 39K a été ajoutée entre la sortie de l'arduino et l'entrée des données cassette de l'amstrad, comme le montre la quatrième photo.


sdlep-tft

sdlep-tft

sdlep-tft

sdlep-tft

sdlep-tft

Complément d'information

La source principale d'informations sur le projet SDLEP-READER TFT est system-cfg
Vous pouvez y trouver tous les échanges entre l'auteur et les utilisateurs, et participer à la discussion avec vos questions et vos suggestions.

Le sujet dédié à SDLEP-READER est celui-ci : SDLEP-READER remplace tous les magnétophones d'ordinateurs

previous Retour à la page Bricolage