Thomson toujours en retard d'un micro

Les bouquins, les scans, les pdf ou les liens qui vont bien... ici c'est la bibliothèque.

Modérateurs : Papy.G, fneck, Carl

Fool-DupleX
Messages : 2363
Inscription : 06 avr. 2009 12:07

Re: Thomson toujours en retard d'un micro

Message par Fool-DupleX »

trop buggué,
Ah. Moi j'ai fini Mandragore avec les cassettes quand j'avais 11 ans. Je n'ai pas le souvenir de bugs.

Pour gagner un tout petit peu en rapidité, j'avais copié l'intégralité du jeu sur une face de cassette 120 minutes, ca évitait au moins de jongler avec les 2 faces de la cassette dongeons.

Je pense que Mandragore est officiellement sorti sur disquette et même sur QDD, mais je n'ai jamais vu ces versions.

Avec la version disquette de Prehisto, on peut exploiter la fonction "EXPLORE" qui était franchement inutilisable avec les cassettes.
En fait, les trois clés principales manquant à l'époque et plus accessibles à présent sont:
La documentation
Je pense qu'on n'imagine pas à quel point CA ça manquait. Qui se souvient que pour M. tout le monde, il fallait commander un livre à la FNAC et attendre trois mois qu'il arrive, s'il n'était pas en rupture de stock ?

La première vraie doc technique officielle sur laquelle j'ai mis la main, c'était le SDK de la Sound Blaster en 1990, il a fallu contacter directement Creative Labs aux US et je te parle pas de la détaxe en douane.
Avatar de l’utilisateur
fxrobin
Messages : 102
Inscription : 07 mars 2019 13:51
Localisation : RENNES
Contact :

Re: Thomson toujours en retard d'un micro

Message par fxrobin »

Bonjour à tous,

une incantation céleste a été prononcée, je sors de mon trépas pour m'exprimer :mrgreen:

En préambule, je m'occupe du dev de Goldorak sur TO8, en assembleur 6809.
Voilà, la partie où je me vante est terminée, je vais pouvoir vous raconter mon cheminement personnel pour en arriver là.

Tout petit déjà, ... nan allez je vous épargne ça.

Début 2021, en trainant mes clics souris sur le forum logicielsmoto (forum dédié + dev/partage qu'ici je trouve, pour MO et TO, j'entends) je tombe sur un certain Bentoc qui met en avant un "machin" écrit en Java qui l'aide à faire des sprites (compilés) en ASM 6809.

A l'époque je commence à me ré-intéresser à l'ASM, j'ai lu la doc technique TO8 plusieurs fois, je me replonge dans mes bouquins de 6809. J'essaye d'engranger le plus d'info partout. En 2019 j'ai fait l'acquisition du SDDrive de Daniel, puis de l'extension mémoire TO8. Je l'évoque, car ce sont des outils nécessaires pour mon dev aujourd'hui, tout comme son émulateur DCMOTO et son interface de debugging. Sans oublier la T2 de FoolDuplex, évidemment.

Je vous fais grâces de mes étapes de "remontée" en compétence ASM 6809. Une grande partie a terminé sous forme d'article dédié sur mon blog (un peu de pub : https://www.fxjavadevblog.fr/retro-programming )

Comme j'échange pas mal avec Bentoc notamment sur le BM16, le double buffering, la gestion des IRQ, les pratiques ASM : je me lance et je lui propose de participer à son "framework" composé d'un builder réalisé en Java et d'un ensemble de routines 6809 (Engine) très évolués, qui met en oeuvre de nombreux design pattern qu'on pense réservés à la programmation orientée objets. Comme je fais du Java depuis fin 1996, Java ne me pose pas de problème et donc je propose des améliorations, on modifie pas mal de choses (usage de maven, picocli, java 11) et on entame même une version 2 du builder (non opérationnelle à ce jour). Ce builder nous permet de construire rapidement des images disquettes, de cartouches T2, etc. en se préoccupant finalement qui doit être codé en plus. Il apporte des routines d'affichages de sprites compilés (dont la pré-compilation depuis des PNG est réalisée en Java) de double buffering, de musique, de son, aussi bien vers le CNA que vers les nouvelles cartes son YM et SN.

Quand je code Goldorak, je suis donc sous mon Linux :
- avec Visual Studio Code + plugin ASM 6809
- avec Java et Maven pour compiler le builder
- avec Java et le Builder pour transformer mes assets PNG en qqch d'exploitable par les routines ASM
- avec LWASM qui est un compilateur "cross-plateform" pour 6800 / 6809 / 6309, invoqué par le Builder
- avec l'émulateur en ligne 6809.uk pour vérifier des mini-algorithmes de manière unitaire.
- avec notre émulateur Fork de Theodore (lui-même fork de DCMOTO mais il y a très longtemps, dans une galaxie lointaine, très lointaine)
- DCMOTO sous Wine pour profiter du debugger

Avec tout ça j'obtiens en une ligne de commande, un .FD, un .SD, un .ROM issu de la compilation de Goldorak, que je m'empresse de mettre sur une jolie carte SD pour tester sur machine réelle.

A tout cela s'additionne avec le fait que je ne suis pas pressé par le temps, contrairement aux devs de l'époque, je préfère avancer doucement mais sûrement appliquer les bons algorithmes, les bonnes structures de données, les bonnes astuces, les bonnes optimisations de code.

Je ne pourrai pas faire tout ça sans toute la documentation mise à disposition, le site de Prehisto, de Pulkomandy, et les connaissances de mes potes du groupe "wide-dot". Parce que oui, rapidement, Benoît (bentoc) et moi avons demandé à Adnz de nous rejoindre, fort de son expérience sur Pacman 2022 mais aussi de ses talents de graphiste et musicien.

A cela s'est ajoutée l'arrivée dans le groupe "wide-dot" de personnes vraiment, vraiment, vraiment exceptionnelles : Sam et Yoann. Outre leurs compétences, ce sont aussi des gars adorables toujours prêt à aider / dépatouiller / optimiser (même sur les starfields à 1 étoile :D). On se prend pas la tête et on se marre vraiment bien.

Perso, je code pour moi. C'est à dire que Goldorak, c'est pour MOI : pour le challenge, pour m'amuser, mais aussi à la base pour m'accaparer entièrement le framework de Benoit et la prog 6809. Ce que j'entends par là, ce n'est ni pour me faire mousser sur les forums ni pour sortir une version que tout le monde attend avant septembre ...

A titre professionnel je suis adepte du mouvement "Craftsmanship" que je m'applique quotidiennement :
- Qualité++
- Evolutivité au centre de la conception
- Application systématique des bonnes pratiques connues
- “Comprenabilité”
- Expertise (sandbox, kata)
- Exploration
- Capitalisation, Templating, Patterns
- Transmission
- Remise en cause

Et pourquoi tout ça c'est universel ? Car :

En ASM j'utilise :
- Nommages explicites
- Macros (== inline C) versus Routines (== fonction C)
- Optimisations mémoire : 512 Ko max, 16 Ko simultanés
- Optimisations cycles (TFR U,X devient LEAX ,U)
- Auto-modifications des OP codes
- Manipulations bas niveau / Algorithmes “optimisés”

C'est "pareil" en Java, par exemple :
- Nommages explicites
- JVM Usage Statistics Dynamic Inlining
- Optimisations de la mémoire et CPU : serverless !
- Moins de CPU / Mémoire = Moins d’infrastructure = Moins €€€
- Auto-modifications de code (Java : weaving, bytecode, introspection)
- Manipulations haut niveau / Algorithmes “optimisés”
- Structures de données optimisées (Map, Tree, LinkedList, etc.)

Pour résumer, c'est grâce aux compétences de dingues du groupe Wide-dot et notamment de Bentoc, que j'ai pu en arriver là. Aujourd'hui je commence à peine à me sentir à l'aise en dev ASM 6809. Je ne connais pas par cœur les 59 instructions du proc, mais ça commence à venir. Je suis souvent le nez dans la doc officielle Motorola/Hitachi et Thomson TO8. Mais j'ai quand même une certaine expérience professionnelle en C, C++, Java et sur en algorithmie / structures de données. Les reproduire en ASM est d'ailleurs souvent assez ardu et ça doit toujours faire l'objet de compromis CPU/MEMORY.

Merci de m'avoir lu, j'ai des PSHS qui m'attendent. Bisous à tous.

PS1: je vais remettre 1 pièce dans le flipper, mais je trouve que le 6809 est + 16 bits que 8 bits ... ;-) Parce que je vous lis partout à dire "8 bits" mais la majorité de ce que je lui fais faire est sur 16 bits !

PS2: merci de ne pas troller le sujet avec "Java c'est bien / c'est pas bien", c'est pas le sujet et ces conversations de comptoirs m'exaspèrent.
Dernière modification par fxrobin le 16 mars 2023 17:40, modifié 6 fois.
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Sappas
Messages : 678
Inscription : 02 oct. 2022 18:11

Re: Thomson toujours en retard d'un micro

Message par Sappas »

Magnifique ! Ton récit est passionnant et sincère !
C'est un retour détaillé à ma deuxième question, je lisais déjà ton blog !
Oui Daniel, developper à l'ancienne c'est possible mais plus humainement !
Avatar de l’utilisateur
fxrobin
Messages : 102
Inscription : 07 mars 2019 13:51
Localisation : RENNES
Contact :

Re: Thomson toujours en retard d'un micro

Message par fxrobin »

Rien que maitriser l'éditeur / compilateur / debugger ASSEMBLEUR 6809 sur machine réelle, je trouve qu'il faut déjà avoir une grosse envie.
Moi je suis admiratif des devs de l'époque, même s'ils utilisaient d'autres machines pour coder / compiler que les machines de base.
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Sappas
Messages : 678
Inscription : 02 oct. 2022 18:11

Re: Thomson toujours en retard d'un micro

Message par Sappas »

Ah oui, ils utilisaient quoi ?
Daniel
Messages : 17418
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Thomson toujours en retard d'un micro

Message par Daniel »

On m'a dit qu'il y avait un VAX chez Infogrames (à vérifier, je n'ai pas de sources sûres).
Daniel
L'obstacle augmente mon ardeur.
nouvelhermes
Messages : 407
Inscription : 22 juil. 2020 20:56

Re: Thomson toujours en retard d'un micro

Message par nouvelhermes »

fxrobin a écrit : 15 mars 2023 11:08 Rien que maitriser l'éditeur / compilateur / debugger ASSEMBLEUR 6809 sur machine réelle, je trouve qu'il faut déjà avoir une grosse envie.
Moi je suis admiratif des devs de l'époque, même s'ils utilisaient d'autres machines pour coder / compiler que les machines de base.
En fait il y a une grande différence si l'on possède un lecteur de disquettes ou pas.

Effectivement, si l'on dispose du seul lecteur de cassettes c'est une véritable plaie, quasiment inutilisable.

Avec un lecteur de disquettes, c'est un peu différent. C'est sûr que l'éditeur n'est pas top, mais en fait pas si mauvais (pour l'époque).
On peut surtout faire des "INCLUD", et de ne pas avoir à refaire à chaque fois le travail.
Avatar de l’utilisateur
fxrobin
Messages : 102
Inscription : 07 mars 2019 13:51
Localisation : RENNES
Contact :

Re: Thomson toujours en retard d'un micro

Message par fxrobin »

Il ne faut pas me faire dire ce que je n'ai pas dit.
Oui c'est un formidable outil pour les années 80.

En 2023, je ne me vois pas faire Goldorak avec ça, voilà tout.
J'suis bien mieux avec mon Visual Code et mes 2 écrans.
:wink:
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
tdd
Messages : 68
Inscription : 29 sept. 2022 11:27

Re: Thomson toujours en retard d'un micro

Message par tdd »

Témoignage intéressant et instructif, merci fxrobin
Sappas
Messages : 678
Inscription : 02 oct. 2022 18:11

Re: Thomson toujours en retard d'un micro

Message par Sappas »

Daniel a écrit : 15 mars 2023 11:41 On m'a dit qu'il y avait un VAX chez Infogrames (à vérifier, je n'ai pas de sources sûres).
J'ai lu quelque chose d'identique quelque part
nouvelhermes
Messages : 407
Inscription : 22 juil. 2020 20:56

Re: Thomson toujours en retard d'un micro

Message par nouvelhermes »

Fool-DupleX a écrit : 15 mars 2023 09:30
trop buggué,
Ah. Moi j'ai fini Mandragore avec les cassettes quand j'avais 11 ans. Je n'ai pas le souvenir de bugs.

Pour gagner un tout petit peu en rapidité, j'avais copié l'intégralité du jeu sur une face de cassette 120 minutes, ca évitait au moins de jongler avec les 2 faces de la cassette dongeons.

Je pense que Mandragore est officiellement sorti sur disquette et même sur QDD, mais je n'ai jamais vu ces versions.

Avec la version disquette de Prehisto, on peut exploiter la fonction "EXPLORE" qui était franchement inutilisable avec les cassettes.
Les bugs sont très nombreux, issues qu'on voit sur le décor mais ne fonctionne pas, montre qui vous attaque mais qu'on ne peut pas attaquer, lapin chassables dans D1 mais pas D6, un objet non décrit dans D2 à cause d'un fichier trop court, pièce dont on ne peut pas sortir dans D0, etc...

Le plus grave en fait c'est quand on charge le donjon D0, on écrase la carte et il est impossible de récupérer ensuite une partie sauvegardée.

On ne va pas les blâmer, contrairement à d'autres éditeurs Infogrames a poussé la machine jusque dans ses moindres retranchements, et a inventé le jeu chargeable par partie sur cassette (à ma connaissance les seuls à l'avoir fait). C'est un jeu même qui aurait beaucoup gagné à être adapté au TO8, mais je ne connais pas la version Prehisto, peut être que les bugs ont été corrigés.
Fool-DupleX
Messages : 2363
Inscription : 06 avr. 2009 12:07

Re: Thomson toujours en retard d'un micro

Message par Fool-DupleX »

pièce dont on ne peut pas sortir dans D0
Ah oui, laquelle ?
nouvelhermes
Messages : 407
Inscription : 22 juil. 2020 20:56

Re: Thomson toujours en retard d'un micro

Message par nouvelhermes »

Une fois qu'on est rentré dans la gueule du monstre, en allant il me semble deux fois au nord, de mémoire.

Sinon quand on arrive devant le monstre, et qu'on a oublié de prendre les mandragores c'est cuit, c'est peut être voulu, mais c'est reparti pour charger entièrement le programme.
Fool-DupleX
Messages : 2363
Inscription : 06 avr. 2009 12:07

Re: Thomson toujours en retard d'un micro

Message par Fool-DupleX »

Ca ne me choque pas. Tu dégommes la filanta et le jeu est fini. Le monstre, c'est Yarod-Nor, le bon roi Joriand rendu méchant par la filanta. Ah, que de souvenirs ...

Les lapins non chassables et autres portes inutilisables ne me choquent pas non plus. Je m'en souviens bien, je prenais ça pour des bizarreries, certes, mais sans importance. Ca n'empeche pas de finir le jeu. Certains dongeons semblent illogiques ou infaisables, mais en fait, il y a des indices dans la geste de Syrela, le bouquin fourni avec le jeu.

Ceci dit, c'est vrai que le jeu est perfectible. Et j'imagine volontiers un remake avec les moyens techniques modernes (graphismes plus chouettes, musique, compression des données, ...)
Répondre