ASM sur Thomson

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

Ythunder
Messages : 928
Inscription : 21 août 2019 10:12

ASM sur Thomson

Message par Ythunder »

Bon, je vais poser une question qu'on peut trouver con à la base, mais c'est pour rendre la chose un peu plus concrète dans l'esprit :
On sait tous que l'assembleur est le langage le plus efficace face aux langages interprétés. Personnellement, quand je pense aux Thomson, je mets en avant le BASIC et il est évident qu'il n'y à pas photo avec ce langage interprété très lent. Je sais bien sur que d'autres langages existent sur Thomson, le Pascal par exemple. Mais je souhaite rester sur la discussion de l'assembleur :

Pour ceux qui codent, vous pouvez un peu nous commenter le gain, le potentiel que vous procure le fait de coder sur du Thomson en assembleur ?
je sais qu'il y a le jeu "Mission LiftOff", on va sans doute m'en parler. Mais je voudrais des échos sous forme de discussion, de rendus et d'expériences.
Egalement par exemple, le genre d'entreprise qui serait possible sur cette machine, parler du potentiel. J'ai mes idées. Mais dans la partie "action" d'un jeu, notamment sur les TO7-70 et MO5, mon esprit commence à s’essouffler (à plus forte raison quand la santé s'en même de manière saccadée chez moi).

Merci aux contributeurs.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: ASM sur Thomson

Message par Daniel »

L'assembleur permet de minimiser le nombre d'instructions exécutées par le processeur pour réaliser une tâche donnée.
Pour effectuer la même tâche, l'interpréteur BASIC génère beaucoup plus d'instructions, ce qui explique sa lenteur.
Daniel
L'obstacle augmente mon ardeur.
Ythunder
Messages : 928
Inscription : 21 août 2019 10:12

Re: ASM sur Thomson

Message par Ythunder »

Oui Daniel, mais ce que je souhaite savoir par la création de ce fil de discussion, c'est à quoi peu prétendre un Thomson en terme de résultat.
Si tu veux, dans les jeux de l'époque commercialisés, je ne sais pas lequel est écrit en quoi. C'est un peu comme le post concernant l'interface musique et jeux : quels jeux exploitaient donc l'interface.

Un exemple qui me vient en tête à l'instant : le jeu KARATE d'Infogrames par exemple. Il est écrit en quoi ? Pour moi il a une lenteur, qui est compensé par une fluidité. C'est un souvenir des années 80.
Autre exemple : VOLSOLO, on a quand même accès a des aéroports en fil de fer 3D. Les surfaces sont petites certes, mais il n'y a pas non plus une liste de jeu de la sorte impressionnante.

Niveau scrolling, j'ai été quand même bluffé par SlapFight. Green Beret donnait plusieurs sprites à l'écran, des mouvements me semble t-il plutôt fluides (j'adorais ce jeu sur TO7-70)

Je souhaite savoir si l'assembleur sur Thomson peut vraiment "changer la machine". Après, si dans les heures de gloire de Thomson, tout était écrit en assembleur, bon... j'ai une partie de ma réponse.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: ASM sur Thomson

Message par Daniel »

Ythunder a écrit : 15 déc. 2019 17:15 ce que je souhaite savoir par la création de ce fil de discussion, c'est à quoi peu prétendre un Thomson en terme de résultat.
Pour avoir la réponse il faut essayer les démonstrations, c'est ce qui se fait de mieux techniquement :
- HCL Mega Demo
- Chinese Stack
- Space Project
- Les démonstrations de musique et de vidéo en streaming
- Mission: Liftoff, qui n'est pas une démonstration mais reste un exploit technique.

Sinon il y a aussi des jeux commerciaux bien réalisés techniquement chez Infogrames, Loriciels, Coktel Vision, Softbook et quelques autres éditeurs.

Voilà à quoi peut prétendre un Thomson, ni plus ni moins. Parmi les 8 bits le TO8 n'est pas le plus mauvais, même s'il est venu un peu tard.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: ASM sur Thomson

Message par __sam__ »

Comme l'a dit Daniel, le basic est lent. Par contre à sa décharge, à partir du basic2 il permet d'utiliser de façon transparent plus de données que la mémoire immédiatement adressable par le processeur (il fait le changement de banque mémoire automatiquement, c'est pratique). En outre il a des primitives de haut niveau qui sont bien pratiques (put/get pour les images, turtle pour les sprites simples, etc.) Du coup certains arrivent à faire des jeux jolis et sympa en basic2, cf le travail de Garland: ou de zef: C'est marrant: aucun n'est francais. Nul n'est prophète en son pays on dirait.

Après il y a les mixtes ASM/Basic, avec pas beaucoup d'asm comme par exemple le trop peu connu: Secte Noire de 6502man (l'asm ne sert que pour le son), et du coté professionnel: Coliseum et bien d'autres encore (Robinson Crusoé, Les passagers du vent, Lucky-Luc, etc).

En fait tout dépend du type de jeu. Un jeu avec beaucoup de son et des animations de folies nécessite d'être en asm (exemple: Mission Lift-Off), un jeu plus calme avec moins de son peut être en mixte asm/basic (le basic permettant d'avoir un jeu assez riche en scenario je pense), et sinon il y a les jeux qui se contentent du bruitage minimal qui peuvent se faire en basic.
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
Xavier_AL

Re: ASM sur Thomson

Message par Xavier_AL »

Salut,

La question devrai être posée de la sorte : "Pourquoi l'assembleur n'a pas été mis en avant sur cette machine?"
Si l'on prend l'ensemble des listings de l'époque, je suis tombé sur deux ou trois programmes Basic bricolés avec de l'assembleur !
( sur plus de 300 !)

Sur les machines, les assembleurs/désassembleurs étaient hors de prix sur cassette et inabordables sur cartouche!
L'assembleur était donc destiné aux semi-professionnels.

Et de grâce, ne prenez plus d'exemples anachroniques: les moyens, les méthodes et les prix … sont impossible à comparer.

Un programme à l'époque, se codait en deux mois… en une semaine avec un émulateur, logiciel de dessin, de nombreux exemples et documentations disponible sur le net.

Donc, oui… aujourd'hui, c'est fabuleux. Mais à l'époque pas d'exemples, peu d'idées, pas de professionnels et une littérature gnangnan sur le Basic et ses fonctions dites "avancées" (il fallait taper dans les livres anglophones pour y trouver son bonheur, un comble pour une machine Française) .

Pas de forums, pas de programmes désassemblés, peu d'exemples et une communication en milieux restreints dans des clubs, à l'école ou par voie postale.

De nombreux utilisateur ignoraient même l'existant de ce language, non documenté dans les manuels de la machine et trop sérieux et austère pour y perdre son temps.

Pour appréhender l'assembleur, il y avait bien l'Hebdogiciel, les magazines TEO, spécialisés… mais ils sont arrivés bien tard pour populariser ce langage sur cette machine.

Et la raison en est simple… d'autres machines plus sexy ont vampirisé les codeurs sur cette machine, avec un assembleur (CPU) différent mais de structure similaire !
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: ASM sur Thomson

Message par __sam__ »

Oh moi j'ai eu connaissance de l'assembleur assez tôt sur mon TO9, et puis il y avait les cours d'hebdogiciels. Cependant force est de constater que faire un jeu complet en ASM est très pénible (pas modulaire, et infernal à débugger !). Le mélange ASM pour les primitives bas niveau (sprite et son) et BASIC pour la logique générale du jeu est sans doute un truc intéressant.
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: ASM sur Thomson

Message par Daniel »

Il ne faut pas dire qu'il n'y avait pas de documentation à l'époque. J'avais ce livre que tout le monde pouvait acheter :

Image

Comme l'a écrit __sam__ le plus simple était de réaliser la logique du programme en BASIC et d'appeler des routines en langage machine pour l'affichage et les sons. Le chef d’œuvre de l'époque, l'Aigle d'Or, utilisait cette technique. Je faisais pareil.

Effectivement la cartouche assembleur était trop chère, et pour ma part je programmais directement en langage machine. C'est un peu plus long qu'avec un assembleur, mais pour des routines pas trop complexes ce n'est pas difficile. Il suffit de papier, d'un crayon et d'une gomme.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: ASM sur Thomson

Message par __sam__ »

Il est possible que ce qui a manqué pour avoir plus de jeux marquants faits par des anonymes et l'absence de facilité en basic1 (et même 2) pour avoir des sprites et du son non bloquant. Pour les sprites, mes premiers essais avec "Cartoon maker" qui prétendais apporter des sprites au basic m'ont vite désappointés à l'époque à cause des couleurs qui bavent. Question son, l'Oric avait des primitives bien sympa (ZAP, SHOOT, PING, EXPLODE) qui auraient été bien pratique sur thomson pour donner de la pèche aux jeux (imaginez LiftOff tout silencieux, ca n'est carrément plus le même jeu).
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: ASM sur Thomson

Message par Daniel »

Pour des sprites utilisables en Basic, il y a Lutins : http://dcmoto.free.fr/programmes/lutins/index.html

Image
Daniel
L'obstacle augmente mon ardeur.
Xavier_AL

Re: ASM sur Thomson

Message par Xavier_AL »

Sault,

D'ailleurs, j'ai retrouvé pas mal de machines pouvant utiliser des fonctions avancées gérant les sprites en mode natif.
Le Vic 20, la Commodore 64, le SC3000, la MSX, le TI99, Apple 2 …
Rien qu'en pokant quelques adresses, ou avec des fonctions basic.

Elles sont soit non documentée, et la technique se diffuse par clonage de routine, soit partiellement documentées, comme une curiosité de programmation.

Mais, généralement ces fonctions sont misent en oeuvre très tard après la sortie de la machine (1986) sur le Thomson.
Le Ti99 a eu plus de réactivité avec ses fonctions en Basic étendu qui a popularisé les sprites très tôt.
En 1986, le Thomson n'était plus un "must", avec l'Oric, la MSX... qui avaient pris le dessus.
Le MO5, lui a est passé au second plan et n'a pas su convaincre malgré ses points forts.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: ASM sur Thomson

Message par __sam__ »

Mouais, "Lutin", mais ca m'aurait fait la même déception que CartoonMaker: déplacement grossier horizontal par pas de 8 pixels, et pas de gestion de transparence. En fait à l'époque ce qui me faisait rêver étaient les sprites "matériels" du C64 avec de la transparence et des couleur. Sur thomson de 1ère génération rien de tout ca vu le fonctionnement du mode graphique.

Je pensais bien que c'était le cas jusqu'à ce que WooD (tiens, encore un non francais qui fait des jeux sur Thomson... prophète/pays, ca se confirme!) nous présente quelques tests qui l'a fait avec une organisation graphique complètement géniale qui avait échappé à tout le monde jusque là et qu'il a appelé "SuperColor"
Image Image
C'est pas mal non?

Je suis persuadé qu'il y aurait moyen de faire un super jeu avec des sprites rapides (car juste le mode forme à modifier) sans bavure écran avec des fonds super colorés. Techniquement tout existe, sauf une ressource rare pour moi (qui suis technicien plus que gamer): trouver le jeu addictif idéal pour ce mode graphique.
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
Ythunder
Messages : 928
Inscription : 21 août 2019 10:12

Re: ASM sur Thomson

Message par Ythunder »

Par rapidité, perso moi je me dis que les gens voient donc usage pour jeux d'action (donc, animation du sprite (soyons fous sur Thomson hein !), déplacement de sprites le plus souple possible, scrolling parallaxe... oups, je m'égare :lol: :lol: :lol: ).

Je pense à d'autres types de jeu qui ne sont pas des jeux d'action du tout. Exemple : du jeu d'aventure avec représentation des scènes en fil de fer : plutot relou en BASIC, affichage lent et donc : utilisation de l'assembleur. Rien a voir donc avec des sprites.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: ASM sur Thomson

Message par rendomizer »

je me souviens encore d'avoir réussi mon 1er bout de code en decimale (language machine) sur commodore 64 j'ai churlé comme si la france avait gagné un match de foot. Aujourd'hui je m'éclate a fond avec le VG000µ en assembleur et créé deux logiciels un en BASIC et l'autre en assembleur.
viewtopic.php?f=25&t=8124&start=45
Je ne suis qu'un utilisateur pas un pro
totor
Messages : 204
Inscription : 09 oct. 2019 22:41

Re: ASM sur Thomson

Message par totor »

Sur les machines, les assembleurs/désassembleurs étaient hors de prix sur cassette et inabordables sur cartouche!
L'assembleur était donc destiné aux semi-professionnels.
C'est quoi inabordable sur cartouche ? Car fin 1984 la cartouche assembleur to7/to7-70 était vendue 890 francs.
Répondre