Page 1 sur 2

Soucis lecture cassette avec TRS80 Modèle 1

Publié : 14 mai 2017 16:22
par Falkor
Bonjour à tous,

J'ai quelques soucis avec mon TRS80 Modèle 1. Tout fonctionne parfaitement, sauf l'importation d'un signal cassette. :?

J'ai fabriqué le câble DIN5 <-> jack 3.5 qui va bien (ne l'ayant pas récupéré avec la machine), puis utilisé l'utilitaire CAS2WAV disponible ici pour fabriquer un fichier wav. J'ai également pu générer des fichiers WAV avec l'émulateur SDLTRS.

J'espérais donc pouvoir directement émuler le lecteur K7 via la sortie son de mon PC, comme déjà fait sur d'autres machines. Problème, le TRS placé en mode chargement avec la commande CLOAD ne réagit absolument pas au signal son. J'ai testé une augmentation du volume à différents niveaux, rien à faire. :(

J'ai vérifié la continuité entre mon jack et la carte mère (signal et masse). Le signal passe bien par la fiche DIN5 d'entrée et arrive sur les quelques composants de l'étage d'entrée. J'ai pu aussi vérifier que les broches "moteur" se ferment bien.

J'ai testé l'enregistrement d'un programme depuis le TRS en plaçant un ampli sur la sortie cassette de la fiche DIN, et avec la commande ASAVE. RAS, j'ai bien le signal sonore caractéristique.

Je précise que la carte mère est dans un état plus que correct. J'ai refait quelques soudures qui me paraissaient limites, mais globalement je n'ai eu aucun autre souci avec cette machine. Je me demande donc si je ne suis pas passé à coté de quelque chose d'évident (genre obligation de mettre le nom du programme entre "" avec la commande CLOAD... mais apparemment non).

Wikipédia indique toutefois ceci :
It was sensitive to audio volume changes,[18] and the machine gave only the very crudest indication as to whether the correct volume was set, via a blinking character on screen while data was being loaded. To find the correct volume, one would sometimes have to attempt to load a program once, adjusting volume until the machine picked up the data, then reset the machine, rewind the tape and attempt the loading again.
Je ne vois pas du tout quel peut-être ce caractère qui clignote ?

Quelqu'un à déjà eu des problèmes comparables sur cette machine ? Là pour l'instant je ne vois pas trop comment poursuivre, à part sortir l'oscillo pour tracer le signal. Heureusement le service manual est assez clair sur le fonctionnement de l'étage d'entrée. Mais je suis peut-être passé à coté d'un truc évident ? :?:

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 14 mai 2017 18:22
par gleike
Attention, la commande CLOAD ne sert à lire que les programmes BASIC sur K7,
si le programme est au format assembleur langage machine, il faut utiliser la commande SYSTEM.

A la détection du signal par le TRS80, 2 étoiles apparaissent en haut a gauche de l’écran et une des 2 clignote (celle de droite),
régulièrement pour un programme SYSTEM, de façon aléatoire pour un programme BASIC
(c'est en fonction de la longueur des lignes, 256 caractères pour SYSTEM et plus ou moins longue pour BASIC).

En cas d'erreur de lecture au format SYSTEM, l’étoile clignotante se transforme en C (checksum error)
pour le BASIC pas d'erreurs détectées, juste de la bouillie au listing.

Je n'ai jamais eu de problèmes de lectures en branchant la carte son du PC au TRS80,
par contre avec le magnéto d'origine c'est la galère.

Attention a la version du BASIC du TRS80, la vitesse de transmission est de 250 Bauds en basic level 1
et de 500 Bauds en basic level 2.

Pour vérifier le fonctionnement, tu peux taper ce petit programme qui lit le port K7

10 print inp(255);: goto 10

la valeur devrait changer pendant la lecture.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 14 mai 2017 20:48
par Falkor
Merci pour ces premiers éléments.

Mon TRS à l'invite m'indique "R/S L2 basic". C'est donc bien du level 2. (même si mon émulateur indique lui "LEVEL II")...?

Testé la boucle inp(255), j'ai 127 en boucle. Aucune différence quand le son est joué. :-( Je confirme également que mes programmes sont basic et que les étoiles n'apparaissent jamais.

J'ai regardé la doc de mon logiciel cas2wav, il n'indique pas à quel bauds il travaille.
On s'oriente donc sur un souci hardware ? j'imprime les plans et je trace le signal à l'oscillo ?

Édit : le inp(255) doit-il réagir à la fois à 250 et 500 bauds ?

Et le fait qu'il m'affiche 127 me fait penser à une entrée analogique. C'est bien le cas ? Si c'est le signal cassette "nettoyé" j'aurais pensé à une entrée digitale ?

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 15 mai 2017 10:35
par gleike
En fait le port 255 sur le TRS80 gère plusieurs choses, et seul le bit 7 de la valeur lue donne l’état du bit série venant de la K7
après être passé dans dans un ampli op LM3900 pour le filtrage, l'amplification et l’écrêtage
avant d'être stocké dans la bascule constituée par les 2 portes NAND 74132

Le programme cas2wav ne fait que transformer le fichier cas en fichier wav , qui lui est déjà en 250 ou 500 bauds.

Etant donné que les entrées VIDEO, K7 et alimentation ont le même type de connecteur,
une inversion a du provoquer la destruction du LM3900, la masse du trs80 a reçu du +12V et l'entré du lm3900 a été mise a la masse.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 15 mai 2017 10:52
par Falkor
Ok c'est plus clair. Donc un coup d'oscillo avant/après le LM3900 suffira pour lever le doute ? J'ai directement les bits en TTL en sortie ?

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 15 mai 2017 10:58
par gleike
Exactement , le signal "propre" sort sur la patte 10 du LM3900 (Z4) et rentre dans la patte 9 du 74132 ( Z24)

La commande out 255,4 doit te faire entendre coller le relais de télécommande K7.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 15 mai 2017 11:05
par Falkor
Super merci je vérifie ça ! :)

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 19 mai 2017 07:56
par Falkor
Bon hier soir j'ai sorti l'oscilloscope. Bonne nouvelle : j'ai enfin réussi à charger un programme ! :)

Mauvaise nouvelle : je ne sais pas pourquoi ça a marché :mrgreen:

J'ai bien visualisé le signal en amont des amplis-op, et effectivement rien au niveau des latchs de Z24. Je progresse dans le circuit en testant point à point (avec mon WAV tournant en boucle). Je faisait une liste des broches sur lesquelles je voyais le signal, et je me suis rendu compte à un moment que j'avais noté "signal absent" une broche qui maintenant avait le signal.

Je pense avoir dû bouger un composant avec ma sonde... Je vais refaire quelques soudures, en insistant cette fois ci sur le dessus de la carte. Une soudure traversante doit sûrement être en cause...

A suivre, mais je suis bien parti :)

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 19 mai 2017 14:32
par gleike
C'est une bonne nouvelle,
effectivement il s'agit peut-être d'une mauvaise soudure,
vérifier les soudures du socle DIN beaucoup sollicité par les retraits et insertions fréquentes.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 08:29
par Falkor
Question supplémentaire pour les pros du TRS...

J'ai bien compris que pour charger un programme assembleur je devais faire d'abord SYSTEM, puis taper le nom du programme, le charger, puis faire "\" pour lancer l’exécution.

Comment faire si on ne dispose pas du nom du programme à taper après la commande SYSTEM ? Possibilité d'utiliser un caractère générique type * ou "" ? Regardé les quelques docs que j'avais, rien trouvé.

Merci :)

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 18:43
par gleike
Effectivement, il y a un caractère générique a taper après la commande SYSTEM
quand on ne connait pas le nom du programme a charger,
malheureusement je ne m'en souviens plus depuis le temps que je n'utilise plus de cassette sur le TRS80.
Je l'avais noté quelque part mais je retrouve plus le papier.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 19:47
par fneck
Je n'ai jamais utilisé de lecteur de cassettes avec un TRS80, donc je n'ai pas la réponse :|
En recherchant des infos sur la commande SYSTEM, je suis tombé sur ce fil https://groups.google.com/forum/#!topic ... 4MAQEgSKtQ

Prendre la réponse de VanHouten (2ème post du fil), qui de mémoire dit qu'il suffit de taper <ENTER> :
Going by memory, so I may be wrong...
<ENTER>
Load next command file from tape
MYPROG<ENTER>
Load command file "MYPROG" from tape
/12345<ENTER>
Execute machine language starting at decimal address 12345

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 21:38
par nicolho
Euh.. le manuel du Basic du TRS-80 (facilement trouvable sur Internet) peut-être ? :) :
trs80_system_command.jpg
trs80_system_command.jpg (165.16 Kio) Consulté 5004 fois

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 22:24
par fneck
J'avais évidemment aussi regardé dans le manuel et justement celui-ci indique bien qu'il faut entrer un nom de fichier à l'invite "?"
Il ne parle pas de l'utilisation d'un caractère générique ou d'absence de nom de fichier.

Re: Soucis lecture cassette avec TRS80 Modèle 1

Publié : 24 août 2017 22:32
par nicolho
En effet. Dans le message que tu as retrouvé, on dirait qu'il propose de taper juste la touche "enter" sans nom de fichier (à l'invite "*?", après un SYSTEM + entrée), ça paraîtrait logique mais Falkor a probablement déjà essayé comme ça...