Transferts depuis Micro Thomson vers PC Windows

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

remi
Messages : 21
Inscription : 07 mai 2016 20:27

Transferts depuis Micro Thomson vers PC Windows

Message par remi »

Bonjour,
Avec l'arrivée de la fonction lecture de .sd dans dcmoto 8) , je me dis qu'il est peut-être temps de faire des transferts entre micros Thomson et PC Windows facilement. Voici ce que j'ai tenté de faire :
1°) Sur mon MO6 avec l'extension SDMOTO, j'ai introduit une carte micro-SD avec boot.sd et diskette.sd (diskette.sd obtenu par formatage avec dcfdutil.exe et conversion de .fd vers .sd avec fd2sd) ;
2°) Je choisit 1 pour entrer dans le basic 128, SDMOTO apparaît et je choisis (flèches + entrée) diskette.sd ;
3°) La liste des commandes utiles s'affiche ;
4°) Je tape LOAD"CASS:BONJOUR.BAS" pour charger mon programme depuis la K7 ;
5°) Le programme BONJOUR.BAS est chargé en mémoire (pour preuve LIST m'affiche bien le listing du programme) ;
6°) Je fais SAVE"0:BONJOUR.BAS" pour sauver mon programme sur la carte micro-SD dans diskette.sd ;
7°) Le MO6 m'affiche OK : je l’éteins et je retire la carte micro-SD que j'introduis maintenant dans l'adaptateur pour l'ordi PC Windows ;
8°) Je copie diskette.sd dans le dossier de l'émulateur DCMOTO ;
9°) J'ouvre DCMOTO dans lequel j'ai bien sélectionné SDMOTO et le Contrôleur associé ;
10°) Dans support amovible j'ai bien diskette.sd ;
11°) Et si je tape DIR, BONJOUR.BAS est bien listé ;
12°) Le souci, c'est que la commande LOAD"0:BONJOUR.BAS" me renvoie Device I/O Error :cry: ;
Pourquoi cela ? Merci, si quelqu'un peut me venir en aide...
Cdt
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

As-tu essayé de faire LOAD"0:BONJOUR.BAS" sur le vrai MO6 ?
Quelle version du contrôleur CS91-280 utilises-tu ?
Quelle version de dcmoto utilises-tu ?
Peux-tu nous communiquer le fichier diskette.sd ?

Je soupçonne que tu utilises une ancienne version de CS91-280, puisque tu as encore le fichier boot.sd sur la carte.
Les versions anciennes de dcmoto émulent encore l'ancien système avec boot.sd, mais l'utilisation est assez complexe : il faut d'abord sélectionner boot.sd dans les supports amovibles, charger le programme de sélection, puis sélectionner diskette.sd dans les supports amovibles, et enfin lancer le programme de sélection. C'est loin d'être intuitif.

Avec la dernière version du contrôleur CS91-280 et la dernière version de dcmoto_nouveau il n'y a plus de disquette boot.sd, elle est remplacée par le programme de sélection sdmoto.sel. On peut directement charger diskette.sd dans supports amovibles, la sélectionner dans la liste affichée par le programme de sélection et y accéder immédiatement.

Je te conseille de télécharger dcmoto_nouveau. Sélectionne le contrôleur CS91-280 dans les options, diskette.sd dans les supports amovibles (sans oublier de cocher le périphérique SDMOTO). Au menu d'accueil du MO6, il faut taper 1, puis EXEC &HA007, le menu SDMOTO s'affiche. Sélectionne diskette.sd et le LOAD doit fonctionner. Il est inutile de spécifier l'unité 0: car elle est sélectionnée par défaut dans le Basic 128.

Sinon il peut y avoir un problème dans le fichier diskette.sd, ou un bug dans la version de dcmoto que tu utilises, c'est pourquoi j'ai posé d'entrée toute une série de questions pour pouvoir reproduire le problème.
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

Daniel a écrit : 11 mars 2018 20:28 As-tu essayé de faire LOAD"0:BONJOUR.BAS" sur le vrai MO6 ?
Oui, il y a le même message Device I/O Error.
Daniel a écrit : 11 mars 2018 20:28 Quelle version du contrôleur CS91-280 utilises-tu ?
C'est la version actuellement en solde dans le topic idoine.
Daniel a écrit : 11 mars 2018 20:28 Quelle version de dcmoto utilises-tu ?
DCMOTO 2017.09.03
Daniel a écrit : 11 mars 2018 20:28 Je soupçonne que tu utilises une ancienne version de CS91-280, puisque tu as encore le fichier boot.sd sur la carte.
Les versions anciennes de dcmoto émulent encore l'ancien système avec boot.sd, mais l'utilisation est assez complexe : il faut d'abord sélectionner boot.sd dans les supports amovibles, charger le programme de sélection, puis sélectionner diskette.sd dans les supports amovibles, et enfin lancer le programme de sélection. C'est loin d'être intuitif.
Le problème avec dcmoto, c'est que l'on ne peut charger qu'un seul .sd à la fois. Donc je ne peux pas faire cette marche à suivre.

Nota : Dans l'émulateur, en chargeant seulement diskette.sd :
quand je liste le contenu par DIR, j'obtiens :
Double density 0:No Name DSKF:314
BONJOUR BAS B B 2
Mais il est impossible de faire un LOAD :!:
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

remi a écrit : 11 mars 2018 22:09
Daniel a écrit : 11 mars 2018 20:28 As-tu essayé de faire LOAD"0:BONJOUR.BAS" sur le vrai MO6 ?
Oui, il y a le même message Device I/O Error.
Ne cherche pas plus loin, le problème est là. Pour une raison inconnue le fichier a été mal enregistré.
Il faut refaire l'opération : sur le MO6 taper le programme, le sauver par SAVE.
Ensuite pour être sûr que l'enregistrement est bon, le recharger par LOAD et taper LIST pour vérifier.
Tant que le fichier ne peut pourra pas être chargé par le MO6, il ne pourra pas être chargé par dcmoto.

La version du contrôleur CS91-280, c'est le nombre inscrit sur l'EPROM. Les versions d'avant 2018 utilisaient le fichier boot.sd pour charger le programme de sélection. Les versions à partir de janvier 2018 ne l'utilisent plus. Voir ici : http://dcmoto.free.fr/bricolage/cs91-280/index.html
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

Bjr,
Oui bien-sûr, j'aurais dû le constater par moi même... Un reformatage de la carte a résolu le Pb.
Maintenant, je peux transvaser des programmes de MO6 vers Windows et inversement :P
La prochaine étape : faire un .exe avec un .sd, mais est-ce possible :?:
Cdt
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

Deux cas peuvent nécessiter un reformatage de la carte :
- Si on a effacé et ajouté beaucoup de fichiers .sd, ces fichiers peuvent être fragmentés et provoquent alors des erreurs.
- Si un programme Thomson s'est planté, le plantage peut avoir écrit des secteurs indésirables, écrasé le système de fichiers ou le MBR.

C'est pourquoi on a toujours intérêt à sauvegarder régulièrement les fichiers de la carte SD dans un répertoire du PC. Au moindre doute sur l'intégrité de la carte, on fait un formatage rapide et on recopie les fichiers, c'est très rapide.

Faire un .exe avec un .sd, ce n'est pas clair pour moi. Que veux-tu dire exactement ?
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

Oui, je ne sais pas ce qui c'est passé avec ma carte SD, j'ai préféré tout formater mais c'est vrai que j'aurais pu me contenter d'effacer le fichier diskette.sd pour le remplacer par un fichier vierge tout neuf. L'important, c'est que ça marche.
Daniel a écrit : 12 mars 2018 19:55 Faire un .exe avec un .sd, ce n'est pas clair pour moi. Que veux-tu dire exactement ?
Ce que je voudrais :
- Avoir une fonction ou un utilitaire qui transformerait les programmes contenus dans n'importe quel fichier xxx.sd en fichiers directement exécutables dans windows. Je demande peut-être beaucoup... Mais c'est vers quoi l'on tend. Parce que avoir des programmes qui marchent dans l'émulateur, c'est bien beau, mais question portabilité ce n'est pas le top !
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

OK, je comprends, tu veux faire l'équivalent de mes jeux pour PC : http://dcmoto.free.fr/jeux/index.html
Ce n'est pas aussi simple qu'on peut le penser. Chaque exécutable est une version spéciale de l'émulateur qui reprend l'état de la machine sauvé dans un fichier .mrx. Pour chaque programme il faut tout recompiler, avec des options spéciales qui dépendent de la configuration matérielle nécessaire. Ce n'est pas un simple utilitaire, c'est un véritable émulateur.
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

Daniel a écrit : 12 mars 2018 21:09 Chaque exécutable est une version spéciale de l'émulateur qui reprend l'état de la machine sauvé dans un fichier .mrx.
Oui, mais alors, n'est-il pas possible d’automatiser la création de l'exécutable avec le fichier .mrx ?
Daniel a écrit : 12 mars 2018 21:09 Pour chaque programme il faut tout recompiler
Avec quel utilitaire ?
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

On pourrait peut-être automatiser, mais il est plus facile de modifier les paramètres à la main, car chaque cas est particulier : il dépend du programme, du support (cassette, disquette, qdd, cartouche, etc.), de l'ordinateur utilisé, du matériel nécessaire (joystick, contrôleur, extension mémoire, lecteur de disquette, lecteur de cassette, etc.), du choix du Basic, de la nécessité de charger au préalable le DOS, de la procédure de lancement du programme. De plus il faut choisir le bon moment pour sauver le fichier .mrx, en général juste au début de l'affichage de l'écran de présentation. Il semble à peu près impossible de pouvoir déterminer automatiquement tous ces paramètres.

Pour compiler, il faut un compilateur. J'utilise GCC, mais n'importe quel autre compilateur C peut convenir. Le problème n'est pas de compiler, mais d'avoir les sources du générateur d'exécutable. Elles ne sont pas distribuées pour des raisons maintes fois expliquées.
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

@Daniel : Mais est-ce qu'automatiser nécessiterait obligatoirement que tu fournisses le code source, ne peux-tu pas faire une interface avec toutes les options sélectionnables (par boutons radio par exemple), comme tu le fais déjà avec dcmoto, en cachant le code source nécessaire ? Si c'est impossible, tant pis, mais c'était pourtant bien séduisant cette perspective de pouvoir créer des exécutables windows...
Au lieu de créer un .mrx on créerait directement un .exe par exemple ?
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

Quand on me demande de créer un exécutable Windows, je le fais en général dans les 24 heures, c'est quand même un délai acceptable.
Savez-vous si d'autres développeurs proposent un utilitaire générant un exécutable Windows à partir d'un jeu 8 bits des années 1980 ?
Et si la réponse est positive, comment font-ils ?
Daniel
L'obstacle augmente mon ardeur.
remi
Messages : 21
Inscription : 07 mai 2016 20:27

Re: Transferts depuis Micro Thomson vers PC Windows

Message par remi »

@Daniel : Excuse-moi, cela est sans doute stupide... Je ne sais pas, mais moi, avec tout ce que tu es capable de faire, tout me semblait possible...
Et comme tu me disais :
Daniel a écrit : 13 mars 2018 21:43 On pourrait peut-être automatiser
J'y ai cru un instant.
remi
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Daniel »

Tout est possible, mais c'est une question de temps. Par exemple, pour dcmoto, c'est plusieurs milliers d'heures de développement et de mise au point. Pour créer un exécutable Windows il faut environ une demi-heure, pour automatiser la création il faut plusieurs mois de travail, le résultat est incertain, l'utilisation est difficile puisqu'il faut compiler le programme.

Je reviens (une fois encore) sur la diffusion des sources : elles sont modifiées plusieurs fois par jour depuis vingt ans. Pratiquement à chaque création d'exécutable il y a un petit détail qui ne marche pas, il faut modifier et recompiler. Pour quelqu'un qui ne connaît pas parfaitement le programme il faudrait des heures ou même des semaines pour faire la modification.

Par contre si un programmeur veut écrire un autre émulateur Thomson, ou un générateur d'exécutable Windows, je lui donnerai toutes les sources nécessaires. Tous ceux qui ont porté dcmo5 ou dcto8d sur d'autres plateformes que Windows peuvent en témoigner. Pour résumer : les sources de dcmoto sont toujours disponibles pour qui peut les utiliser, mais ne sont pas accessibles à tous les publics.
Daniel
L'obstacle augmente mon ardeur.
Xavier_AL

Re: Transferts depuis Micro Thomson vers PC Windows

Message par Xavier_AL »

Salut,
remi a écrit : 15 mars 2018 23:15 J'y ai cru un instant.
Daniel: ... Et moi j'ai programmé pendant vingt ans.

Non, il est difficile de modifier un code fonctionnel, sans provoquer d'inévitables erreurs et c'est in casse-tête pour l'adapter à une autre utilisation.
Plus le projet est abouti, plus les modifications sont compliquées.

Pour les novices, il faut absolument garder à l'esprits que les sources ne sont pas une version compilable et exécutable.
Il manquera forcément des "morceaux" lors de la compilation. Librairie, fichiers de dépendances ou problèmes de répertoires par défaut... rendent la compilation du code impossible.

Même avec un tuto détaillé, il y aura toujours des grains de sables pour bloquer cette compilation.
Les sources sont là pour prouver la bonne fois de l'auteur (programme original et noms des contributeurs pour certaines portions du code), mais en aucun cas pour être utilisé en tant que générateur de fichier exécutable.

Pour les programmeurs éclairés, les erreurs de compilation pourront être interprétés correctement, mais
leur but n'est pas de recompiler le programme, mais de réutiliser certaines routines déjà codées... et non de recompiler le programme tel-quel.

Sur Mess, on m'avait répondu, après avoir signalé un problème sur une machine : "Si ça marche pas, envoie les codes à l'équipe!".

Cette méthode n'a sûrement pas dû fonctionner sur toutes les machines, car de plus en plus de machines ont été sabordée avec des mises à jours programmées sur des configurations exogènes et librairies partagées...modifiées au bon vouloir des machines mise à jour... au détriment de celles qui fonctionnaient déjà avec les anciennes machines.

Donc, un code fonctionnel ne se modifie pas, sans avoir une vu globale du projet!
Il me semble donc abusif d'envoyer de "t'as qu'a!" et des "pour toi c'est facile!".

Car nous ne somme pas dans du débogage, de l'implémentation ou de la modification dans notre cas, mais bel et bien sur la création d'un nouveau projet...
Répondre