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

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

Linzino
Messages : 69
Inscription : 26 août 2017 02:40

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

Message 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
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

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

Message 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
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message 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
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: [Mo5/To7][Assembly] Comment acceder aux deuxièmes 8k de mémoire vidéo?

Message 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.
Daniel
L'obstacle augmente mon ardeur.
Linzino
Messages : 69
Inscription : 26 août 2017 02:40

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

Message 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
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

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

Message 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)"
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message 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)
Daniel
L'obstacle augmente mon ardeur.
Répondre