Page 1 sur 1

[Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 10 déc. 2018 18:01
par Linzino
Salut tout le monde,

J'aurais une petite question téchnique. Quelqu'un pourrait m'aider, s'il vous plait?
Comment accéder en Assembly aux deuxièmes 8k de mémoire vidéo des Thomsons Mo5 et To7 (et tous les autres de la serie M et T)?

Le but c'est de pouvoir choisir la couleur de chaque groupe de pixels 8x1.

J'ai compris que les deuxièmes 8k de mémoire vidéo se trouvent dans les mêmes adresses.

Il faut donc faire du bank switching. Mais comment?

Fabrizio

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 10 déc. 2018 18:29
par nicolho
Linzino a écrit : 10 déc. 2018 18:01Il faut donc faire du bank switching. Mais comment?
Oui, en modifiant le bit 0 de :
- $E7C3 sur TO7
- $A7C0 sur MO5
à 1 pour la mémoire "forme", et à 0 pour la mémoire "couleur".
(bien qu'il existe certainement une meilleure documentation, voir page 12 et 13 de ce pdf: http://www.boitasite.com/to8/pdf/microtom_05.pdf )

Par exemple, pour passer en mémoire "forme" sur TO7 en modifiant uniquement ce bit (sans toucher aux autres, dédiés à d'autres fonctions), tu peux procéder comme ceci :

Code : Tout sélectionner

LDA  $E7C3
ORA #$01
STA $E7C3
EDIT : je viens d'y repenser, je te recommande chaudement la lecture du livre "Assembleur et périphériques des MO5 et TO7-70" (un des plus instructifs sur la programmation bas-niveau de ces machines) disponible ici : http://dcmoto.free.fr/documentation/ass ... index.html

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 10 déc. 2018 20:53
par __sam__
Tiens, c'est la même question qu' >>ici<< :wink:

Pour apprendre en s'amusant, je ne saurais trop que recommender ce par quoi les anciens sont passés: >>les cours d'heeeebdogiciel, avec en particulier le numéro 129 qui traite précisément de la mémoire vidéo (avec le fameux bit0 de $E7C3)
Image

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 10 déc. 2018 22:02
par Daniel
Linzino a écrit : 10 déc. 2018 18:01 Comment accéder en Assembly ...
Petit point de vocabulaire, pour que l'on puisse se comprendre : Assembly ne veut rien dire en français.
Les dénominations utilisées par les informaticiens pour le programme source et le programme exécutable sont respectivement :
- Assembleur (abréviation de langage d'assemblage) : https://fr.wikipedia.org/wiki/Assembleur
- Langage machine : https://fr.wikipedia.org/wiki/Langage_machine

Et en anglais voici la signification de assembly : https://en.wikipedia.org/wiki/Assembly
Si on veut parler du langage il faut obligatoirement écrire "assembly language", car "assembly" a d'autres significations, y compris en informatique.

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 10 déc. 2018 23:26
par Linzino
@Daniel,
désolé ma langue maternelle n'est pas le français.

Pour moi l'Assembleur signifiait Assembler (le logiciel qui traduit l'Assembly en language machine).
Par contre l'Assembly est le language formé pas des "opcodes" (LDA, LDB, etc.).

En anglais (et en italien):
Assembly = language
Assembler = "traducteur" de l'Assembly

Fabrizio

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 11 déc. 2018 10:30
par nicolho
... e "Grazie" si dice così : "Merci". Per esempio :
"Merci __sam__ pour cette liste exhaustive des articles "programmation Thomson" d'Hebdogiciel ! (et merci à abandonware.org pour les scans)"

Re: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Publié : 11 déc. 2018 11:50
par Daniel
Linzino a écrit : 10 déc. 2018 23:26 Pour moi l'Assembleur signifiait Assembler
Oui, c'est exact, l'assembleur (ou programme d'assemblage) est le programme qui transforme le langage d'assemblage en langage machine.
Mais on utilise aussi "assembleur" pour désigner le langage d'assemblage. C'est ambigu et pas très logique, mais c'est l'usage depuis plusieurs dizaines d'années, et plus personne aujourd'hui ne dit "langage d'assemblage". Le français est une langue difficile. La signification du mot dépend du contexte : dans la phrase suivante le deuxième "assembleur" n'a pas la même signification que le premier.
J'écris un programme en assembleur, puis je le transforme en langage machine en utilisant un assembleur.
Assembly n'a pas la même signification :
Assembly : anglicisme informatique, désignant un ensemble logiciel cohérent constitué en une unité de déploiement indivisible à partir de plusieurs 'briques' logicielles (dll, ressources, méta données, dépendances...), particulièrement employé dans le monde Microsoft, mais également en Java (fichiers jar)