Samuel Devulder a écrit:
Si si il est expliqué dans le "Manuel technique TO8/TO9/TO9+" que $E7E7 a bien 2 types d'accès: p116 ce qu'on récupère en lecture (des infos sur la phase de dessin de l'écran + divers), p110 ce qu'on a en écriture (sélection contrôleur disk, choix mode affichage, choix type de machine, standard vidéo, etc)
Quand on lit un truc ca n'est pas ce qu'on a écrit auparavant! C'est pour ca qu'il faut toujours maintenir une copie à jour en $6081 sur TO. L'info n'est pas diffusée sur papier mais se découvre en désassemblant les roms et autres programmes.
$6181 est une typo:
Yoann, si tu nous lis? tu crois que tu pourrais mettre à jour.
Il y a des infos saisie en partie à la main (donc avec des typos aussi) >>
ici<<.
Salut à tous
Toutes les doc dont vous faire référence, c'est déjà écrit dans le manuel technique
Le lien que tu as mis Samuel, est bourré de faute de typographie (TINIER au lieu de TIMER par exemple) due à un OCR sans doute.
Ok j'ai pigé pour la partie E000-FFFF, c'est pas de la RAM...
Mais quand même il n'y a AUCUNE documentation papier (ni même ailleurs apparemment, les lien que ADNZ et Sam ont fourni ne font que reprendre la doc des manuel technique et/ou Assembleur 2.0 pour TO8..TO9+)
Comment dans ces coups de temps là on peut "savoir" que l'adresse $6081 reprend ce qu'on met en $E7E7 d'autant que dans la doc officielle il est écrit:
"-6081-6085 : Buffer-clavier par défaut (IDSAUT)"
Moi ça ne me rassure pas pour la lecture de E7E7... Si on tape le clavier entre temps... Vous êtes sûr que le système met la valeur de E7E7 ici (en 6081) ??? puisqu'il s'agit du buffer clavier "PAR DEFAUT"
Quoiqu'il en soit, j'ai quand même pu faire marcher mon algo en ASSEMBLEUR (d'ailleurs Sam a commenté la vidéo que j'ai faite là dessus en évoquant le double buffer) de défilement de sprite sans même utiiser E7E7 (commutations de banques) sur DCMOTO en tous cas.
Pour ce qui est de la lecture de E7E7, ça ne se fait QUE SI le D0 en E7E4 est à 1 (et je l'ai déjà dit lors d'un message précédent), pour le crayon optique (p115 de la doc technique) pas si D0=0.
Je pense qu'il ne serait pas inutile que quelqu'un fasse une documentation "complète" et fiable sur ces registres du moniteur et en $E???/$A???. La "doc technique" est très incomplète même s'il y a des exemples sympa (comme pour la gestion du timer).
Le changement de mode vidéo sur les RAM 2 et 3 ne fonctionne pas avec le PUTC (j'ai fait des tests à dessus), je pense que PUTC agit directement comme si l'affichage était en RAM0 (agit sur la RAM logique $4000-$5FFF), comme d'ailleurs toutes les fonctions basic d'affichage graphique (line, box etc). Normal puisque ce sont des fonctions compatibles TO7! D'ailleurs c'est écrit dans la doc technique (p121)
"- Lorsque le CPU accède à l'espace logique écran c'est
toujours la page physique (ie bank ram) 0 qui est adressée, même si l'automate d'affichage utilise une autre page"
A voir pour la suggestion d'ADNZ en BASIC avec CONSOLE ,,,3 (bm16) si c'est adaptable en ASS... quoiqu'il en soit, l'utilisation de
Code:
LDB #$7B Mode bm16c
STB MODVID Stocke bm16 en $E7DC
Fonctionne lui, je ne sais pas ce que fait CONSOLE mais je pense que ça utilise ce registre.