SDLEP-READER remplace tous les magnétophones d'ordinateurs.

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

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

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Daniel »

@Voyageur : Merci pour ce retour d'information. Faire un article sur SDLEP-READER est une bonne idée pour faire connaître ce système.

Quant à vouloir développer avec un Arduino un périphérique capable d'enregistrer la sortie de l'ordinateur dans un fichier .lep, j'ai exactement les mêmes arguments que hlide pour dire que c'est extrêmement difficile. J'en ajoute un autre : il n'est pas sûr que l'Arduino soit assez rapide pour lire le signal, le coder au format .lep et l'écrire sur la carte SD en temps réel.

Au départ, SDLEP-READER a été développé pour Thomson dans le but de lire les programmes sur cassette n'ayant pas encore été convertis en disquette. Avec les ordinateurs Thomson l'écriture d'une cassette n'a aucun intérêt, il est beaucoup plus simple et cent fois plus rapide d'écrire dans une image de disquette sur carte SD, ou même dans une "vraie" disquette.

Pour d'autres ordinateurs ne disposant pas de disquette ni de carte SD, je conçois bien que l'écriture d'une cassette soit nécessaire. Je souhaite bon courage au développeur qui voudra se lancer dans le projet.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par hlide »

Pas impossible mais avec des limitations : http://tmrh20.github.io/AAAudio/

- il faut utiliser la libraririe SdFat qui est nettement plus rapide que la librarie Sd standard.
- dans le cas d'un UNO/NANO/MEGA, il peut lire jusqu'à du WAV 24-32 KHz, 8-bit, mono et enregistrer du 11-16 KHz.

Cependant le source utilise par défaut du 16KHz pour du 16MHz.

Ce que j'en pense :
- l'écriture DAC se fait apparemment au travers d'un timer #1 avec un buffer de 128 octets (paramétrable) - on capture donc un sample avec une périodicité précise en libérant des cycles CPU pour faire autre chose en parallèle hors interruption.
- la lecture ADC se fait apparemment au travers d'une DMA avec un buffer de 128 octets (paramétrable) - on émet donc un sample avec une périodicité précise en libérant des cycles CPU pour faire autre chose en parallèle.
- si on converti directement le sample en LEP et non en WAV, on a beaucoup moins d'activité d'écriture dans le SD et donc on est moins sensible au temps passé à écrire un octet dans le SD. En effet, en lisant le sample dans l'interruption, on détermine en fonction d'un seuil si le signal est haut ou bas, et tant que le créneau reste le même à chaque sample, on n'écrit pas l'octet final dans le buffer sauf si le nombre de samples excède ce que l'octet peut encoder. Bref, on reprend l'algorithme de conversion de DCLEP : l'activité DMA fait le travail de remplir le buffer avec des données LEP. En dehors de l'interruption, on vide le buffer dans le SD avec moins de pression que si ça avait été des samples WAV car le nombre d'octet LEP varie en fonction de la periode d'une pulsation. Dans mon cas, une pulsation longue faisait 21 samples à 44,1 KHz. Si on ramène à 16KHz, on aurait besoin de 7-8 samples à 16KHz pour encoder un seul octet LEP représentant une pulsation longue.
- généralement il y a des marquages au début genre GAP/TAPEMARK qui sont souvent une succession de pulsation courte/longue. On pourrait donc déterminer par ce biais les valeurs médianes d'une pulsation courte et d'une pulsation longue pour pouvoir corriger ces périodes et enregister des octets LEP plus propres.
- l'avantage à avoir un DAC ici n'est pas évident puisque l'on peut se contenter d'une sortie tout ou rien comme c'est déjà le cas avec SDLEP-READER. Néanmoins, le fait d'utiliser le timer #1 pour émettre les pulsations avec des périodes précises est tentant. Si effectivement l'interruption se contente de "consommer" l'octet LEP courant de cette manière :

Code : Tout sélectionner

ISR(TIMER1_OVF_vect)
{
	// lep_bit       : définit l'état BAS ou HAUT du créneau de l'octet LEP courant, initialement à HAUT
	// lep_period    : définit la période de la pulsation de l'octet LEP courant, initialement à 1
	// lep_next_data : octet LEP à venir préchargé depuis le SD en dehors de l'interruption

	// fin de période de la pulsation avant inversion d'état pour marquer un front ?		
	if (--lep_period == 0)
	{
		// on se prépare avec l'octet suivant.
		lep_bit    = (lep_next_data < 0) ? false : true;
		lep_period = (lep_bit ? lep_next_data : -lep_next_data) & 127;
		
		// et on informe le code en dehors de l'interruption.
		// qu'il faut charger l'octet suivant dans lep_next_data.
		lep_next_data_needed = true;
		
		// case spécial d'une période à 0.
		if (lep_period == 0)
		{
			// la période de la pulsation précédente se prolonge avec l'octet suivant.
			lep_period = lep_bit ? 127 : -127;
		}
		// cas nominal
		else
		{
			// on change la valeur du pin READ		
			setReadPin(lep_bit);
		}
	}
}
Après l'argument d'utiliser l'interruption timer #1 pour une résolution de 16 µs peut sembler discutable.
Avatar de l’utilisateur
Dim_75
Messages : 18
Inscription : 11 juil. 2018 19:49

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Dim_75 »

Bonjour Daniel, Xavier m'a informé que j'étais passé à côté de ta réalisation utilisable aussi pour ZX et autres 8 bits de l'époque.
A la lecture des posts je suis enthousiaste :P et souhaiterais acquérir 2 kits (1 pour moi et un autre pour un collègue également sur ZX).

Tu as toujours de quoi faire les lots ?

Pour le premier kit je suis preneur d'un lot 1 + d'un lot 2 + d'un lot 3 (pour mes ZX et CPC/C64).
Pour le deuxième kit il ne faudrait que le lot 1 et le lot 3 (juste pour ZX81).

Les prix sont toujours les mêmes ?
A savoir dans mon cas :
kit 1 : 7+3+3+5 = 18e
kit 2 : 7+3+5 = 15e
sauf si les frais pour deux kit sont en une fois mais d'un autre montant ?
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Daniel »

Il y a bien longtemps que je n'ai pas préparé de kit SDLEP-READER, mais c'est possible, j'ai encore les pièces. Il faudra juste un jour ou deux de délai pour tout rassembler et programmer les Arduinos.

Les lots de câbles ont été composés à titre indicatif, mais on peut personnaliser en fonction des ordinateurs, éventuellement ajouter des composants (fils, potentiomètre, connecteurs) ou retirer ceux qui ne servent pas. Le mieux serait d'oublier les lots Thomson et VG500 et de lister tous les connecteurs, composants et fils nécessaires pour préparer un lot sur mesure.

Pour deux modules le poids ne devrait pas dépasser 100g, il n'y aura que 5€ de frais pour l'ensemble.

Il faut rappeler que ce sont des composants bruts, il y a du travail pour préparer la plaque cuivrée (couper des pistes, ajouter des connexions) et souder les divers éléments du module et des câbles.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par hlide »

Oui je confirme qu'il y a de la soudure à faire et des coupures sur les pistes de cuivre donc soyez bien équipés avec ce qu'il faut pour monter ces kits.
Dernière modification par hlide le 13 juil. 2018 18:36, modifié 1 fois.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Daniel »

Sinon il y a le PCB proposé par Falkor, mais je ne sais pas s'il est toujours disponible : https://forum.system-cfg.com/viewtopic.php?f=18&t=8164
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dim_75
Messages : 18
Inscription : 11 juil. 2018 19:49

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Dim_75 »

Merci de vos réponses :)
oui j'ai de quoi faire mes soudures et si besoin ajouter d'autres composants.

Je demande à Falkor s'il lui reste des PCB et je reviens vers toi en MP pour ne pas polluer le topic
Qefrine
Messages : 32
Inscription : 14 oct. 2018 12:18
Localisation : Haute-Savoie

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Qefrine »

Bonjour Daniel,

As-tu encore les pièces pour faire des lots SDLEP-READER ?
Si oui, je serais preneur d’un kit composé des lots 1, 2 et4.

Merci d’avance.
Aurélien
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Daniel »

J'ai arrêté de vendre les kits SDLEP-READER, pour différentes raisons plus ou moins valables :
- Toutes les pièces peuvent être trouvées facilement (en Chine) grâce à ebay.
- La préparation et l'expédition des kits prend beaucoup de temps.
- Plusieurs acheteurs n'ont pas réussi à le monter et le faire fonctionner.
- Falkor a fait fabriquer un circuit imprimé qui rend le montage plus facile.
- Le temps de chargement d'un jeu avec SDLEP-READER est très long (comme avec un magnétophone).
- J'ai d'autres réalisations à base de carte SD qui m'occupent beaucoup (SDDRIVE et CS91-280).

Je viens d'éditer le premier post du fil de discussion pour supprimer la proposition de vente des composants.
Bien entendu je suis toujours là (dans ce fil de discussion) pour l'assistance au montage et à l'utilisation.
Daniel
L'obstacle augmente mon ardeur.
Qefrine
Messages : 32
Inscription : 14 oct. 2018 12:18
Localisation : Haute-Savoie

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Qefrine »

Entendu, merci pour la réponse. Je vais voir pour le circuit imprimé sur la page dédiée, et tâcher de trouver tous les composants.
Concernant le temps de chargement aussi long qu'un magnétophone, ma foi, combien d'heures n'ai-je pas passé dans les années 80, à attendre qu'un programme se charge ! Cela fait partie du charme de nos vieilles bécanes. ;)
Je reviendrai volontiers sur ce fil pour obtenir de l'aide, le moment venu !
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par aotta »

J'aime le projet sdlep, ne trouvant qu'un seul défaut ... les commutateurs permettant de choisir le fichier. J'ai donc fait une petite modification: arduino one à la place de la mini et d'un écran LCD TFT avec une carte SD intégrée, et évidemment modifié le sketch .ino: maintenant je choisis le fichier sur vidéo ;)
sdlep6.jpg
sdlep6.jpg (52.49 Kio) Consulté 3495 fois
sdlep7.jpg
sdlep7.jpg (70.04 Kio) Consulté 3495 fois
sdlep3.jpg
sdlep3.jpg (87.52 Kio) Consulté 3495 fois
sd-lep-TFT.zip
(10.95 Kio) Téléchargé 130 fois
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Daniel »

Ce système avec un écran pour choisir le fichier était le rêve de beaucoup d'utilisateurs. Grâce à ce projet il devient une réalité. Félicitations !
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par Carl »

Bravo pour ce sdlep avec écran !
Carl
aotta
Messages : 66
Inscription : 09 janv. 2019 14:26
Localisation : Pesaro, Italie

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par aotta »

Merci pour l'appréciation! et, par rapport à la version originale, il y a d’autres avantages: moins de soudures (seulement les diodes - je mets deux en série pour réduire la tension de 12V, mon clone chauffe toujours beaucoup - et le diode LED - doit être connectée à la broche A5 car le D2 est utilisé du bouclier) et pas besoin d'un PCB.
Le code n'est pas optimisé, mais cela fonctionne. J'ai dû abandonner à l'ajout de la barre de progression, car le timing de la routine de chargement (c'est l'original) ne permet pas le délai minimal d'exécution, mais d'autres contributions sont les bienvenues. Le sketch utilise des bibliothèques supplémentaires (Sdfat et l'adafruit pour l'écran LCD TFT).
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: SDLEP-READER remplace tous les magnétophones d'ordinateurs.

Message par hlide »

Peut-on trouver le sketch quelque part ? j'ai un écran qui doit-être compatible.
Répondre