Contrôleurs SDDISK, CS91-280 et CS91-282 pour Thomson

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

Salut,

J'essaye d'utiliser un CS91-280 avec un SDMOTO. Le circuit et l'EPROM du CS91-280 date de décembre 2017 (version 20160902). Mon problème est bien avant d'essayer le contrôleur, lors de la préparation de la carte SD.

Je ne réussis pas à contourner la 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"

Sur une carte SD de 128 mégas (oui, mégas, suffisant pour une quarantaine de disquettes), j'ai créé des systèmes de fichiers sans table de partition sous Windows 10, et sous Linux. J'ai copié les fichiers et sous Windows, et sous Linux (avec formatage à zéro entre les essais). Mon meilleur résultat (testé avec BOOTADDRESS.EXE sous Windows avec le fichier boot.sd, et sous Linux avec hexdump) est un offset de $14000.

Je suis à court d'idée sur comment réduire l'overhead au début de la carte SD. J'ai aussi essayé une carte 1Go, avec des résultats encore pire ($4c000). Est-ce que ça vaut le coup d'essayer de faire fonctionner cette version de la ROM, ou est-ce qu'il serait mieux d'en commander une version plus récente pour cette machine?

Code : Tout sélectionner

# -F 16: FAT-16
# -s 32: secteurs/cluster
# -S 512: 512 octets/secteur
# -R 1: 1 seul secteur réservé
# -r 112: Nombre max de fichiers dans root
# -h 0: Pas de secteur caché

# mkfs.vfat -F 16 -s 32 -S 512 -R 1 -r 112 -h 0 /dev/sdb

# hexdump -C /dev/sdb | grep "82 de f6 00 00 ff db 5d"
00014000  82 de f6 00 00 ff db 5d  b7 01 32 e0 b8 42 de fa  |.......]..2..B..|
J'ai aussi testé, toujours sur une carte SD 128 mégas d'utiliser un boitier nanoréseau avec une version 2018 de l'EPROM. Tous les interrupteurs sont en position "ON" comme sur les photos de la page principale du cs91-280, l'adaptateur SDMOTO (connecté au port manette de gauche du MO5E) s'allume en bleu, mais SDSEL ne démarre pas automatiquement. Quelles seraient les meilleures manières de tester si le contrôleur nano-réseau est bien reconnu (ce qui est une possibilité avec cette machine...).

Questions subsidiaires: est-ce que les sources de FD2SD/SD2FD sont disponibles quelque part? J'aimerais porter l'application pour Linux.
hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

J'ai mis la ROM la plus récente dans le contrôleur CS91-280 de Daniel (plutôt que dans le boitier nanoréseau, dont je n'ai aucune idée du bon fonctionnement), et branché le SDMOTO sur un TO8D, mais SDSEL ne démarre pas aprés la combinaison POKE/EXEC, la deuxième commande (EXEC) redémarre simplement le BASIC.

La carte SD a sans doute les mêmes problèmes d'adressage que pour les versions antérieures de la ROM, mais ça ne devrait pas être un problème pour cette version de la ROM, n'est-ce pas? J'ai mis sdsel dessus, ainsi que quelques disquettes de jeux au format SD, rien de plus. Est-ce que j'ai fait quelque chose d'incorrect?
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par Daniel »

Avec une carte SD de 128 Mo formatée dans Windows en FAT avec la taille d'unité d'allocation par défaut, le premier fichier commence à l'octet 4BA00 (hexa). Les secteurs ont une taille de 512 octets, le premier secteur est donc 25D (hexa). C'est très loin de la limite de FFFF (hexa). D'une manière générale il n'y a pas à se préoccuper de cette limite : en copiant le fichier sur une carte fraîchement formatée, la contrainte est toujours respectée.

Un petit point de vocabulaire : il vaut mieux donner la version précise de l'EPROM du contrôleur CS91-280, par exemple 20180514. La mention "version la plus récente" ne signifie rien, car elle peut changer d'un jour à l'autre. En général la version la plus récente n'est pas diffusée, car elle est encore en test.

Toutes les versions fonctionnent bien. En particulier la version 20180213 que je t'ai envoyée fonctionne parfaitement bien avec le fichier sdmoto.sel copié sur la carte. Il faut vérifier plusieurs points :
- EPROM placée dans le bon sens, pas de patte tordue ou cassée
- Fichier sdmoto.sel copié dans le répertoire principal de la carte
- Interface SDMOTO sur le connecteur de la deuxième manette (le plus à droite vu de l'extérieur du TO8D)
- Le port manette est fonctionnel, les soudures sur la carte mère sont bonnes (essayer avec une manette)

Sinon, la carte SD n'est peut-être pas bonne. Il faut essayer une autre. Je profite de l'occasion pour un petit commentaire pas tout à fait hors-sujet : Les cartes microSD chinoises de 128 Mo en vente sur ebay ou aliexpress sont de deux types :

1) Les cartes récupérées dans les vieux téléphones, reformatées et vendues comme neuves.
Les chinois ne sont pas pointilleux : si Windows n'affiche pas de fichier ils considèrent que la carte est neuve. Avec un programme de récupération de fichiers perdus, on retrouve toutes les photos, vidéos et musiques du précédent propriétaire. J'en ai toute une collection.
En général ce sont des cartes de marque : Sandisk (parfois marquées Nokia), Toshiba, Kingston...

2) Les cartes taïwanaises neuves déclassées. Elles n'ont pas de marque apparente, une date de fabrication très récente (moins de trois mois) et ne contiennent aucune donnée. En général elles fonctionnent à peu près bien en mode SD, mais très souvent elles ont des problèmes d'initialisation en mode SPI. Parfois elles démarrent, mais dans plus de la moitié des cas elles ne peuvent pas être initialisées à froid, c'est à dire si on les met dans l'interface SDMOTO avant de mettre l'ordinateur sous tension. J'arrive à m'en servir en les insérant à chaud après le démarrage de l'ordinateur, mais c'est plutôt pénible.

Finalement il vaut mieux acheter les cartes d'occasion de la première catégorie. Elles sont un peu plus chères que les neuves (entre 1,5 et 2€) mais il y a rarement d'incompatibilité avec SDMOTO.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par __sam__ »

hadessuk a écrit : 20 mai 2018 17:13 Mon meilleur résultat (testé avec BOOTADDRESS.EXE sous Windows avec le fichier boot.sd, et sous Linux avec hexdump) est un offset de $14000.
Un offset octet de $14000, mais comme les secteurs font 512 octets, l'offset est de : $14000/$200 = $140 / $2 = $70. Ca tient parfaitement dans 16 bits. Idem avec l'offset octet de $4c000, en secteurs on tombe à $260.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par Daniel »

Un point oublié dans mon post précédent :
- L'inverseur SDMO/SDMOTO du contrôleur CS91-280 doit être en position SDMOTO.
Daniel
L'obstacle augmente mon ardeur.
hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

Daniel a écrit : 21 mai 2018 08:27 (...) D'une manière générale il n'y a pas à se préoccuper de cette limite : en copiant le fichier sur une carte fraîchement formatée, la contrainte est toujours respectée.
C'est noté.
Daniel a écrit : 21 mai 2018 08:27 Un petit point de vocabulaire : il vaut mieux donner la version précise de l'EPROM du contrôleur CS91-280, par exemple 20180514. La mention "version la plus récente" ne signifie rien, car elle peut changer d'un jour à l'autre. En général la version la plus récente n'est pas diffusée, car elle est encore en test.
Cette EPROM là était toujours dans le boitier nanoréseau quand j'ai écrit ce commentaire, d'où l'imprécision. C'était une version 20180213.
Daniel a écrit : 21 mai 2018 08:27 (...) Finalement il vaut mieux acheter les cartes d'occasion de la première catégorie. Elles sont un peu plus chères que les neuves (entre 1,5 et 2€) mais il y a rarement d'incompatibilité avec SDMOTO.
Le problème était effectivement la carte SD... J'ai utilisé une carte SD Sandisk 1Go un peu plus vieille et ça a booté sur sdsel du premier coup...
J'avais déjà testé cette carte SD, mais c'était sans doute avec la version plus ancienne de la ROM et/ou dans le boitier nanoréseau et/ou sur le TO8D avec le lecteur de disquettes interne toujours branché.

Est-ce que tu aurais une référence pour ces cartes SD d'occasion? J'avais acheté 4 de ces cartes SD pour le SDMOTO et des projets Arduino, qui effectivement ne me seront pas très utiles maintenant.
__sam__ a écrit : 21 mai 2018 09:08 (...) Un offset octet de $14000, mais comme les secteurs font 512 octets, l'offset est de : $14000/$200 = $140 / $2 = $70. Ca tient parfaitement dans 16 bits. Idem avec l'offset octet de $4c000, en secteurs on tombe à $260.
J'ai zappé la partie qui dit "exprimée en secteurs". Pour ma défense, je lisais les 3 versions de la page sur le CS91-280 en même temps :)
Daniel a écrit : 21 mai 2018 11:58 Un point oublié dans mon post précédent :
- L'inverseur SDMO/SDMOTO du contrôleur CS91-280 doit être en position SDMOTO.
C'est bien vérifié ;)

Il me reste 2 questions?
- Est-ce que les sources de fd2sd/sd2fd sont disponibles quelque part, ou est-ce qu'elles pourraient être partagées en privé pour que je fasse un port Linux?
- Comment crée-t-on une disquette vierge pour le SDMOTO? Un fichier vide de 2560ko ne semble pas suffire, DSKINI renvoie une erreur aprés avoir sélectionné ce fichier.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par Daniel »

Pour la carte SD, si c'est une des saletés taïwanaise sans marque vendue par les chinois, il faut essayer de l'insérer après avoir démarré l'ordinateur. Il y a une chance (minime) pour qu'elle puisse s'initialiser.

Les dernières cartes que j'ai achetées sont celles-ci : https://www.ebay.fr/itm/10-128MB-SanDis ... 2480550349
Elles existent aussi en 256 Mo et 512 Mo, mais c'est plus cher.
Contrairement à ce qu'annonce le titre elles ne sont pas neuves, mais d'occasion. Avant de les utiliser on peut retrouver toutes les photos, vidéos et musiques avec un logiciel de récupération de fichiers perdus. Là elles sont en lot de 10, mais on doit en trouver à l'unité chez aliexpress.

Image

N'achetez surtout pas des cartes microSD pas chères sur le "market place" d'Amazon, CDiscount, Rue du Commerce ou autres. A moins de 2 € la carte de 4 Go ou plus, ce sont toutes des contrefaçons. Je me suis fait avoir chez CDiscount, mais les autres sont pareils. Les clients ne s'aperçoivent pas tout de suite de la supercherie, car en général elles contiennent une centaine de Mo valides et permettent d'enregistrer quelques fichiers, mais ensuite on perd tout. Les contrefacteurs arrivent à modifier les registres CID et CSD de la carte pour que Windows la reconnaisse bien et affiche la capacité attendue, mais à l'usage c'est la catastrophe.


FD2SD et SD2FD sont des programmes d'une très grande simplicité :
FD2SD ajoute 256 octets FF (hexa) à chaque secteur de 256 octets du fichier .fd
SD2FD retire les 256 octets FF ajoutés par FD2SD.
J'avais aussi prévu l'ajout d'une checksum, mais elle est inutilisée (jamais testée).

Code : Tout sélectionner

/*****************************************************************************\
* FD2SD.C - Conversion fichiers .fd (secteur 256 octets) en .sd (512 octets)  *
* Auteur : Daniel Coulom - danielcoulom@gmail.com                             *
* Creation : Juillet 2013                                                     *
* Ajout checksum en juillet 2017                                                     *
\*****************************************************************************/

#include <windows.h>
#include <dirent.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <shlobj.h>

#define SECTEUR_MAX 5120     //4 unites de 80 pistes de 16 secteurs

char version[11];            //numero de version
char filename[256];
char string[256];

//Initialisation de la version/////////////////////////////////////////////////
void Initversion()
{
 char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
 char datecompil[12];
 char mois[3];
 char jour[3];
 //date de compilation
 strcpy(datecompil, __DATE__);
 datecompil[3] = datecompil[6] = 0;
 //mois
 sprintf(mois, "%02i", 1 + (strstr(months, datecompil) - months) / 3);
 //jour
 strcpy(jour, datecompil + 4);
 if(jour[0] < '0') jour[0] = '0';
 //version
 strcpy(version, datecompil + 7);
 strcat(version, ".");
 strcat(version, mois);
 strcat(version, ".");
 strcat(version, jour);
}

// conversion ////////////////////////////////////////////////////////////////
int Convertfd2sd()
{
 FILE *ffd;
 FILE *fsd;
 int i, r, secteur, checksum;
 char buffer[512];
 for(i = 0; i < 512; i++) buffer[i] = 0xff;

 //confirmation
 sprintf(string, "Voulez-vous convertir %s ?", filename);
 r = MessageBox(NULL, string, " FD2SD",
 MB_YESNOCANCEL | MB_TOPMOST | MB_ICONINFORMATION);
 if(r == IDNO) return 1;
 if(r == IDCANCEL) return -1;
 //ouverture des fichiers
 ffd = fopen(filename, "rb");
 filename[strlen(filename) - 2] = 's';
 fsd = fopen(filename, "wb");
 secteur = 0;
 //ecriture des secteurs du fichier .fd
 while(fread(buffer, 1, 256, ffd) == 256)
 {
  checksum = 0;
  for(i = 0; i < 256; i++) checksum += buffer[i] & 0xff; //calcul checksum
  buffer[256] = checksum & 0xff; //checksum en 256 a la suite du secteur
  fwrite(buffer, 1, 512, fsd);
  secteur++;
 }
 //completer a la taille maxi d'un fichier .fd (4 unites de 80 pistes)
 for(i = 0; i < 512; i++) buffer[i] = 0xff;
 buffer[256] = 0; //checksum
 for(i = secteur; i < SECTEUR_MAX; i++)  fwrite(buffer, 1, 512, fsd);
 //fermeture des fichiers
 fclose(ffd);
 fclose(fsd);
 return 0;
}

// main program //////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hpre, LPSTR lpCmd, int nCmdShow)
{
 DIR *dp;
 DIR *dummy;
 int i, r;
 struct dirent *ep;
 char progdir[MAX_PATH];
 //fenetre du programme
 Initversion();
 sprintf(string, " FD2SD - Conversion des fichiers .fd en .sd - Version %s",
 version);
 r = MessageBox(NULL,
 "Fichier .fd : Image de disquette pour dcmoto, secteurs de 256 octets.\
\nFichier .sd : Image de disquette pour carte SD, secteurs de 512 octets.\
\n\nVoulez-vous convertir tous les fichiers .fd du répertoire ?",
 string, MB_OKCANCEL | MB_TOPMOST | MB_ICONINFORMATION);
 if(r == IDCANCEL) return 0;
 //recherche et conversion des fichiers .fd
 GetCurrentDirectory(MAX_PATH, progdir);
 //boucle sur chaque fichier du dossier
 dp = opendir(progdir);
 if(dp == NULL) return -1;
 while((ep = readdir(dp)))
 {
  strcpy(filename, ep->d_name);
  if(filename[0] == '.') continue; //c'est un fichier supprime
  strcpy(string, progdir);
  strcat(string, filename);
  dummy = opendir(string);
  if(dummy) {closedir(dummy); continue;} //c'est un repertoire
  for(i = 0; i < strlen(filename); i++) filename[i] = tolower(filename[i]);
  if(strstr(filename, ".fd") == NULL) continue; //ce n'est pas un fichier .fd
  if(Convertfd2sd() < 0) return 0;
 }
 closedir(dp);
 MessageBox(NULL, "Fin de la conversion", " FD2SD",
 MB_OK | MB_TOPMOST | MB_ICONINFORMATION);

 return 0;
}

Code : Tout sélectionner

/*****************************************************************************\
* SD2FD.C - Conversion fichiers .sd (secteur 512 octets) en .fd (256 octets)  *
* Auteur : Daniel Coulom - danielcoulom@gmail.com                             *
* Creation : Decembre 2013                                                     *
* Controle de la checksum : Juillet 2017                                                     *
\*****************************************************************************/

#include <windows.h>
#include <dirent.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <shlobj.h>

#define SECTEUR_MAX 5120     //4 unites de 80 pistes de 16 secteurs

char version[11];            //numero de version
char filename[256];
char string[256];

//Initialisation de la version/////////////////////////////////////////////////
void Initversion()
{
 char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
 char datecompil[12];
 char mois[3];
 char jour[3];
 //date de compilation
 strcpy(datecompil, __DATE__);
 datecompil[3] = datecompil[6] = 0;
 //mois
 sprintf(mois, "%02i", 1 + (strstr(months, datecompil) - months) / 3);
 //jour
 strcpy(jour, datecompil + 4);
 if(jour[0] < '0') jour[0] = '0';
 //version
 strcpy(version, datecompil + 7);
 strcat(version, ".");
 strcat(version, mois);
 strcat(version, ".");
 strcat(version, jour);
}

// conversion ////////////////////////////////////////////////////////////////
int Convertsd2fd()
{
 FILE *fsd;
 FILE *ffd;
 int i, r, secteur, checksum, controle;
 char buffer[512];

 //confirmation
 sprintf(string, "Voulez-vous convertir %s ?", filename);
 r = MessageBox(NULL, string, " SD2FD",
 MB_YESNOCANCEL | MB_TOPMOST | MB_ICONINFORMATION);
 if(r == IDNO) return 1;
 if(r == IDCANCEL) return -1;
 //ouverture des fichiers
 fsd = fopen(filename, "rb");
 filename[strlen(filename) - 2] = 'f';
 ffd = fopen(filename, "wb");
 secteur = 0;
 controle = 1;
 //ecriture des secteurs du fichier .sd
 while(fread(buffer, 1, 512, fsd) == 512)
 {
  checksum = 0;
  for(i = 0; i < 256; i++) checksum += buffer[i] & 0xff;  //calcul checksum
  if(controle) if((buffer[256] & 0xff) != (checksum & 0xff))
  {
   sprintf(string, "Erreur secteur %i !\n\
checksum calculée : $%02x\n\
checksum lue : $%02x\n\n\
Cliquez sur OK pour continuer les contrôles, ou sur\n\
ANNULER pour les arrêter jusqu'à la fin du fichier.",
           secteur, checksum & 0xff, buffer[256] & 0xff);
   r = MessageBox(NULL, string, "SD2FD - Erreur",
       MB_OKCANCEL | MB_TOPMOST | MB_ICONWARNING);
   if(r == IDCANCEL) controle = 0;
  }
  fwrite(buffer, 1, 256, ffd);
  secteur++;
 }
 //fermeture des fichiers
 fclose(fsd);
 fclose(ffd);
 return 0;
}

// main program //////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hpre, LPSTR lpCmd, int nCmdShow)
{
 DIR *dp;
 DIR *dummy;
 int i, r;
 struct dirent *ep;
 char progdir[MAX_PATH];
 //fenetre du programme
 Initversion();
 sprintf(string, " SD2FD - Conversion des fichiers .sd en .fd - Version %s",
 version);
 r = MessageBox(NULL,
 "Fichier .fd : Image de disquette pour dcmoto, secteurs de 256 octets.\
\nFichier .sd : Image de disquette pour carte SD, secteurs de 512 octets.\
\n\nVoulez-vous convertir tous les fichiers .sd du répertoire ?",
 string, MB_OKCANCEL | MB_TOPMOST | MB_ICONINFORMATION);
 if(r == IDCANCEL) return 0;
 //recherche et conversion des fichiers .fd
 GetCurrentDirectory(MAX_PATH, progdir);
 //boucle sur chaque fichier du dossier
 dp = opendir(progdir);
 if(dp == NULL) return -1;
 while((ep = readdir(dp)))
 {
  strcpy(filename, ep->d_name);
  if(filename[0] == '.') continue; //c'est un fichier supprime
  strcpy(string, progdir);
  strcat(string, filename);
  dummy = opendir(string);
  if(dummy) {closedir(dummy); continue;} //c'est un repertoire
  for(i = 0; i < strlen(filename); i++) filename[i] = tolower(filename[i]);
  if(strstr(filename, ".sd") == NULL) continue; //ce n'est pas un fichier .fd
  if(Convertsd2fd() < 0) return 0;
 }
 closedir(dp);
 MessageBox(NULL, "Fin de la conversion", " SD2FD",
 MB_OK | MB_TOPMOST | MB_ICONINFORMATION);

 return 0;
}

Normalement les 4 unités d'un fichier .sd de 2 621 440 octets contenant n'importe quoi (zéro binaire, ou FF, ou autre) doivent pouvoir être formatées sur Thomson par les commandes DSKINI 0, DSKINI 1, DSKINI 2, DSKINI 3. Je ne vois pas pourquoi ça ne fonctionnerait pas.
Sinon il suffit de prendre un fichier .sd valide (par exemple le DOS TO7) et le reformater avec ces mêmes commandes.

Attention, la commande DSKINI nécessite le BASIC 512 (ou 128). Avec le BASIC 1.0 on peut aussi l'utiliser, mais il faut au préalable booter sur une disquette DOS.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par jice »

Bonjour !
Je viens de m'équiper d'un MO5. J'ai déjà le CS91-280 et le SDMOTO que j'utilise avec mon TO9+.
En attendant un SDDRIVE, si je comprends bien, avec qqs fils Dupont et une prise Dyn je dois pouvoir transformer mon SDMOTO en SDMO non ? Si je suis le plan donné là (http://dcmoto.free.fr/bricolage/sdmo/index.html) pour connecter mon module catalex, ça devrait fonctionner non ?). Ensuite, juste basculer le switch du CS91-280 sur SDMO et voilà ?
(bon ça sera sans manettes du coup, mais en attendant le SDDRIVE, ça pourra faire l'affaire ;)
Merci d'avance
JC
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

Daniel a écrit : 21 mai 2018 15:05 Pour la carte SD, si c'est une des saletés taïwanaise sans marque vendue par les chinois, il faut essayer de l'insérer après avoir démarré l'ordinateur. Il y a une chance (minime) pour qu'elle puisse s'initialiser.
Oui, c'est pas ma méthode préféré pour quoi que ce soit ;)

J'ai envoyé un message au vendeur, et je vais voir s'il répond.
Daniel a écrit : 21 mai 2018 15:05 Les dernières cartes que j'ai achetées sont celles-ci : https://www.ebay.fr/itm/10-128MB-SanDis ... 2480550349
Elles existent aussi en 256 Mo et 512 Mo, mais c'est plus cher.
Contrairement à ce qu'annonce le titre elles ne sont pas neuves, mais d'occasion. Avant de les utiliser on peut retrouver toutes les photos, vidéos et musiques avec un logiciel de récupération de fichiers perdus. Là elles sont en lot de 10, mais on doit en trouver à l'unité chez aliexpress.
J'ai acheté quelques cartes "de marque" chez le même vendeur, on verra ce que ça donne.
Daniel a écrit : 21 mai 2018 15:05 N'achetez surtout pas des cartes microSD pas chères sur le "market place" d'Amazon, CDiscount, Rue du Commerce ou autres. A moins de 2 € la carte de 4 Go ou plus, ce sont toutes des contrefaçons. Je me suis fait avoir chez CDiscount, mais les autres sont pareils. Les clients ne s'aperçoivent pas tout de suite de la supercherie, car en général elles contiennent une centaine de Mo valides et permettent d'enregistrer quelques fichiers, mais ensuite on perd tout. Les contrefacteurs arrivent à modifier les registres CID et CSD de la carte pour que Windows la reconnaisse bien et affiche la capacité attendue, mais à l'usage c'est la catastrophe.
Oh, je connais, on en avait déjà discuté il y a un moment, pour le SDDRIVE je pense. J'utilise toujours l'utilitaire "gnome-multi-writer-probe" sous Linux pour tester les cartes SDs et les lecteurs USB, il détecte les fausses cartes (celles avec un firmware hacké pour faire apparaître plus de données qu'elle n'en ont vraiment).
Daniel a écrit : 21 mai 2018 15:05 FD2SD et SD2FD sont des programmes d'une très grande simplicité :
FD2SD ajoute 256 octets FF (hexa) à chaque secteur de 256 octets du fichier .fd
SD2FD retire les 256 octets FF ajoutés par FD2SD.
J'avais aussi prévu l'ajout d'une checksum, mais elle est inutilisée (jamais testée).

[...]

Normalement les 4 unités d'un fichier .sd de 2 621 440 octets contenant n'importe quoi (zéro binaire, ou FF, ou autre) doivent pouvoir être formatées sur Thomson par les commandes DSKINI 0, DSKINI 1, DSKINI 2, DSKINI 3. Je ne vois pas pourquoi ça ne fonctionnerait pas.
Sinon il suffit de prendre un fichier .sd valide (par exemple le DOS TO7) et le reformater avec ces mêmes commandes.

Attention, la commande DSKINI nécessite le BASIC 512 (ou 128). Avec le BASIC 1.0 on peut aussi l'utiliser, mais il faut au préalable booter sur une disquette DOS.
Sous quelle licence serait ce code, et est-ce que tu préfererais intégrer le support Linux dans cette version, ou ça serait mieux pour moi de réécrire?

Je mettrai les sources une fois porté quelque part sur GitHub je pense.

Merci :)
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par Daniel »

@hadessuk : Il n'y a pas de licence pour fd2sd et sd2fd, c'est du domaine public.
On ne peut pas décemment déposer des droits pour un programme qui insère 256 octets FF après chaque secteur de la disquette Thomson :wink:

@jice : Oui, on peut utiliser le module de la carte microSD pour construire l'interface SDMO. La fiche DIN est très courante, elle est utilisée pour les câbles midi. Il faut aussi prévoir la connexion au +5V du crayon optique. Un tout petit bout de fil de cuivre rigide d'électricien peut servir de connecteur, il suffit de trouver le bon diamètre. Sur un MO5 sans doubleur de bus on est privé des manettes, mais aussi de la sortie son sur 6 bits. C'est dommage pour les démonstrations de musique. Avec un doubleur de bus on peut connecter le contrôleur SX 90-018, et on a du même coup le convertisseur 6 bits et la possibilité d'utiliser l'interface SDMOTO.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par jice »

Merci Daniel ; je vais faire ça en attendant que les commandes pour SDDRIVE soient à nouveau ouvertes. Je n'ai malheureusement pas de doubleur de bus, donc pour le moment pas de manettes. Si ça me manque trop je te commanderai un tripleur ;)
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

Daniel a écrit : 21 mai 2018 22:33 @hadessuk : Il n'y a pas de licence pour fd2sd et sd2fd, c'est du domaine public.
On ne peut pas décemment déposer des droits pour un programme qui insère 256 octets FF après chaque secteur de la disquette Thomson :wink:
L'application ou non des droits d'auteur n'est pas relié à la difficulté du code, mais au fait qu'il ait été écrit. Je rajouterai que sous la législation française, on ne peut pas mettre un travail dans le domaine public de son vivant. Mais j'ai compris l'esprit de ta réponse, merci :)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par __sam__ »

Vive la WTFPL !
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
hadessuk
Messages : 254
Inscription : 15 déc. 2016 18:01

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par hadessuk »

__sam__ a écrit : 22 mai 2018 12:23 (...)
L'ami indonésien qui avait créé la v1 n'avait pas pensé que certaines personnes l'utiliseraient pour des vrais projets. La v1 n'est pas du logiciel libre, ou compatible avec la GPL. La v2 de (l'autre) Sam l'est :)
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Contrôleurs CS91-280 et CS91-282 pour Thomson

Message par Daniel »

@jice : Une autre solution est de souder un connecteur mâle à l'arrière du contrôleur CS91-280. Je viens de la tester aujourd'hui avec un MO5 et un contrôleur SX90-018. C'est plus simple que le tripleur et la réalisation n'est pas difficile.

cs91280_gigogne.jpg
cs91280_gigogne.jpg (85.64 Kio) Consulté 4330 fois
Daniel
L'obstacle augmente mon ardeur.
Répondre