Thomson Mo5

Page dédié à mes Thomson Mo5 (mise à jour le 15/03/2023)

mo5
Version 2.1 mecanique.
mo5
Version 1.0 gomme.
SDDRIVE
Le SD Drive est un lecteur de carte micro sd pour les thomsons. mo5
mo5
Lien pour plus d'info
CARACTERISTIQUE
MO5
Microprocesseur :Motorola 68009E 1.0Mhz
Mémoire Ram :48 Ko
Mémoire Rom :16 Ko
Capacité Graphique : Palette de 16 couleurs
Mode Text : 40 colonnes et 25 lignes.
Mode Graphisque : 320 points sur 200. 2 couleurs maximum sur 16 dans une zone 8 pixels sur une ligne.
Capacité Sonore : 1 voix sur 5 octaves

La Palette de Couleurs
La MO5 possède une palette de 16 couleurs. Elle peux les affichers toute sur l'écran mais possède une contrainte de proximité.
Deux couleurs maximum par tranche de 8 pixel sur une ligne.
Palette MO5
Carte mémoire du Mo5

$0000-$1FFF : Mémoire Video. (8,192 ko (*2 en superposition. Bank 0 pour la couleur,1 pour la forme))

$2000-$20FF : Registre du Moniteur.

$2100-$21FF : Registre de l'application.

$2200-$9FFF : Mémoire utilisateur. (32,255 ko)

$A000-$A7BF : Dos si disquette.

$A7C0-$A7C3 : Pia 6821.

$A7C4-$A7CB : Libre. (11 octets)

$A7CC-$A7CF : Pia 6821 Jeux Manettes.

$A7D0-$A7D7 : Contrôleur de disquettes.

$A7E0-$A7E3 : Pia 6821 Interface de communication.

$A7E4-$A7E7 : Compteur crayon optique.

$A7E8-$A7FF : Extension.

$A800-$AFFF : Libre. (2,47ko)

$8000-$EFFF : Cartouche Rom. (16,000ko)

$F000-$FFFF : Moniteur.

Memoire Video
Le Mo5 possède deux fois 8ko qui se superpose à l'adresse $0 jusque $1FFF.
1 bank pour les "formes" qui es les graphismes.
1 bank pour les couleurs.
Sur Mo5 c'est le bit 0 de l'adresse $A7C0. qui controle la bank de la memoire video.
Si le bit 0 est à 0 alors on est sur la bank couleur. Et si le bit est à 1 alors on est sur la bank "forme".

Le mo5 est un ordinateur en mode bitmap. On peux gerer les graphismes au pixel près. La résolution d'affichage est de 320x200 pixels + le border.
En mode "forme", 1 octet permet d'afficher un point à l'écran. Ce qui fait 40 octets par ligne.
En mode "couleur", 1 octet permet de définir la couleur du "fond" et du "pixel" par groupe de 8 pixel.

bit 7 : Pixel Demi Teinte(0)/pleine(1)

bit 6 : Pixel Bleu

bit 5 : Pixel Vert

bit 4 : Pixel Rouge


bit 3 : Fond Demi Teinte(0)/pleine(1)

bit 2 : Fond Bleu

bit 1 : Fond Vert

bit 0 : Fond Rouge

La création d'une couleur se fait par mélange. (Rouge + Vert = Jaune)
Note : activers les 4 trois bits de couleurs pour faire du blanc et le passer en demi teinte donne du orange !
Le Registre $A7C0
Le registre $A7C0 peut être configuré pour la couleur du fond et de la selection de forme/couleur de la mémoire video. Il est lié au port A du PIA System

bit 7 : sortie du lecteur cassette

bit 6 : entree du lecteur cassette

bit 5 : entree de l'interruption du crayon optique


bit 4 : Border : Demi Teinte(0)/pleine(1)

bit 3 : Border : Bleu

bit 2 : Border : Vert

bit 1 : Border : Rouge

bit 0 : Bank Video (0 = Couleur,1 Forme)

Disquette et Basic !!!
LOADM"MONPRG.BIN" : Permet de charger un programme binaire à l'adresse de l'entête.
LOADM"MONPRG.BIN",,R : Permet de charger un programme binaire à l'adresse de l'entête et de le lancer.
LOAD"MONPRG" Permet de charger un programme basic.
SAVEM"MONPRG.BIN",ADRESSE_DEBUT,TAILLE,ADRESSE_LUNCHER permet de sauvegarder la mémoire.Un header sera crée.
Note : Le Dos basic prend de la place en mémoire ram. (8ko outch). L'adresse de vos programme avec le dos basic semble être en $4DE7
Le header en LM
.byte $00,$TAILLE_H,$TAILLE_L,ADRESSE H,ADRESSE L
ADRESSE H : Adresse du poids fort ou le programme va se charger.
ADRESSE L : Adresse du poids faible ou le programme va se charger.
TAILLE H : Poids fort de la taille du programme sans les headers.
TAILLE L : Poids faible de la taille du programme sans les headers
Le footer en LM
.byte $FF,$00,$00,Poids fort adresse execution,Poids faible adresse execution Note : Le MO5 et son processeur 6809 fonctionne en Grand Boudant contrairement au Z80 et 6502 par exemple
Pour la taille du programme c'est tout simplement taille du fichier entier-10 !!!

Note : Dans le mo5, SAVEM place automatique un header et un footer.
Update Thomson Binary Files

Update Thomson Binary Files (ou UTBF pour les intimes) est un petit programme pour windows que j'ai écrit en C qui permet d'ajouter le header et le footer dans un fichier bin. Utile quand vous avez écrit un programme assembleur en cross dev.
Il se manipule en ligne de commande. (Voir documentation).
Version 01-00-00 du 15/03/204 : Télécharger(Windows)

Site réalisé par Jean Monos