it regularly difficult to spot, aside from maybe by a genuine Rolex replica history specialist, in light of the fact that the best phony Rolex are 95% made by Rolex. If you want to know how often you should optimally be winding your rolex replica watch, Click Here.

Lecteur / enregistr...
 
Notifications
Retirer tout

Lecteur / enregistreur carte sd sur port cassette

9 Posts
3 Utilisateurs
1 Reactions
34 Vu
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

Bonjour à tous,

Sur l'invitation de Didier_v je viens découvrir ce fabuleux forum, je ne pensais pas qu'il y avait encore autant d'activité autour de cette petite machine, ça fait plaisir. Je m'appelle Claire, j'ai eu mon premier Oric à 15 ans et 40 ans plus tard je viens d'en acheter un nouveau par nostalgie et le premier étant malheureusement perdu à jamais... Depuis janvier je me suis dit que ça serait sympa de me faire un petit lecteur de carte SD. Alors je sais bien qu'il existe plusieurs modèles, j'ai d'ailleurs acheté un Erebus que je trouve incroyablement rapide, j'avais jamais vu ça à l'époque, je n'avais pas les moyens de m'acheter un lecteur de disquettes alors je faisais avec le bon vieux magnétophone à cassette. J'avais envie de faire quelque chose qui se rapproche de l'expérience que j'avais vécu avec l'Oric mais en plus moderne et surtout qui puisse enregistrer des programmes.

Mon projet est bien avancé, il fonctionne, on peut lire les fichiers TAP et aussi sauvegarder les programmes toujours au format TAP avec seulement les instructions CLOAD et CSAVE. Il se connecte sur le port cassette, il a une prise USB C pour l'alimentation et tiendra dans un petit boitier de environ 3*7 cm. L'utilisation est simple on tape CLOAD" et on obtient le directory de la carte SD, on peut changer de répertoire et on peut théoriquement lire toutes sortes de carte sd en fat 16 ou 32. on peut sélectionner un fichier manuellement avant de faire cload, il suffit de taper la commande ? suivie du nom du programme ex: CSAVE"?TEST" (faire new avant sinon on envoie tout le prg en mémoire ou alors utiliser la fonction STORE) cette fonction va indiquer à la carte qu'on veut lire le fichier TEST.TAP, il suffit ensuite de taper CLOAD"" et l'Oric va lire le programme TEST.TAP

Pour sauvegarder on tape simplement CSAVE"TEST" et le programme sera transféré sur la carte SD avec le nom TEST.TAP

J'ai encore des fonctions que je souhaite ajouter comme la possibilité d'envoyer des données par le port série de l'esp32 ou d'autres petites choses. On pourrait imaginer aussi une option comme l'excellent projet Novalight qui permettrait d'accélérer les transferts mais bon là ça se complique.

Pour faire ce projet j'ai utilisé un esp32 que j'ai programmé en C++, tout cela était nouveau pour moi et j'ai dû aussi décrypter le protocole de communication de l'Oric sur le port cassette avec ses petites subtilités, d'ailleurs je n'ai pas encore compris pourquoi certains jeux comme Driver par exemple provoquent des erreurs, j'ai vu que les anciens éditeurs de jeux utilisaient des astuces contre le piratage, on verra ça plus tard.

J'essaie de vous mettre quelques photos.

A bientôt !

1744807467-IMG_20250416_132035.jpg

   
Dany reacted
Citation
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

Le directory ne faites pas attention à ce qui est affiché à l'écran c'est juste pour les tests

1744815448-IMG_20250416_131650.jpg
Ce message a été modifié Il y a 3 jours parAtmosphere
Ce message a été modifié Il y a 2 jours parAtmosphere

   
RépondreCitation
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

La lecture d'un prg...

1744808097-IMG_20250416_133128.jpg

   
RépondreCitation
didier_v
(@didier_v)
Membre Admin
Inscription: Il y a 6 ans
Posts: 514
 

Bonjour Claire et bienvenue

Bravo pour ce premier post décrivant ta création. Comme je crois qu'il y a des experts en ESP32 sur le forum, tu devrais trouver des amis

Didier


   
RépondreCitation
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

Merci Didier 😉 ,si quelqu'un sait comment on utilise les routines décrites dans la doc de l'atmos pour envoyer des octets sur le port cassette, ça m'intéresse.


   
RépondreCitation
assinie
(@assinie)
Membre
Inscription: Il y a 5 ans
Posts: 62
 

@atmosphere

Bonjour, post et projet intéressants.

Il y a en gros quatre routines pour écrire un fichier sur une K7 (en plus de CSAVE qui les encapsule):

  • une pour l'écriture de l'entête du fichier
  • une pour l'écriture d'un bloc mémoire
  • une pour l'écriture d'un seul octet
  • une pour l'écriture d'un bit

À celà s'ajoute la routine d'initialisation du VIA et sa remise en état.

Il peut y avoir des différences entre l'Oric-1 et l'Atmos.

Est-ce que tu veux les détails de chacune ou seulement de certaines?
Peux-tu me dire à quelle doc tu fais référence?


   
RépondreCitation
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

Bonjour Assinie, en fait j'aurais besoin dans un premier temps d'envoyer des octets, on va dire une série de 15 octets environ pour envoyer une commande à l'esp32. Actuellement je me sers de la fonction csave en basic pour faire ça mais ça impose d'envoyer déjà les 256 bytes de synchro puis l'entête du fichier ce qui ralenti la communication alors que j'ai besoin juste d'une quinzaine d'octets.

Il faut aussi que le petit programme que j'envoie lors de l'affichage du directory soit le plus court possible pour diminuer le temps de chargement. Ce petit programme permet de dialoguer avec l'Oric pour afficher le DIR et de sélectionner le programme à charger. L'appel de la routine qui sert à communiquer avec l'esp32 doit donc être facile à mettre en oeuvre sinon on augmente le temps de chargement et ça devient pas intéressant.

Le seul document auquel je fais référence c'est le bouquin fourni avec l'Oric, il mentionne ces 4 routines mais ils n'expliquent pas comment s'en servir.

Par la suite j'ai envie de faire une sorte de terminal série qui utiliserait la sortie série de l'esp32, j'aimerais aussi permettre d'autres connexions avec le monde extérieur.


   
RépondreCitation
didier_v
(@didier_v)
Membre Admin
Inscription: Il y a 6 ans
Posts: 514
 

Mon humble avis, mais je suis nul en hardware donc je n'ai pas d'idée de la faisabilité

J'aurais rendu le périphérique indépendant de l'oric, donc esp32 + boutons + écran (ou écran tactile)

l'esp se conporterai comme le magnétophone. je sélectionne le fichier sur l'esp32, je fais play et des que l'oric lance cload, c'est parti

idem dans l'autre sens : je fais rec, je fais csave "nom" et voila. pas sur que cela soit judicieux de faire des échanges pour faire la sélection à l'écran


   
RépondreCitation
Atmosphere
(@atmosphere)
Active Member
Inscription: Il y a 7 jours
Posts: 6
Début du sujet  

Posté par: @didier_v

Mon humble avis, mais je suis nul en hardware donc je n'ai pas d'idée de la faisabilité

J'aurais rendu le périphérique indépendant de l'oric, donc esp32 + boutons + écran (ou écran tactile)

l'esp se conporterai comme le magnétophone. je sélectionne le fichier sur l'esp32, je fais play et des que l'oric lance cload, c'est parti

idem dans l'autre sens : je fais rec, je fais csave "nom" et voila. pas sur que cela soit judicieux de faire des échanges pour faire la sélection à l'écran

En fait c'est ce que je comptais faire au début du projet mais j'ai trouvé bien plus intéressant de rendre le port cassette communicant avec l'esp car je trouve que ça sort de l'ordinaire, ça rend le port cassette intelligent et c'est un peu un défi de vouloir le détourner de ce pour quoi il était fait au départ. 

Ca marche déjà bien, l'esp n'a pas besoin d'être activé par l'opérateur comme avec un magnétophone, tout se fait depuis l'oric, on tape cload et obtient le dir sans toucher à l'esp, de même pour csave, on peut si on veut intégrer un petit esp dans l'oric, pas besoin de l'écran dans l'absolu et ça laisse les autres ports libres. 

 


   
RépondreCitation
Share: