[Thomson] Lecture du répertoire d'une carte SD

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

petitjd
Messages : 1826
Enregistré le : 23 oct. 2007 11:50

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par petitjd » 06 déc. 2014 09:11

Dans les deux premieres solutions, si on ne dispose que d'un thomson depourvu de lecteur de disquette (et/ou cassette) fonctionnel on ne pourra rien faire.
Cs91-280 j'en suis convaincu doit rester autonome vis a vis des peripheriques thomson pour son fonctionnement, lui même etant LA SOLUTION de remplacement de ces peripheriques de stockage thomson originels.

La solution 3, la plus simple et aussi celle qui repond parfaitement au cas de figure ou l'on ne dispose pas de peripherique de stockage Thomson originel fonctionnel, part du principe que tout le monde dispose d'un pc (comme ma proposition) ce qui est le cas globalement, mais l'utilisation d'un programmateur d'eprom peu rebuter certains utilisateurs.

La solution d'une petite commande ou d'un petit programme a cliquer et d'un cable a brancher entre le pc et le controleur cs91-280 est plus accessible au commun des mortels, mais comme tu le dis, c'est un challenge d'electronicien.

D'un autre coté, le commun des mortels dont je fais partie y reflechira à deux fois avant de se lancer dans la fabrication from scratch de cs91-280 et preferera traquer les controleurs nanoreseau sur le net.

En fait, la vrai question, c'est où arreter la simplification?
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 06 déc. 2014 09:38

Tout ce que tu as écrit est très sensé et j'adhère complètement.

Le plus innovant, dans le projet, n'est pas d'utiliser une carte SD : tout le monde sait le faire sur la majorité des ordinateurs anciens. L'idée de génie (oui, j'aime bien me faire des compliments) est d'utiliser le boîtier de communication nanoréseau, que tous les thomsonistes (ou presque) possèdent, pour fabriquer le contrôleur. Ce contrôleur est gratuit (ou presque), même les plus maladroits peuvent transformer le boîtier nanoréseau en changeant l'EPROM. A comparer avec un module complexe sur circuit imprimé double face, intégrant des micro-processeurs ou autres FGPA, impossible à fabriquer soi-même et coûtant plusieurs dizaines d'euros. Et le soft en assembleur 6809 est beaucoup plus "classe" qu'un programme développé en C sur PC.

Et puis, finalement, on ne dépassera jamais une vingtaine d'utilisateurs. Alors ceux qui voudront mettre à jour l'EPROM me contacteront s'ils n'ont pas de programmateur. S'ils sont motivés, ce n'est pas un gros obstacle. Tant pis pour les simples curieux et les consommateurs de solutions toutes mâchées, ils ne m'intéressent pas beaucoup.
Daniel
L'obstacle augmente mon ardeur.

petitjd
Messages : 1826
Enregistré le : 23 oct. 2007 11:50

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par petitjd » 06 déc. 2014 10:26

Et quand on pense au fait que la SD card est infiniement plus lente que tu sais quoi :wink:
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 06 déc. 2014 11:44

Je sais quoi mais je n'ai pas encore trouvé le temps nécessaire. Le temps est la ressource la plus critique.
J'ai pensé aussi à un arduino pour remplacer l'EPROM, mais pareil, je n'ai pas le temps (et je crois que l'arduino est trop lent).
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 06 déc. 2014 15:40

Suite des tests de montage automatique de l'image de disquette BOOT.SD :
Le programme écrit pour la FAT16 ne fonctionne pas en FAT32, je l'ai donc modifié pour assurer la compatibilité.

En FAT16, tous les secteurs du répertoire principal sont contigus, ce qui facilite la recherche.
En FAT32, lors du formatage un cluster est alloué au répertoire principal . Lorsqu'il est plein, un deuxième cluster est alloué, mais il n'a aucune chance d'être contigu, et ainsi de suite.

Dans un premier temps, je cherche BOOT.SD uniquement dans le premier cluster. S'il est trouvé c'est bon, l'image de disquette est montée. A priori, le fichier BOOT.SD étant l'un des premiers à copier dans la carte, il sera toujours dans le premier cluster. On pourrait en faire une règle : on formate la carte puis on copie immédiatement BOOT.SD, et ça marche. Dans ce cas, le nouveau code que je viens de mettre dans l'EPROM fonctionne.

Par contre, si BOOT.SD est ajouté après plusieurs autres fichiers, il ne sera pas trouvé dans le premier cluster. Et surtout, si on veut faire la liste des fichiers sur la carte, le premier cluster ne suffit pas. Il faut alors parcourir la FAT pour trouver le numéro de cluster suivant et calculer son adresse. Encore des calculs sur 32 bits en perspective...

Le code nécessaire pour déterminer le type de FAT et lire séquentiellement le répertoire principal risque de ne pas tenir dans l'EPROM (il reste maintenant 196 octets). Je m'oriente vers une solution simplifiée pour le démarrage (recherche uniquement dans le premier cluster). Par contre le programme de sélection des images de disquettes à monter devra, lui, parcourir tout le répertoire principal. Pour ce programme il n'y a pas de limitation de taille autre que celle de la RAM, puisqu'il sera stocké dans la disquette BOOT.SD.

On peut donc dire qu'aujourd'hui le contrôleur CS91-280 fonctionne en FAT16 et en FAT32 sur carte SD. Reste à tester les cartes SDHC, c'est la prochaine étape...
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Carl
Modérateur
Messages : 10540
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Carl » 06 déc. 2014 17:25

Bravo Daniel pour cette nouvelle version 8)
sdmoto2.jpg
sdmoto2.jpg (41.53 Kio) Vu 1275 fois
update :wink:

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 06 déc. 2014 17:42

Merci pour la pub, Carl :D
Voici le logo officiel au cas ou tu voudrais en faire d'autres :wink:
sdmoto_logo_monochrome.png
sdmoto_logo_monochrome.png (558 Octets) Vu 1279 fois
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 09 déc. 2014 09:12

Après deux jours de tests avec différentes cartes SD et différents formatages, le programme de recherche du fichier BOOT.SD dans le répertoire principal a été corrigé et amélioré. Il reste la contrainte, pour les cartes formatées en FAT32, de trouver BOOT.SD dans le premier secteur du répertoire. Ce n'est pas un problème si ce fichier est l'un des 4 ou 5 premiers copiés sur la carte après le formatage. Cette contrainte n'existe pas en FAT16.

La nouvelle EPROM version 2014.12.08 a été testée dans plusieurs configurations :
- Carte SD de 128Mo formatée en FAT16 sans partition
- Carte SD de 128Mo formatée en FAT16 avec une partition
- Carte SD de 128Mo formatée en FAT32 sans partition
- Carte SDHC de 16Go formatée en FAT32 avec une partition

Ces tests ne sont pas exhaustifs, mais dans la mesure ou ça marche avec SD/SDHC, FAT16/FAT32, avec ou sans partition, je ne pense pas qu'il puisse y avoir de mauvaises surprises. Pour confirmer il faudrait que d'autres utilisateurs essaient avec d'autres cartes et d'autres types de formatage.

Cette nouvelle version de test de l'EPROM est disponible à http://dcmoto.free.fr/bricolage/cs91-280/index.html (vers le bas de la page, avant les photos). [Edit] Le premier lien était faux, il a été corrigé à 10h40. Si vous n'avez pas la version 2014.12.08 il faut télécharger à nouveau pour avoir la bonne version.

Le deuxième volet du développement est le changement de disquette par choix dans la liste des fichiers .SD présents sur la carte. C'est un peu plus compliqué pour les cartes en FAT32, car cette fois on ne peut pas se contenter du premier secteur du répertoire. Il n'y a plus la contrainte de faire entrer le programme dans les 2Ko de l'EPROM, donc rien d'impossible, mais il y a pas mal de lignes de programme à écrire. Je suis déjà au travail :wink:
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9374
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par 6502man » 09 déc. 2014 16:56

Je vais essayer de tester cette version de l'EPROM, mais par contre ou trouver BOOT.SD :?:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 09 déc. 2014 20:16

BOOT.SD est la disquette montée automatiquement au démarrage de l'ordinateur. C'est n'importe quelle disquette. Par exemple une disquette vierge pour un TO8, une disquette DOS 3"1/2 MO pour un MO6, une disquette DOS 3"1/2 TO pour un TO7/70, etc. Il suffit de la nommer BOOT.SD pour qu'elle soit montée automatiquement. Le plus simple est de la créer par FD2SD.EXE à partir d'un fichier .fd existant.

Sur cette disquette vide (ou plus exactement sur les 4 faces de disquettes), on peut ensuite mettre des programmes de lancement de démos, d'applications ou de jeux. Ces programmes peuvent être ajoutés depuis l'ordinateur Thomson, ou depuis l'émulateur dcmoto (dernière version expérimentale) dans lequel on a chargé le fichier BOOT.SD lu directement sur la carte SD.
La version de dcmoto ayant cette fonction d'accès direct à un fichier .SD est ici : http://dcmoto.free.fr/emulateur/dcmoto_nouveau.zip
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 9374
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par 6502man » 09 déc. 2014 20:29

Okay donc dans l'immédiat la disquette que je veux tester je la nomme BOOT.Sd,

Je pensait que c'était un programme de boot spécifique :roll: mais en faite il n'est pas encore fait, c'est pour la suite du projet si j'ai bien compris :wink:

Dans la semaine je devrais pouvoir gravé la nouvelle version de l'EPROM et faire le test ...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 09 déc. 2014 20:37

Oui, tu as raison, le programme de sélection d'images de disquettes dans une liste (que je suis en train d'écrire) aura tout naturellement sa place dans la disquette BOOT.SD.

En attendant, on peut toujours utiliser l'ancienne méthode pour changer de disquette : déterminer son adresse physique avec bootaddress.exe et écrire quatre POKE pour mettre cette adresse en $208E (sur MO) ou $608E (sur TO).
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 11609
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par Daniel » 23 déc. 2014 15:53

Le projet avance lentement mais sûrement. Voici à quoi ressemblera l'interface de sélection du fichier .sd, avec flèche haut, flèche bas et entrée. C'est plus facile que la saisie de l'adresse physique en hexadécimal.
sdsel.jpg
sdsel.jpg (90.05 Kio) Vu 1162 fois
Modifié en dernier par Daniel le 23 déc. 2014 15:56, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
LeGrapyl
Messages : 1182
Enregistré le : 15 déc. 2013 23:38
Localisation : 71 mais parfois 34...

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par LeGrapyl » 23 déc. 2014 15:56

Sympa... ca me donnerait presque envie de me replonger dans l'univers Thomson :wink:
Tom la Riboulle, l'homme qui roule en boule !

__sam__
Messages : 4588
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Lecture du répertoire d'une carte SD

Message par __sam__ » 23 déc. 2014 16:27

LeGrapyl a écrit :... dans l'univers Thomson
Rien que ca :!:

(musique de Dallas dans la tête).. THOM...SON..... ton univers impitoyaa---aableuh..... :mrgreen:

@Daniel: la liste scrolle-t-elle quand on arrive en bas de l'écran et qu'il y a plein d'autres de fichiers SD à afficher ? Si la liste est grosse, il y a un truc pratique dans windows qui est facile à implémenter: si on appuie sur une touche alphabétique, alors on saute directement au premier fichier qui commence par cette lettre là.
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

Répondre