[THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Tout ce qui concerne le logiciel original et sa sauvegarde avec entre autre la régénération des disquettes ou autres supports physiques.

Modérateurs : Papy.G, fneck, Carl

__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par __sam__ »

Si tu es habitué à l'assembleur 68000, comme le 6809 est de la même famille, ca devrait même carrément être facile de passer à l'assembleur 6809 directement. De plus comme le C ne produit pas un code 6809 terrible (en tout cas ca ne m'a pas convaincu), ca sera tout bénéfice.

Sinon pour convertir des images en fichiers MAP thomson, il y a des outils sur mon github: https://github.com/Samuel-DEVULDER/UToPiC
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
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

Oui mais avec l'age, on a moins envie de s'embetter a ecrire de l'assembleur.
Et c'est etonnant, mais les compilateurs C sont quand même assez optimisé. En tout cas par rapport au basic rien a voir. Ca restera toujours plus gros et moins rapide que l'assembleur, mais pour le temps gagné a l'écriture c'est pas mal.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par __sam__ »

Kristof a écrit : 23 mars 2021 23:27 Et c'est etonnant, mais les compilateurs C sont quand même assez optimisé.
J'ai fait des tests avec GCC-6809 sur le forum de logicielsmoto.. et bahh , ca bug parfois (pas assez de registres), et c'est à la fois trop gros et trop lent. Il vaut mieux écrire à la main le corps des fonctions C de bas niveau (dans mon cas les routines arithmétiques pour les montagnes en 3D).
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Daniel »

Avec plus de 35 ans d'expérience je peux affirmer qu'il n'y a pas d'alternative. L'assembleur est incontournable si on veut développer un bon programme pour un ordinateur Thomson, en particulier s'il y a des animations. Compter les cycles, synchroniser sur la VBL, changer la palette entre deux lignes vidéo, utiliser les timers, optimiser le programme avec les astuces classiques, les langages de plus haut niveau ne savent pas faire.

Et sur la difficulté de développement en assembleur je ne suis pas d'accord. Quand on le pratique on a en réserve des routines toutes faites pour les opérations courantes, il suffit de les adapter, ce n'est pas plus long que d'appeler une fonction C et on maîtrise beaucoup mieux le code final.

On a souvent opposé l'assembleur aux langages évolués. En pratique les différences de productivité sont fonction du programmeur, pas du langage. Avec les ordinateurs des années 1980 un bon programmeur fait plus vite et mieux qu'un mauvais programmeur, quel que soit le langage utilisé. Je l'ai souvent constaté. Ce n'est peut-être plus vrai avec les machines actuelles qui ont des ressources un million de fois supérieures.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

__sam__ a écrit : 24 mars 2021 00:39
Kristof a écrit : 23 mars 2021 23:27 Et c'est etonnant, mais les compilateurs C sont quand même assez optimisé.
J'ai fait des tests avec GCC-6809 sur le forum de logicielsmoto.. et bahh , ca bug parfois (pas assez de registres), et c'est à la fois trop gros et trop lent. Il vaut mieux écrire à la main le corps des fonctions C de bas niveau (dans mon cas les routines arithmétiques pour les montagnes en 3D).
Oui GCC j'imagine que c'est pas leger. C'est pour cela que parlais de compilateur optimisés, comme CMOC. (mais j'ai pas testé)
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

Daniel a écrit : 24 mars 2021 09:08 Et sur la difficulté de développement en assembleur je ne suis pas d'accord. Quand on le pratique on a en réserve des routines toutes faites pour les opérations courantes, il suffit de les adapter, ce n'est pas plus long que d'appeler une fonction C et on maîtrise beaucoup mieux le code final.
Oui je suis d'accord. Dans le cas present, je pars de zero: un assembleur que je ne connais pas, et aucune routine en stock.
Donc ce que je dis c'est qu'écrire le corps du jeu en C, c'est plus rapide en temps pour les debutant qui veulent pas faire de basic. Mon jeu d'aventure n'a pas beaucoup d'animations, et les compilateurs modernes autorisent en effet d'inclure de l'assembleur, c'est pas un soucis. Donc les fonctions les plus gourmandes peuvent être ecrites en asm.
(et puis je répondais par rapport a la première question DavidC semble être débutant sur Thompson, tout comme moi. C'était pour apporter de nouvelles pistes.)

Sur Amiga, je porterai mon jeu directement en assembleur car je connais le 68K par cœur et que j'ai toute les routines qui vont bien déjà. Donc ceux qui connaissent, bien sur, l'asm reste le meilleur choix.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par __sam__ »

Le seul intérêt du C est de pouvoir faire du code portable. Du code C trop spécifique à une machine est une perte de temps quand on passe sur un autre type de machine.

Parlant du C.. il se trouve que dans la famille du mc680x, on trouve un cousin utilisé en embarqué: le S12X ou le 68HC12 donc je pense qu'on peut adapter l'ASM pour le mc6809. Or il se trouve qu'il y a des compilos industriels pour ces processeurs, par exemple celui ci: https://www.cosmic-software.com/eval_ki ... m_eval.exe

J'ai un peu joué avec, et le code produit est nettement mieux que celui de gcc6809. Pour convertir un algo complexe de C vers ASM 6809, il donne une 1ère ébauche pas trop mauvaise qui peut servir de point de départ.
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
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

Je suis pas trop d'accord. Le C reste quand même un langage "simple" pour écrire de l'algorithmique. Le code complet de ma boucle de jeu doit prendre une centaine de ligne en C, j'imagine que ca aurait pris 10 fois plus a écrire en asm. C'est quand même un gros gain de temps quand on écrit pas courrement l'assembleur.
Les parties specifiques se genrent plutot bien.

Sur des machines avec des timings a respecter, oui ca peut poser probleme.

Je suis pas surpris que les compilateurs donnent des resultats differents, car c'est vraiment un gros boulot pour sortir du code optimisé pour un CPU precis. SDCC et CC65 sont vraiment bon pour le Z80 et le 6510. J'imagine qu'il doit bien en avoir un performant pour le 6809. Sur les thompson il y a de la memoire donc même si le code est un peu plus gros, ca reste interessant. Sur Vectrex, je pense que ca n'aurait aucun interet. Les tailles de ROM sont bien trop faible, et les timing surement pire que sur Thompson.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par __sam__ »

Une remarque: Thomson sans P, sinon tu parles du pistolet-mitrailleur :)

Si la boucle principale fait 10 lignes de C, elle fera sensiblement pareil en ASM. L'asm 6809 est très, très puissant et proche du C (on retrouve les ++ du C, les pointeurs sur fonctions, etc...).

Pour CMOC, on en avait parlé par ici ==> https://forum.system-cfg.com/viewtopic. ... 83#p149283

Le seul défaut que j'y voyais était le fait que l'accès aux variables se faisait en relatif par rapport au compteur-programme, ce qui est entre 50 et 66% plus lent que le mode absolu. Il faudrait voir si cela a changé (ou si on peut faire en sorte d'avoir les variables en "direct-page" pour être le plus rapide possible.)
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
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

Oui je sais jamais écrire Thomson, faut que je fasse des lignes de cahier :)

Je connais pas le 6809. Faudra que je m'y mette.

C'est un peu le soucis. J'ai envie de faire des jeux, j'ai pas envie d'apprendre un langage. C'est l'intérêt du C. Mais bon je pense que tout le monde a bien compris ce point ici :) ... Je vais quand même continuer a regarder ce qui existe en compilateur. Merci pour les liens sam.
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

J'ai lu le sujet sur CMOC, ca a l'air bien effet.
Pour la libc, faudrait que je regarde, mais j'ai utilisé vraiment peu de fonctions qui en viennent. De mémoire : memcpy, rand, et les commandes pour charger un fichier (dans CC65 ils avait recoder fopen/fread/fclose, mais c'est même pas nécessaire si il existe déjà des fonctions).
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par gilles »

Perso j’utilise un C limité sans optimisation. Très souvent je vais écrire une partie en assembleur mais qui s’intègre dans le modèle C.
Ce n’est pas portable, mais c’est plus rapide à écrire que purement en asm. Ca permet aussi, un peu plus facilement qu’en asm, de reprendre du code ancien.
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

ah super.
Tu es des exemples que tu peux partager Gilles ?
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Daniel »

Kristof a écrit : 24 mars 2021 12:55 Oui je sais jamais écrire Thomson, faut que je fasse des lignes de cahier :)

A l'inverse il y en a d'autres qui ne savent pas écrire Thompson :mrgreen:

thompson.png
thompson.png (4.95 Kio) Consulté 3581 fois
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Kristof
Messages : 367
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: [THOMSON] MO5 TO7-70 programmation animation FOX pixel/pixel

Message par Kristof »

ahah bien vu oui :)

Je dois l'avoir celui la ... Je regarde.
Répondre