SIO2Arduino ( microSD )

du 400 au 130 xe

Modérateur : Politburo

Répondre
Avatar du membre
Sir thierry
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1405
Enregistré le : 14 mai 2006 11:42

SIO2Arduino ( microSD )

Message par Sir thierry »

Bonjour,

Quelqu'un connait ? J'ai des Arduino en stock que je pense recycler en émulateur 1050. Me manque juste les câbles SIO avant de me lancer.
Modifié en dernier par Sir thierry le 19 sept. 2015 22:06, modifié 1 fois.
Avatar du membre
kweeky
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1777
Enregistré le : 05 oct. 2007 19:46
Localisation : Pas très loin de Bordeaux

Re: SIO2Arduino

Message par kweeky »

Bonsoir

Je ne connais pas, mais je suis potentiellement intéressé, ayant moi aussi quelques Arduino ainsi que de l'Atari. Pour ton câble SIO, tu n'as pas un vieux lecteur de K7 en rab que tu pourrais cannibaliser ? Parce qu'en fait tu as juste besoin de la prise SIO du côté de l'Atari.

En tout cas si tu as des infos (j'ai trouvé ce site grâce à Google) je suis preneur.

@+

P.S.: sinon le SIO2SD est pas mal non plus. C'est ce que j'utilise.
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

Salut à tous, comme j'en ai monté deux je ramène mon grain de sel,
ça marche mais c'est un peu galère pour la compil de la partie logiciel, la dernière version des pilotes sd empêche la compil (quelques erreur dus à un manque de rétro compatibilité peut être) elle se trouve ici :https://github.com/greiman/SdFat .
pour ma part je compile avec la version de novembre 2014 (https://github.com/greiman/SdFat/tree/f ... 26a123cf05) sur un arduino nano (mais ça marche avec les autres arduinos)
pour l'instant j'ai pas fini de trouver les trucs qui déconnes mais j'ai constaté que les fichiers était mal sélectionnés lors de l'appuie sur le bouton (avec ou sans afficheur) et que seul le premier lecteur est fonctionnel (il me semble qu'on doit pouvoir en gérer 4 virtuel avec la carte...ben non, au final on en gère qu'un)
du coup j'essaye d'en faire marcher un proprement (quand j'ai le temps), mais il y a l'air d'y avoir des trucs pas au point dans cet affaire, sinon ça lit très bien les atr et xex, le mieux étant de passer par l'autorun (bouton shift appuyé au démarrage de la machine) et d’éteindre la machine pour changer de disk (toujours via le menu de l'autorun).

bon après c'est peut être moi qui déconne quelque part ... (je suis pas un pro du language arduino)
Modifié en dernier par Antique le 01 janv. 2016 19:03, modifié 1 fois.
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

tiens d'ailleurs j'en profite pour vous poser LA question :

disk_image.cpp: In member function ‘boolean DiskImage::loadFile(SdFile*)’:
disk_image.cpp:391:9: error: ‘class SdFile’ has no member named ‘getFilename’
file->getFilename((char*)&filename);
^

j'ai ça lors de la compilation avec la dernière version (c'est du langage arduino) quelqu'un[e](ne soyons pas misogyne) peut me dire comment je doit comprendre ça ?
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

bon histoire d’être un peu plus clair, la classe en question dit ceci:

#if ENABLE_ARDUINO_FEATURES
/**
* \class SdFile
* \brief Class for backward compatibility.
*/

class SdFile : public PrintFile {
public:
SdFile() {}
/** Create a file object and open it in the current working directory.
*
* \param[in] path A path for a file to be opened.
*
* \param[in] oflag Values for \a oflag are constructed by a
* bitwise-inclusive OR of open flags. see
* FatFile::open(FatFile*, const char*, uint8_t).
*/
SdFile(const char* path, uint8_t oflag) : PrintFile(path, oflag) {}
};
#endif // #if ENABLE_ARDUINO_FEATURES
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

pour ce qui est de la version qui fonctionne (l'ancienne lib) on retrouve :

(dans le .ino, le fichier principale du programme)
// get current filename
file.getFilename(name);

et dans disk_image.cpp
file->getFilename((char*)&filename);
int len = strlen(filename);
char *extension = filename + len - 4;

et aucune correspondance pour getfilename dans le répertoire de la dernière version ...
du coup que faire ?, si vous avez des idées ...
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

ouppsss, dans l'ancienne lib on retrouve (je m'est trompé de dossier)

dans sdbasefile.h :
/** \return The first cluster number for a file or directory. */
uint32_t firstCluster() const {return m_firstCluster;}
bool getFilename(char* name);

dans sdbasefile.cpp :
//------------------------------------------------------------------------------
/** Get a file's name
*
* \param[out] name An array of 13 characters for the file's name.
*
* \return The value one, true, is returned for success and
* the value zero, false, is returned for failure.
*/
bool SdBaseFile::getFilename(char* name) {
dir_t* p;
if (!isOpen()) {
DBG_FAIL_MACRO;
goto fail;
}
if (isRoot()) {
name[0] = '/';
name[1] = '\0';
return true;
}
// cache entry
p = cacheDirEntry(SdVolume::CACHE_FOR_READ);
if (!p) {
DBG_FAIL_MACRO;
goto fail;
}
// format name
dirName(*p, name);
return true;

fail:
return false;
}


qu'on ne retrouve dons PAS dans la nouvelle lib :mrgreen:
Avatar du membre
kweeky
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1777
Enregistré le : 05 oct. 2007 19:46
Localisation : Pas très loin de Bordeaux

Re: SIO2Arduino

Message par kweeky »

Il manque peut-être des bouts de code dans l'archive, non ?
En tout cas je vais peut-être attendre s'il faut trop mettre les mains dans le cambouis. Le sio2sd suffit pour le moment pour l'utilisation que je fais de mon Atari.
Avatar du membre
Sir thierry
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1405
Enregistré le : 14 mai 2006 11:42

Re: SIO2Arduino

Message par Sir thierry »

J'ai tellement "construit" de SIO2SD que je n'ai plus de nouveau câble déjà pour tester mon 1050 et pour faire ce montage à base d'Arduino.
Je crois qu'il va me falloir faire du rangement pour espérer en retrouver un.

Pour le code, il va falloir aller sur le forum arduino !!!
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

Sir thierry a écrit : Pour le code, il va falloir aller sur le forum arduino !!!
ou que je trouve le courage de vérifier si la partie du code est indispensable ...

sinon pour ton câble, tu peux récupérer un câble sio et monter une db9 male à l'autre bout, puis tu monte une db9 femelle sur le câble que tu as piraté, de façon à n'avoir besoin que de prises db9 femelle pour tes montages et tes autres periphs.

le connecteur SIO correspond à ça :
1. Clock Input
2. Clock Output
3. Data Input
4. Ground
5. Data Output
6. Ground
7. Command'
8. Motor Control
9. Proceed'
10. +5V/Ready (1200XL lacks +5V thanks to current limit resistor R63. Replace R63 with a jumper wire to enable +5V on this pin on the 1200XL.)
11. SIO Audio Input
12. 400/800: +12V ; XL/XE: Not Connected
13. Interrupt'

les broches 10,11 et 12 ne serves pas et la 13 je suis pas sur, au pire tu détourne la broche 13 vers la 6 de la db 9, sinon tu garde les mêmes numéros de broche (ça aide quand tu y reviens plus tard :roll: )
Avatar du membre
Sir thierry
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1405
Enregistré le : 14 mai 2006 11:42

Re: SIO2Arduino

Message par Sir thierry »

Merci, mais de toute façon il m'en faut un pour tester mon 1050 donc si je dois en acheter un aux USA autant en prendre deux.
Sauf si je trouve ailleurs
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

bon devant les soucis de la version sio2arduino je me suis tourné vers sio2microsd, en transposant le montage sur arduino et en gravant la flash avec un usbasp, ça à l'air de bien fonctionner, sauf que j'ai un soucis avec la lecture de la carte sd ('sd error') quelqu'un à déjà essayé ? si oui sur quels broche faut il branché le lecteur sd sur l'arduino ?

merci d'avance ...
Avatar du membre
Sir thierry
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1405
Enregistré le : 14 mai 2006 11:42

Re: SIO2Arduino

Message par Sir thierry »

J'ai pas encore trop regardé mais tu fais ta selection sur l'atari ? n'accete pas les disk de 16Mo ?

Normalement le code du SIO2SD qui est sur un Atmega devrait pouvoir aller sur Arduino ?
Avatar du membre
Antique
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 240
Enregistré le : 05 sept. 2011 10:09
Localisation : 73- Savoie

Re: SIO2Arduino

Message par Antique »

bon ben du coup j'ai pris une paire d'heure pour bosser dessus (et flinguer la partition windows du portable au passage :mrgreen: Image).
pour l'erreur de lecture, c’était dû à mon montage (breadboard et câble volant, c'est pas toujours terrible), le second soucis vient de mes cartes sd (plusieurs sont bloqués en lecture sans que je sache pourquoi et d'autres pas reconnus), mais bonnnnn j'ai réussi à en avoir une qui fonctionne (mais qui est bloqué en lecture depuis, va falloir que je me penche la dessus), et comme j'avais pas lu la doc du sio2sd j'faisait pas la manip comme il faut pour lancer la disquette.

le lien pour ceux qui veulent tenter l’expérience du sio2sd https://diskwiz.wordpress.com/sio2microsd/

par contre même si c'est un peu plus chiant à mettre en œuvre au départ (il faut réécrire l'eprom de l'arduino), ça marche beaucoup mieux (moins de soucis de lecture de la sd, gestion des 4 lecteurs, pas d'erreur de compil, etc)
donc à choisir, oubliez le sio2arduino (ou alors avec beaucoup de temps et de patience) et tentez plutôt le sio2sd sur arduino, pour le câblage y'a rien de sorcier, suffit de se référer à ça (j'indique juste en rouge les connexion qui sont pas bien indiqués d'origine):

* Menu Button A0
* Up Button A1
* Down Button A2
* Enter Button A3

* LCD Connections *
* LCD RS pin to digital pin 7 (d7)
* LCD Enable pin to digital pin 6 (d6)
* LCD D4 pin to digital pin 5 (d5)
* LCD D5 pin to digital pin 4 (d4)
* LCD D6 pin to digital pin 3 (d3)
* LCD D7 pin to digital pin 2 (d2)
* LCD R/W pin to ground

* Atari Connections *
* Atari SIO Pin 4 or 6 Black to Arduino GND
* Atari SIO Pin 5 Green to Pin 0 TX (D0)
* Atari SIO Pin 3 Orange to Pin 1 RX (D1)
* Atari SIO Pin 7 Violet to Pin 8 Digital Input (D8)

* SD Card Pinout *
* Pin 10 CS (be sure to protect to 3.3v) (d10)
* Pin 11 DI (be sure to protect to 3.3v) d11 vers MOSI
* Pin 12 DO d12 vers MISO
* Pin 13 SCK (be sure to protect to 3.3v) (d13)
Avatar du membre
Sir thierry
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1405
Enregistré le : 14 mai 2006 11:42

Re: SIO2Arduino

Message par Sir thierry »

tu fais faire le pcb du SIO2SD ou tu le fais toi comme un grand ?

Je voudrais en refaire mais il me faudrait le pcb.

PS : je viens d'aller voir ton lien et je commence à comprendre. Comme dans mon idée, j'étais parti sur des arduino avec carte SD sur la partie RJ45, je ne comprenais pas trop.
En fait, sauf erreur, sur la seconde version, il est parti d'un UNO et sur une plaque d'essai il a rajouté les boutons et le SD. Il n'est pas possible de reprendre celui du RJ45 ?
Ensuite, quel version du compilateur pour Arduino as tu pris pour compiler le HEX ?
Remarque tu pourrais essayer, si tu as le temps, de nous expliquer le matos nécessaire puis la compilation ?

Dés que j'ai fini mes ventes, et mes colis, je regarde cela de plus prêt.
Répondre

Retourner vers « Atari 8bits »