Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

dossier:mf2 2015/01/10 09:38 dossier:mf2 2023/05/26 09:32 version actuelle
Ligne 163: Ligne 163:
|      ''&3AA9''|        7|FREE    |Non utilisé en mode "Direct Jump".                                                        | |      ''&3AA9''|        7|FREE    |Non utilisé en mode "Direct Jump".                                                        |
|      ''&3AB0''|        2|ROM    |Réservé.                                                                                  | |      ''&3AB0''|        2|ROM    |Réservé.                                                                                  |
-|      ''&3AB2''|        13|FREE    |Non utilisé en mode "Direct Jump".                                                        |+|      ''&3AB2''|        14|FREE    |Non utilisé en mode "Direct Jump".                                                        |
|      ''&3AC0''|        2|ROM    |Réservé.                                                                                  | |      ''&3AC0''|        2|ROM    |Réservé.                                                                                  |
|      ''&3AC2''|        1|ROM*    |Nombre d'interruptions jusqu'à la prochaine VBL lorsque le programme a été interrompu.    | |      ''&3AC2''|        1|ROM*    |Nombre d'interruptions jusqu'à la prochaine VBL lorsque le programme a été interrompu.    |
Ligne 171: Ligne 171:
|      ''&3D00''|      176|FREE    |Non utilisé en mode "Direct Jump".                                                        | |      ''&3D00''|      176|FREE    |Non utilisé en mode "Direct Jump".                                                        |
|      ''&3DB0''|        16|HARD    |Valeur des 16 registres du CRTC en temps réel.                                            | |      ''&3DB0''|        16|HARD    |Valeur des 16 registres du CRTC en temps réel.                                            |
-|      ''&3DC0''|      126|FREE    |Non utilisé en mode "Direct Jump".                                                        | +|      ''&3DC0''|      286|FREE    |Non utilisé en mode "Direct Jump".                                                        | 
-|      ''&3EDE''|        9|ROM    |Réservé.                                                                                  |+|      ''&3EDE''|        8|ROM    |Réservé.                                                                                  |
|      ''&3EE6''|        26|ROM*    |État du Z80 (registres et flags) lorsque le programme a été interrompu.                  | |      ''&3EE6''|        26|ROM*    |État du Z80 (registres et flags) lorsque le programme a été interrompu.                  |
|      ''&3F00''|        16|HARD    |Réservé.                                                                                  | |      ''&3F00''|        16|HARD    |Réservé.                                                                                  |
Ligne 190: Ligne 190:
|      ''&3FAF''|        32|FREE    |Non utilisé en mode "Direct Jump".                                                        | |      ''&3FAF''|        32|FREE    |Non utilisé en mode "Direct Jump".                                                        |
|      ''&3FCF''|        1|HARD    |Stylo sélectionné en temps réel (port ''&7Fxx'', mode PENR).                              | |      ''&3FCF''|        1|HARD    |Stylo sélectionné en temps réel (port ''&7Fxx'', mode PENR).                              |
-|      ''&3FD0''|        1|HARD    |Couleur du border en cours en temps réel.                                                 +|      ''&3FD0''|        5|ROM    |Réservé.                                                                                
-|      ''&3FD1''|        5|ROM    |Réservé.                                                                                  | +|      ''&3FD5''|        1|HARD    |Réservé.                                                                                  | 
-|      ''&3FD6''|        1|HARD    |Réservé.                                                                                  | +|      ''&3FD6''|        9|ROM    |Réservé.                                                                                  | 
-|      ''&3FD7''|        9|ROM    |Réservé.                                                                                 |+|      ''&3FDF''|        1|HARD    |Couleur du border en cours en temps réel.                                                 |
|      ''&3FE0''|        15|FREE    |Non utilisé en mode "Direct Jump".                                                        | |      ''&3FE0''|        15|FREE    |Non utilisé en mode "Direct Jump".                                                        |
|      ''&3FEF''|        1|HARD    |Configuration ROM du Gate Array en temps réel (mode RMR).                                | |      ''&3FEF''|        1|HARD    |Configuration ROM du Gate Array en temps réel (mode RMR).                                |
Ligne 232: Ligne 232:
</code> </code>
-En pratique, que fait ce programme ? Eh bien, il sélectionne le registre 0 du CRTC via le port légal ''&BCxx'', il sélectionne ensuite le registre 5 (qui est le registre de retard vidéo) tout en mettant également 0 sur le port imprimante, enfin il envoie une donnée via le port légal &BDxx. Mais du point de vue de la MF2, les choses sont différentes. Elle va voir une sélection du registre 0, elle ne verra pas celle du registre 5, puis elle verra l'envoi d'une donnée sur le registre... 0 ! Résultat des courses : activez la MF2 puis faites un "Return" pour rendre la main et paf, écran noir et CPC planté. "Pourquoi ?", demande le petit blond à lunettes d'un air interloqué. Eh bien tout simplement car au retour, la MF2 va remettre le [[assem:crtc|CRTC]] dans son état initial... lequel était pour elle un registre 0 à 0 (ce qui fait irrémédiablement "planter"). Et voilà une MF2 dans les choux !+En pratique, que fait ce programme ? Eh bien, il sélectionne le registre 0 du CRTC via le port légal ''&BCxx'', il sélectionne ensuite le registre 5 (qui est le registre de retard vidéo) tout en mettant également 5 sur le port imprimante, enfin il envoie une donnée via le port légal &BDxx. Mais du point de vue de la MF2, les choses sont différentes. Elle va voir une sélection du registre 0, elle ne verra pas celle du registre 5, puis elle verra l'envoi d'une donnée sur le registre... 0 ! Résultat des courses : activez la MF2 puis faites un "Return" pour rendre la main et paf, écran noir et CPC planté. "Pourquoi ?", demande le petit blond à lunettes d'un air interloqué. Eh bien tout simplement car au retour, la MF2 va remettre le [[assem:crtc|CRTC]] dans son état initial... lequel était pour elle un registre 0 à 0 (ce qui fait irrémédiablement "planter"). Et voilà une MF2 dans les choux !
===== Bluffer le bluffeur ===== ===== Bluffer le bluffeur =====
Ligne 438: Ligne 438:
====== Documentations externes ====== ====== Documentations externes ======
-  * [[http://ww.grimware.org/doku.php/documentations/expansions/mf2/start|Documentation technique détaillée de la Multiface Two]] sur [[http://www.grimware.org|Grimware.org]] (anglais).+  * [[http://www.grimware.org/doku.php/documentations/expansions/mf2/start|Documentation technique détaillée de la Multiface Two]] sur [[http://www.grimware.org|Grimware.org]] (anglais).
 
dossier/mf2.1420882716.txt.gz · Dernière modification: 2017/10/09 11:04 (édition externe)