Débuter en asm 6809E sur Thomson : petit récapitulatif

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

Répondre
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Zaxxon »

Bonjour,

Suite à la suggestion de Game Over,j'ouvre ce topic destiné à la programmation en assembleur sur les ordinateurs Thomson à destination des débutants comme moi.

Je m'y suis mis récemment (il n'est jamais trop tard), et j'espère qu'il pourra aider ceux qui comme moi veulent s'y intéresser.

Je partage mes trouvailles, et les conseils que l'on a pu me donner. Si vous voyez des choses à modifier, à rajouter, et si des personnes plus expérimentées désirent partager leur connaissances, vous êtes les bienvenu(e)s et merci :)

Je me suis basé sur le mo5, mais cela peut servir de base à toute la famille des Thomsons du MO5 au TO9+



La documentation (en ligne et/ou livres)
----------------

-Manuel Technique du mo5 (Livre):

Fourni je pense avec les mo5 à l'époque, est contrairement aux idées reçues une mine d'or (après la partie réservée au basic) où l'on y trouve une liste des fonctions du moniteurs, de l'organistation de la mémoire etc.

Il est disponible sur le site de Daniel (je me suis basé arbitrairement sur la v2):
http://dcmoto.free.fr/documentation/gui ... mo5v2.djvu

-Une introduction à la programmation en assembleur (TO8) de Pierre Gautard (en ligne) :

Cours 1 :http://gautard.pierre.free.fr/Cours_Ass ... yver_1.htm
Cours 2 :http://gautard.pierre.free.fr/Cours_Ass ... yver_2.htm

Les scans de la rubrique initiation à l'assembleur parue dans le magazine Hebdogiciel (Merci à Samuel), qui contiennent en plus de proposer un guide simple un peu d'humour :)

Disponible ici : http://www.logicielsmoto.com/phpBB/viewtopic.php?t=419

Le site de Pulkomandy qui regorge de documentation

http://pulkomandy.tk/wiki/doku.php?id=d ... art#system

-"Passez facilement du Basic au langage Machine des TO7 TO7-70 TO8 MO5" (Livre) disponible également sur le site de Daniel

http://dcmoto.free.fr/documentation/pas ... ement.djvu

-Une minidoc sur le 6809E, disponible en format texte (et en anglais), facile à imprimer pour garder sous le coude la liste des mnemonics :

http://tonews.lescigales.org/6809e.txt

-The 6809 Cookbook (livre en anglais) : Pour tout savoir sur le 6809.

Disponible en pdf ici :http://www.colorcomputerarchive.com/coc ... 20Inc).pdf

-Le Datasheet du MC6809e de Motorola (Documentation technique en anglais)
Disponible ici : http://www.classiccmp.org/dunfield/r/6809e.pdf


Les logiciels pour développer :
-------------
Sur Thomson

-La cartouche Assembleur : Pour développer directement sur la machine d'époque. Disponible sur Thomson MO/TO

-Cassette Ass/desass d'infogrames : Jamais testée mais disponible sur le site de Daniel. Intérêt peut être limité car cassette?
http://dcmoto.free.fr/programmes/assdesass/index.html

-Sur PC en cross compilation (Choix personnel)

L'avantage est d'utiliser un éditeur récent et la facilité du pc pour développer, l'inconvénient sera de transférer sur Thomson ses "oeuvres"

c6809, un assembleur 6809E prévu pour pour les Thomsons MO/TO . Très simple d'utilisation. quelques différences dans la syntaxe (commentaires etc..) mais un grand merci à son auteur :
Fonctionne sur Linux et Windows

Disponible sur le site de Puls :
http://www.pulsdemos.com/c6809.html

As9 (Merci à 6502man de m'en avoir parlé. Je ne l'ai pas testé, et le le lien est donc à vérifier, car il provient d'une recherche google)
Point positif : Apparemment il semblerait qu'il convertisse des mnemonics 6800 vers 6809 à la volée.

http://gordonjcp.github.io/miragetools/asm09.html

En espérant que cela soit utile,
Bonne journée,
Thomas,
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par petitjd »

Petite couche supplémentaire sur le 6809:
http://koti.mbnet.fi/~atjs/mc6809/
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par __sam__ »

Tout à fait. D'ailleurs la page 6809 sur laquelle je vais le plus souvent est issu de ce site: http://koti.mbnet.fi/~atjs/mc6809/Information/6809.htm
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 : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Daniel »

L'assembleur 6809 sur PC est l'outil utilisé par la majorité des développeurs. Les puristes utilisent la cartouche assembleur sur Thomson, mais je ne crois pas que ce soit le plus rapide ni le plus efficace.

Pour ma part :
- Assemblage avec A09 : http://www.hermannseib.com/english/opensource.htm
- Chargement du binaire avec l'outil de mise au point de l'émulateur dcmoto pour mettre au point le programme
- Création d'un fichier sd (ou fd) et sauvegarde du programme avec SAVEM
- Transfert et test final sur Thomson

Pour apprendre l'assembleur 6809 il y a une littérature surabondante et souvent bien faite. Pour le fonctionnement des ordinateurs, on peut commencer par les guides utilisateurs, mais il deviennent vite insuffisants. Après on doit se reporter aux manuels techniques, et consulter les livres spécifiques aux développements assembleur sur Thomson : http://dcmoto.free.fr/documentation/litterature.html
Dans les années 1980, le livre "Assembleur et périphériques des MO5 et TO7-70" était mon ouvrage de référence pour le MO5. Mais il y en a beaucoup d'autres très bien faits. Pour les TO de dernière génération le manuel technique des TO8, TO9 et TO9+ est incontournable.

S'il manque des informations, voir les documentations techniques Savema et Cofadel : c'est la bible pour les machines n'ayant pas de manuel technique, comme le PC128, le MO6 et le MO5NR. La documentation technique Cofadel du MO5NR contient beaucoup d'informations absentes de celle du MO6. http://dcmoto.free.fr/documentation/technique.html

En dernier recours, il y a des membres de ce forum toujours prêts à répondre aux questions les plus subtiles. Et plus la question est difficile, plus ils sont motivés :wink:

Contrairement à ce que j'ai pu lire dans la section "De passage", les machines Thomson sont tellement bien connues qu'il n'y a plus aucune zone d'ombre, et il n'y a aura jamais de question technique sans réponse claire et précise.
Daniel
L'obstacle augmente mon ardeur.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Zaxxon »

Bonsoir, et joyeux Noël (Même si c'est fini depuis quelques heures déja).

Merci à vous pour ces contributions, ça fait un guide sympathique.

Pour le site http://koti.mbnet.fi/~atjs/mc6809/ je rajouterais qu'en plus d'être un site complet, on y trouve notamment un desassembleur Dasm6809, compatible avec les appels moniteurs des thomsons, que je n'ai pas encore trouvé autre part. :)
Pour ma part :
- Assemblage avec A09 : http://www.hermannseib.com/english/opensource.htm
- Chargement du binaire avec l'outil de mise au point de l'émulateur dcmoto pour mettre au point le programme
- Création d'un fichier sd (ou fd) et sauvegarde du programme avec SAVEM
- Transfert et test final sur Thomson
Ce que je fais de mon coté :
- Assemblage avec c6809
- Transfert sur cassette ou sd/fd
-Test sur Mame (Mess est intégré dans mame maintenant), ou dcmoto sous linux.
-Test final sur Thomson

Pour les transferts vers Thomson (Linux):

-Transfert d'un fichier PC sur fichier.k7 thomson :
f2k5 de Pulkomandy
http://pulkomandy.tk/projects/thomson/b ... s/f2k5.cpp

- Conversion k7 ->wav pour test réeel sur mo5

Un autre outil de Pulkomandy et Prehisto (Note j'utilise une version modifiée avec des gap plus importants car je passe par un lecteur mp3/téléphone)
http://pulkomandy.tk/projects/thomson/b ... ls/k5towav
L'outil de Daniel dcmo5 fonctionne également très bien :
http://dcmoto.free.fr/emulateur/index.html

Pour les disquettes /SD, je passe par DCFDUTIL de Daniel également (lien ci dessus), via wine sous Linux.

Bonne journée
Thomas,
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par jb_jb_fr »

Bonsoir

Il existe également ASXXXX qui a l'avantage d’être capable de gérer beaucoup de microprocesseur:
http://shop-pdp.net/ashtml/asxxxx.htm

Code : Tout sélectionner

   The  ASxxxx  assemblers are a series of microprocessor assem-
blers written in the C programming  language.   This  collection
contains  cross  assemblers  for the 1802, S2650, SC/MP, MPS430,
6100, 61860,  6500,  6800(6802/6808),  6801(6803/HD6303),  6804,
6805,  68HC(S)08,  6809, 68HC11, 68HC(S)12, 68HC16, 740, 78K/0S,
8048(8041/8022/8021)  8051,  8085(8080),  DS8xCxxx,  AVR,  EZ80,
F2MC8L/FX,  F8/3870,  GameBoy(Z80),  H8/3xx,  Cypress PSoC(M8C),
PIC, Rabbit 2000/3000, asst6, asst7, asst8, Z8, and Z80(HD64180)
series  microprocessors.   Each  assembler has a device specific
section which includes:  (1) device description, byte order, and
file  extension  information,  (2)  a table of assembler general
directives, special directives, assembler  mnemonics  and  asso-
ciated operation codes, (3) machine specific code for processing
the device mnemonics, addressing modes, and special directives. 
Il peut tourner sur toutes les machines, car les sources sont accessible. Il suffit de les recompiler
De plus, il est toujours maintenue.
La dernière version:

Code : Tout sélectionner

Version 5.10 Update 1
2015_06_27
Et en plus y'a une version pour Android! :shock:

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

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Zaxxon »

Bonjour Jacques, bonne année et merci.

Il a l'air intéressant comme assembleur. Je commence à me familiariser avec c6809, mais il faudrait que j'essaie :)

Bonne soirée,
Note au passage : je suis tombé au fil de mon surf sur OS/9 sur Thomson, dont je crois tu es un (ou l'unique) des investigateurs, bravo :)
Thomas,
Fool-DupleX
Messages : 2271
Inscription : 06 avr. 2009 12:07

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Fool-DupleX »

Nous sommes plusieurs à développer ou avoir développé le Projet OS-9 sur Thomson : http://os9.forler.ch.

Jacques est c'est vrai le pilier, car c'est lui qui a porté le noyau sur Thomson, d'abord sur le MO5, puis sur MO6 et TO9+.

Je reste toujours aussi émerveillé par ce que les Thomson peuvent faire, équipés d'OS-9. Je me suis déjà largement extasié sur ce forum à ce sujet, je vais pas revenir dessus, mais c'est un très bel OS. Surtout quand on sait qu'il est sorti a peu près en même temps que le basic de Microsoft. On mesure à quel point les produits Microsoft étaient en retard dans les années 80 et à quel point ils nous ont fait perdre notre temps.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Daniel »

OS-9 sur Thomson est un projet assez singulier : en consultant le site officiel, on constate qu'il y a une équipe de 6 développeurs avec un chef de projet. Ils travaillent depuis 2002, et il n'y a encore rien de public, hormis l'émulateur OS9/MO5 du 20/04/2004.
Nous sommes plusieurs à regretter cette absence de communication. Quelle en est la raison ?
Daniel
L'obstacle augmente mon ardeur.
Xavier

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Xavier »

Salut,
En règle générale, les projets de groupe s'essoufflent rapidement!
Tous sont motivés à la création, mais tout ce complique lors de la diffusion du projet.

Ils partent tous sur de mêmes bases, se nourrissent des mêmes informations et créent des sources pratiquement identiques!
Résultat, tous vont dans le même sens et réécrivent à leur compte, le travail de la personne la plus disponible sur le projet.

On bidouille un truc, car un mec a ajouté une routine et le jour où tout le monde semble être d'accord sur les sources, certains ne se reconnaissent plus dans le projet!

Donc, le "chef de projet" reste seul à supporter la mise en ordre, la maintenance et la correction de codes qui ne lui appartient pas.
Le projet est destiné à être abandonné, car chacun publie "Sa" version de "SON" programme!

J'ai déjà pris "Mess" comme référence, qui est pour moi l'exemple du programme "fourre-tout", réalisé par des anonymes qui refusent toutes responsabilité au niveau du bon fonctionnement d'une partie de code.

Cela entraine des parties de routines mutilées pour s'adapter à de nouvelles machines, des bogues résiduels qui gangrènent toute une partie du projet.

J'ai longtemps protesté (de 2004 à 2007) pour la correction de l'émulateur de ZX81, fonctionnel avant 2004... mais l'auteur était introuvable, et la seule réponse qu'il m'a était donnée été : "Apprend à programmer le c++ et corrige le toi même!"

C'est à partir de ce jour que je ne fait plus confiance en ces compilations de bric à brac, aux codes instables et qui ne sont pas mis à jour en cas de non fonctionnement.

Un auteur, un logiciel et une passion...
Je conseille les petits logiciels, simples à utiliser, programmés par des auteurs qui n'ont pas peur de revendiquer leur travail et qui savent parler de leurs codes et des machines émulées.

Certains font des émulateurs en un semaine, avec une ou deux mise à jours... puis, clôturent définitivement le projet.
Dans ce cas, leur réponse en cas de bogue est "J'ai plus les codes!", "C'est vieux!" ou "ça marchait bien chez moi!"... "Dans tous les cas, le projet est terminé et ne sera pas corrigé!"

Donc, si aucun programme ou codes sources ne sont diffusés, aucun ne le sera!
Dans mon cas, je crée, je teste et je diffuse binaires et codes sources...

Les sources ne sont pas là pour les utilisateurs ;-) , même à des fins pédagogiques, mais pour moi!
Car ces sources sont la future mise à jour du programme en cas de changement.

En effet, il est très facile de les perdre, car en quelques années, les PCs sont remplacés, les petits projets pas forcement archivés...

Donc, ce type de projet n'a aucune chance de réapparaitre sous sa forme originelle.
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par jb_jb_fr »

Bonjour Daniel
Daniel a écrit :OS-9 sur Thomson est un projet assez singulier : en consultant le site officiel, on constate qu'il y a une équipe de 6 développeurs avec un chef de projet. Ils travaillent depuis 2002, et il n'y a encore rien de public, hormis l'émulateur OS9/MO5 du 20/04/2004.
Qu'entends tu par Emulateur OS9/MO5?
Car OS9, tel qu'il est actuellement ecrit n'est pas censé tourner avec un émulateur OS9 a proprement parlé. Il faut un émulateur MO5 ou MO6 ou TO9, mais pas un émulateur OS9.
Daniel a écrit :Nous sommes plusieurs à regretter cette absence de communication. Quelle en est la raison ?
En fait il est vrai que l'on a assez peu communiqué. Et je dirais pour 2 raisons. La 1er est que ce projet n'a pas soulevé les foules. J'ai eu l'impression que OS9 n’intéressait pas grand monde. Faire du matraquage n'est pas franchement mon truc. Pour moi : Pas de réaction, donc je ne dis rien. C'est pas plus compliqué.
La 2eme raison est que OS9/6809 est/était sous licence. Donc je n'étais pas très chaud pour trop communiquer. Mais Fool a eu il y a tres peu de temps la confirmation/permission de Microware de pouvoir utiliser les sources OS9/6809 comme on voulait sans avoir de soucis de licence et de droit d'auteur (sujet tres à la mode ces temps ci). Donc sur ce point de vue la, on sera plus libre de communiquer ce que l'on veut.

Et enfin juste pour info, j'ai quand même l'intention de diffuser les ROM pour que OS9 tourne sur TO9+. J'y travaille encore mais tres tres doucement. Je me suis trouvé une autre passion qui malheureusement me prends du temps et ne me laisse plus trop de temps pour les vieille machine. Mais ne desesperez pas. Il y aura bien un OS9 pour TO9+. Il faut que je m'atelle au driver du ROM/RAM disque. C'est a peu pres ce qu'il manque en ce moment. Sachant que dernièrement j'ai fait des grosse modifs de noyaux afin que OS9 puisse tourner avec un 6309 (ce qui pourrait fortement t’intéresser Daniel)

Jacques
Xavier

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Xavier »

:shock:

Si j'ai tout bien compris, un Windows est en court de développement sur Z80 ... Mais à la sauce Motorola!
Parce que franchement, au premier abord, j'ai trouvé bizarre de numéroter les os du corps humain/corps animal.
:oops:

Donc un système d'exploitation est en cours de codage sur une machine 6809 de Motorola, ici le MO5.
Il reprendra les bases du système d'exploitation créé pour les machines Apple... le fameux Os9.

Ai-je bien tout compris?
:mrgreen:

[EDIT]AS OF VERSION 0.162, MAME AND MESS HAVE BEEN COMBINED INTO A SINGLE EMULATOR!
Triste nouvelle... un retour en arrière de 10 ans, et de nouveaux bogues sur d'anciennes machines...
J'ai déjà dénoncé cet infâme bordel de codes pour "Mess", c'est au tour de "Mame" d'hérité des incohérences strucurelles qui ont gangrenés "Mess".
Dommage, "Mame" était stable et basé sur des systèmes "bloqués"...
Les codes incomplets et librairies incompatibles vont aussi couler "Mame", que je ne recommanderait plus! (au même titre de "Mess", d'ailleurs)
Sa seule utilité réside dans le fait que ses sources peuvent être séparée, et réutilisées indépendamment...
Une compilation globale des codes est une hérésie que seul "Mess/Mame" à su imaginer!
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Daniel »

jb_jb_fr a écrit :Qu'entends tu par Emulateur OS9/MO5?
C'est le seul et unique fichier téléchargeable à la page officielle d'OS/9 : http://os9.forler.ch/download.php
Depuis 2004 je n'ai eu aucun élément concret pour le faire évoluer, et c'est dommage car l'émulateur est le meilleur moyen de montrer à quoi ressemble le système.
Daniel
L'obstacle augmente mon ardeur.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Zaxxon »

Bonsoir,

Il faudra que je teste os/9 un de ces jours, ça semble prometteur. Vu que j'ai maintenant plusieurs mo5, je peux m'amuser l'esprit tranquille, 8) ,me reste à trouver le temps (Mon gros soucis :/). Dès fois j'ai des creux, j'en profite pour me consacrer à mes vieilles machines.

En tout cas très bonne initiative :).
Je ne sais pas si au dernier forum Thomson (le seul auquel je me suis rendu, j'ai découvert que trop tard), il n'en était pas question déja. Il me semble avoir vus des thomsons avec des cartes, des terminaux et des liaisons series tourner dans le plus grand mystère :D
En fait il est vrai que l'on a assez peu communiqué. Et je dirais pour 2 raisons. La 1er est que ce projet n'a pas soulevé les foules
Malheureusement, j'ai l'impression que les projets Thomsons n'intéressent pas trop les foules :(. Certes les utilisateurs, sont énormément moins nombreux que les Amstrad, par exemple, et la machine intéresse très peu la nouvelle génération fan de retro computing (et comme c'était français en plus..). Il ne reste au final surtout que les anciens utilisateurs Thomson dont beaucoup ont du quitter le navire..

Xavier : J'ai regretté comme toi la fusion de mess et Mame, mais d'un autre coté ça semble fonctionner, même si j'aurais préféré qu'il y ai deux systèmes distincts. Pour les développeurs, il ne faut pas oublier que ce sont des bénévoles, qui ont certainement d'autres activités, mais qui ont eu le mérite de contribuer au développement.

Ils ont proposé à un moment T quelque chose qui fonctionnait, j'en suis reconnaissant.
Thomas,
Xavier

Re: Débuter en asm 6809E sur Thomson : petit récapitulatif

Message par Xavier »

Salut,

Comme beaucoup, j'ai redécouvert le Thomson sur ce forum...
Emprunt d'une réputation "éducative" et "obsolète", ces machines ont souffert d'une réputation négative chez les néo-programmeurs de l'époque.
"j'ai acheté ça car je ne savais pas quoi acheter!", "Je l'ai acheter pour l'offre éducative pour les enfants!", "J'ai fait des cours sur cette machine à l'école..." etc...
Non, à l'époque, acheter un Thomson était un aveux de faiblesse et un sujet de moquerie.

Avoir un TO7, quand tout le monde est passé au CPC, à l'Oric ou même au MSX, n'était pas un objet de vantardise.
Il fallait être prof. pour s'acheter un Thomson.... et ramener du boulot à la maison!
Ce forum à montré une autre image de la machine, une image moins limitée et purement éducative.
Thomson c'était le côté frigide de l'informatique... sans les aides données par les contrats d'état, la marque ne s'en serait pas remise.
Mais, l'on apprend à aimer et les préjugés s'estompent avec les années et avec une nouvelle approche des machines.


@Zaxxon:
"Mess" restera un émulateur expérimental à tout point de vu.
Mais, son point fort n'est pas l'émulation elle même, c'est sa faculté de porter un intérêt de bons nombre d'utilisateurs à l'émulation.
De nombreuses personnes ont commencés à coder sur Mess, puis, ont lancés leur émulateur perso. de bien meilleur qualité!
Donc, oui, Mess est une vitrine d'émulateurs, mais les mises à jours ne sont pas forcement là où on les attend.
Répondre