Transférer un listing BASIC sur un ordinateur 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

Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

[edit Fabien : sujet initial divisé]

Bonjour à tous,

Je ne suis sans doute pas le premier à venir ici après le hors-série de Canard PC hardware sur les ordinosaures mais si les interfaces SD semblent intéressantes, elles ne correspondent pas à mon besoin.

Ce que j'aimerais, c'est pouvoir charger un listing BASIC écrit sur sur mon PC au format texte, le transférer d'une manière ou d'une autre sur mon MO5 (modèle Platini mais ça ne devrait rien changer) et le charger. Idéalement, le modifier sur le MO5, les erreurs ça arrive, et l'enregistrer à nouveau au format texte.

D'après ce que je vois avec l'émulateur DCMO5, ce sont des fichiers binaires, des images bit à bit de cassettes ou de disquettes. J'avais bien pensé copier-coller mon code source dans l'émulateur, lui faire écrire sur une cassette ou disquette virtuelle et faire charger ce fichier par le vrai MO5, mais l'émulateur ne permet pas de recopier de grandes quantités de texte.

Merci !
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Zaxxon »

Salut Oursique,
Ce que j'aimerais, c'est pouvoir charger un listing BASIC écrit sur sur mon PC au format texte, le transférer d'une manière ou d'une autre sur mon MO5 (modèle Platini mais ça ne devrait rien changer) et le charger. Idéalement, le modifier sur le MO5, les erreurs ça arrive, et l'enregistrer à nouveau au format texte.
Ce n'est pas si simple, dans la mesure ou le basic de microsoft utilise des tokens dans le basic, afin de reduire la taille des programmes basic lors de la sauvegarde, néanmoins un mode existe de sauvegarde "ascii", qui permet de sauvegarder en mode texte un programme basic (save "tonprogramme.bas",a). Là encore on se heurte a un soucis dans la mesure ou le jeu de caractère n'est pas tout a fait identique, et qu'il faut de plus encapsuler le programme sur un fichier k7.

C'est là qu'un programme écrit par Xavier, membre également de ce forum, arrive à point nommé. Il a été écrit en visual basic mais fonctionne également sous linux via wine (enfin pour ma part ;)). Il permet de transférer un fichier texte écrit sur ton pc, et de créer une k7. Très sympa, tu le trouveras à cette adresse :
http://dskcenter.free.fr/TO7/

Après il te faudra, transformer ce k7 en wav pour en faire une cassette utilisable sur un vrai MO5. Tu trouveras l'utilitaire de Daniel, DCMOK7 sur son site :
http://dcmoto.free.fr/emulateur/index.html

Si tu ne veux pas t’embêter à créer de vraies cassettes, et lire des wav directement sur ton lecteur, j'ai donné dans un post, le schéma pour modifier simplement un lecteur de cassette mo5/to7, et lui ajouter une prise jack afin de lire les wav depuis ton pc, un lecteur mp3, ton téléphone :
http://forum.system-cfg.com/viewtopic.p ... =+cassette

Daniel a également fourni sur son site un montage permettant de se passer directement d'un lecteur de cassette (uniquement mo5) pour la lecture :
http://dcmoto.free.fr/bricolage/interfa ... index.html

Par contre faire les modifications sur le mo5 puis les rapatrier sur PC est plus délicat. il te faut un extracteur de fichiers à l'intérieur de fichier k7 (après avoir converti la cassette en wav puis en fichier k7). J'en ai codé un pour le TO7 (Edit : Format différent de cassette du mo5) mais je n'en ai pas pour le mo5 :/.

Édit :
---------
Pulkomandy à programmé un programme en C pour extraire des fichiers d'une cassette mo5.
Disponible sur son site :
http://pulkomandy.tk/projects/thomson/b ... ools/xk5.c
______
Le mieux dans ce cas est de noter les erreurs, puis de les corriger sur ton pc.

Tu peux accélérer ton dev en utilisant un émulateur lors du développement et des tests (ça évite la création de cassette/wav), et basculer ton programme basic sur mo5 quand il est terminé, avec la méthode donnée plus haut.

L'avantage de la carte sd de Daniel, est qu'elle émule un lecteur de disquette, ce qui est fort sympathique (et y transférer tes programmes Basic), et c'est vraiment sympa :)
Dernière modification par Zaxxon le 05 août 2016 13:39, modifié 1 fois.
Thomas,
Xavier

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Xavier »

Je suis en tout point d'accord avec Thomas.

Mais, après lecture et relecture de la partie :
J'avais bien pensé copier-coller mon code source dans l'émulateur, lui faire écrire sur une cassette ou disquette virtuelle et faire charger ce fichier par le vrai MO5, mais l'émulateur ne permet pas de recopier de grandes quantités de texte.
Mais, je n'ai pas trouvé de réponses "simples" à cette demande compliquée.
En deux mots, du texte PC on passe sur K7 puis sauvegarde ASCII sur MO5... puis rechargement du texte sur PC!
Bon... avant que Daniel ne vente (à juste titre) les bienfaits thérapeutique des émulateurs, du SDMO5 et de l'ensemble de la panoplie DC... j'aimerai dire que l'utilisation d'un émulateur serai beaucoup plus simple.
D'un autre côté, se compliquer la vie, permet parfois, de trouver des altératives séduisantes.

Pour moi, le plus simple serai de paramétrer un port Centronics en entrée, et en sortie, pour traiter exclusivement du ASCII.
Mais, nous nous heurtons aussi au problème des fichiers de "grandes quantité".
Avec du ASCII, comme avec un copier coller sur émulateur, l'émulateur ne bloque pas pour des raisons d'incompatibilité, mais pour des problèmes de mémoire!
Si le programme basic est retranscrit en mémoire sous forme native, avec une taille qui pourra être vérifiable en terme d'encombrement mémoire Basic.
A contrario, le remplissage par "copier/coller" ou en fichiers ASCII sur fichier cassette, pourront provoquer une erreur ou un plantage du basic en cas de débordement.
Donc, je parlais du port Centronics car l'exportation ce fait directement en ASCII vers le PC (comme pour une imprimante) et en entrée, il est possible de créer un fichier texte, directement sauvegardable sur la machine via le lecteur de cassette.
Mais, là aussi, le flux PC-MO5 en mode texte sera gourmand en "buffer" au chargement car la taille du fichier ASCII prendra beaucoup plus de place qu'en mode compilé!
Il faudra compter 2 tiers de mémoire Basic pour un buffer contenu dans la mémoire entière.
Il te faudra donc chaîner les buffers des données provenant de l'interface Centronics PC>MO5.
Côté PC, pas de réelles difficulté, mais coté MO5, il faudra créer (ou trouver) un gestionnaire de buffers, qui seront sauvegardés à la volée.
Un simple listage sur le port Centronics sur MO5, te donnera un fichier texte, à l'autre bout, côté PC.
Il te faudra donc te procurer ce type d'interface sur MO5, et un hyper-terminal sur PC.
Le protocole Centronics de ton MO5 reste à étudier... 7 ou 8 bits, pour le rendre compatible avec le PC...
Sinon, les méthodes de transfères cassettes seront beaucoup plus pénibles, dans le cas d'une utilisation répétée.

Mais, la solution SD semble être une solution plus adaptée... en complément de l'émulateur DCmo5.

Peux-tu expliquer "grandes quantités de texte", car c'est assez vague.
Des problèmes de temps de frappe (on peut augmenter la vitesse de l'émulateur!) ou de taille mémoire ?
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Daniel »

Cette discussion est très intéressante, mais hors-sujet dans ce fil de discussion. J'en ouvre un autre, dans lequel il faudrait transférer les 3 posts ci-dessus.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Transférer un listing BASIC sur un ordinateur Thomson.

Message par Daniel »

Oursique a écrit :D'après ce que je vois avec l'émulateur DCMO5, ce sont des fichiers binaires, des images bit à bit de cassettes ou de disquettes. J'avais bien pensé copier-coller mon code source dans l'émulateur, lui faire écrire sur une cassette ou disquette virtuelle et faire charger ce fichier par le vrai MO5, mais l'émulateur ne permet pas de recopier de grandes quantités de texte.

Merci !
Bonjour Oursique et bienvenue dans le forum.

Je ne comprends pas pourquoi tu écris que l'émulateur ne permet pas de recopier de grandes quantités de texte ?
Il a servi à recopier tous les listings d'Hebdogiciel, ça fait quand même pas mal de milliers de lignes !

[Edit]
Ah si, j'ai compris ! Tu utilises dcmo5. Ce n'est pas le bon choix.
Il faut utiliser dcmoto, c'est un émulateur beaucoup plus perfectionné avec de nombreuses fonctions supplémentaires.
[/Edit]


Voici ma méthode pour exécuter un programme Basic sur Thomson, a partir d'un listing au format .txt sur PC :

- Dans dcmoto je charge le listing par Fichier / Simuler le clavier...
- Je crée une disquette vierge disk.fd, je la formate par DSKINI0, je sauve le programme par SAVE"PROG"
- Je transforme le fichier disk.fd en disk.sd avec l'utilitaire FD2SD.exe et je copie le fichier disk.sd sur une carte microSD
- Sur l'ordinateur Thomson, avec un contrôleur CS91-280 ou CS91-282 et une interface SDMOTO ou SDMO, je lance le programme par RUN"PROG"

C'est très simple, et très rapide. Pour un programme Hebdogiciel de 4 pages il faut moins de 3 minutes pour l'ensemble des opérations.

A défaut de carte SD, on peut utiliser des disquettes. C'est le même principe, mais le transfert se fait en créant une disquette sur PC avec Omniflop, à partir du fichier .fd. Evidemment c'est beaucoup plus long et beaucoup moins fiable, mais c'est faisable en moins de 15 minutes.

Et si tu n'as pas de lecteur de disquette pour le MO5, tu peux toujours créer un fichier .k7 avec dcmoto, le transformer en .wav avec dcmok7 et utiliser une liaison directe entre la carte son du PC et l'entrée magnétophone du MO5. Il te faut seulement construire l'interface audio : http://dcmoto.free.fr/bricolage/interfa ... index.html

Dernier recours : utiliser une platine pour cassette audio, et créer une vraie cassette. Dans ce dernier cas je te souhaite bon courage, car si tu n'as pas l'habitude ça ne marchera pas du premier coup. Il ne faudra pas trois minutes, mais au moins trois heures, pour un résultat incertain.

La conclusion est toujours la même : si on veut vraiment utiliser les ordinateurs Thomson, il faut faire les transferts PC<-->Thomson dans les deux sens avec une carte SD. C'est de très loin le moyen le plus pratique, le plus rapide et le plus sûr. Les collectionneurs nostalgiques préfèrent les cassettes et les disquettes, les programmeurs et les joueurs utilisent des outils plus modernes.
Daniel
L'obstacle augmente mon ardeur.
Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

Merci à tous pour vos réponses rapides et détaillées.

Je suis manifestement passé à côté des possibilités de DCMO5 parce que je n'ai pas de barre de menu avec Fichier, etc. Je réessayerai sous Windows, mon Linux installé sur Mac n'a pas l'air de lui plaire, parfois une simple lettre du clavier ne veut pas s'afficher à l'écran sans reset l'émulateur.

Vous m'avez convaincu que le mieux reste la carte SD et d'utiliser l'émulateur pour préparer des images de disquette, malheureusement je ne suis vraiment pas bricoleur, je me suis promis de ne plus toucher à l'électronique depuis que j'ai grillé une Nintendo NES. Combien faudrait-il compter pour un SDMOTO prêt à l'emploi, main d'œuvre et frais de port inclus ?
Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

Daniel a écrit : Ah si, j'ai compris ! Tu utilises dcmo5. Ce n'est pas le bon choix.
Il faut utiliser dcmoto, c'est un émulateur beaucoup plus perfectionné avec de nombreuses fonctions supplémentaires.
Nos réponses se sont croisées, je dois effectivement démarrer mon ordi Windows pour tester DCMOTO.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Daniel »

Si tu as Linux, les versions récentes de Wine permettent d'exécuter dcmoto de façon très satisfaisante. Je l'ai testé récemment avec Linux Mint Cinnamon. C'est pourquoi j'ai arrêté le développement de dcmo5, dcto8 et dcto9+.

Le contrôleur CS90-280 prêt à l'emploi n'est pas vendu. Pour le réaliser quand on n'est pas bricoleur, il faut utiliser un boîtier nanoréseau et changer l'EPROM. Pour le MO5 ce n'est toutefois pas la meilleure solution, car il utilise le seul port d'extension disponible. Il faut savoir souder ou se faire aider par un ami compétent, et réaliser la transformation de la carte mère avec le contrôleur CS91-282.
Daniel
L'obstacle augmente mon ardeur.
Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

Je me recentre sur le sujet bricolage, je viens de m'en rappeler, j'ai une de ces fausses cassettes avec une prise jack, pour brancher un baladeur sur un autoradio à cassettes. Je vais tenter quelques trucs.

[edit] Et en plus ça marche ! Chargement du listing dans DCMOTO, sauvegarde dans une image de cassette, conversion au format WAV en utilisant DCMOK7 et je fais jouer le fichier son par mon smartphone quand le MO5 charge la cassette.
Dernière modification par Oursique le 05 août 2016 14:52, modifié 1 fois.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Zaxxon »

Je viens de retrouver un extracteur de k7 mo5, ecrit en C, par Pulkomandy, j'édite mon post pour donner le lien.

Concernant dcmo5 et dcmoto sous linux. Du au fait de l'évolution de la sdl depuis que Daniel a écrit dcmo5, certains problèmes sont apparus (problème inhérent à linux qui nécessite souvent de devoir modifier les sources au gré des évolutions). Il y a aussi un problème si j'ai bonne mémoire avec la fonction sdlinit, et X11, qui nécessite l'ajout d'un petit patch.

Le mieux est donc d'utiliser dcmoto avec wine comme le préconise Daniel (testé avec succès pour moi sous Fedora)
Thomas,
Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

Zaxxon a écrit :Je viens de retrouver un extracteur de k7 mo5, ecrit en C, par Pulkomandy, j'édite mon post pour donner le lien.
Merci pour le lien, il a su correctement extraire le programme de dessin sur lequel je travaille mais il laisse les instructions sous forme numérique, par exemple pour

Code : Tout sélectionner

LINE
.
Zaxxon a écrit :Concernant dcmo5 et dcmoto sous linux. Du au fait de l'évolution de la sdl depuis que Daniel a écrit dcmo5, certains problèmes sont apparus (problème inhérent à linux qui nécessite souvent de devoir modifier les sources au gré des évolutions). Il y a aussi un problème si j'ai bonne mémoire avec la fonction sdlinit, et X11, qui nécessite l'ajout d'un petit patch.

Le mieux est donc d'utiliser dcmoto avec wine comme le préconise Daniel (testé avec succès pour moi sous Fedora)
Oui, je ne suis pas revenu là-dessus mais j'utilise DCMOTO depuis ce matin sans aucun souci.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Zaxxon »

Salut,

As tu bien sauvegardé ton programme en ASCII?

save "tonprog.bas",a

Après tu devras avec ton éditeur préféré enlever les caractères spéciaux Thomson, puis repasser par l'utilitaire de Xavier pour adapter l'ascii et générer une k7.

C'est assez chronophage tout ça mais je m'étais bien amusé quand même quand je l'avais fait (sur to7/70) :)
Thomas,
Xavier

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Xavier »

Je trouve extraordinaire la capacité de Daniel à garder son calme, face aux questions redondantes, répétitives et très similaires!
Rien (sauf certains sujets tabous! : "DJV") ne peut le déstabiliser.

Mais je trouve normal que "Oursique" pose des questions, et s'intéresse ainsi à cet émulateur.

Ce n'est pas un problème de documentation, de défaut de pages internet explicatives... mais plus un problème d'approche globale de l'émulation, face aux machines que l'on dit "réelles".
Un bon nombre d'astuces implantées par l'auteur au grès de son utilisation, permettent de transcender la machine, et son utilisation!
Au prime abord, l'émulateur semble plus limité que les vrais machines, mais à l'usage, l'utilisation ne peut que préférer l'émulation aux vraies machines, car plus transparente, plus fiable et plus simple à utiliser.
Passé une période de flottement sur émulateur, il n'est pas rare que l'utilisateur préfère le codage sur émulateur, et conserver la machines pour les tests des réalisations...
D'où l'insistance de Daniel à la conversion des utilisateurs de DCmoto, vers la solution SD.


...Donc, je réponds.
La meilleur façon de récupérer un fichier texte, sur DCmoto, c'est d'utiliser l'imprimante!
En effet, DCmoto envoie les données imprimante dans un fichier "dcmoto-printer.txt" qui se trouve dans le répertoire racine de l'émulateur.
Pour le réinitialiser, il suffit de l'effacer.

LIST ''LPRT:(254)''

Puis ouverture du fichier "dcmoto-printer.txt"...
Et là, apparait le listing du fichier basic.
Si le fichier n'est pas créé, regarder dans la config pour vérifier si l'émulation de l'imprimante est validée.

Parfois, lors de l'ouverture, le fichier ne comprend pas toutes les lignes Basic du programme, c'est généralement du au buffer de l'émulateur qui n'a pas écrit toutes ses informations... donc, on envoie un autre "list" pour avoir la suite, ou on ferme l'émulateur pour clore le fichier, mais cette technique est plutôt expéditive.
On pourra par la suite effacer les lignes en doublon, au cas où!

Autre chose, "LPRT:(32)" donne un retour chariot de 32 colonnes, (254)... donne 254 caractères par line.
Donc, il se peut que certaines lignes soient tronquées car trop longues.
Il faudra vérifier les lignes ayant plus de 254 caractères, et retirer le retour à la ligne.

Voilà, c'est plus simple qu'une sauvegarde en ascii, car le fichier texte est directement éditable par un éditeur texte, avec moins de pollution de caractères de contrôle et des retours chariots en fin de ligne.

Tuto ici : http://www.hebdogiciel.free.fr/tutos/index.html#thomson
Dernière modification par Xavier le 06 août 2016 02:03, modifié 1 fois.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par __sam__ »

Xavier a écrit :Passé une période de flottement sur émulateur, il n'est pas rare que l'utilisateur préfère le codage sur émulateur, et conserver la machines pour les tests des réalisations...
C'est mon cas. Le dev sur PC+Emul est bien bien plus rapide.
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
Oursique
Messages : 11
Inscription : 04 août 2016 22:07

Re: Transférer un listing BASIC sur un ordinateur Thomson.

Message par Oursique »

Oui c'est le workflow que j'ai adopté. Je n'étais sans doute pas très clair hier, je découvrais l'émulation MO5 et je n'avais pas touché à la machine depuis l'âge de 12 ans, mais maintenant j'ai une bonne méthodologie :
  • édition du source dans un fichier à part avec un éditeur de texte,
  • chargement dans DCMOTO (simuler le clavier),
  • sauvegarde par l'émulateur au format cassette,
  • conversion au format WAV,
  • chargement par le vrai MO5 en utilisant mon smartphone et une cassette avec prise jack.
Encore une fois merci pour votre patience, ça fait beaucoup d'informations à assimiler d'un coup.
Répondre