Tout d'abord merci pour ce forum et à tous ces participants, pour faire vivre encore ce bon vieux amstrad
Ma question est celle d'un débutant, qui a décidé d'allumer à nouveau un CPC, après 30 ans de pause, et de bricoler un peu. J'ai lu pas mal de doc sur le net au sujet du CRTC. J'ai commencé naturellement par assembler sous DAMS, mais après avoir essayé winape, je dois dire qu'on s'y fait bien
Je suis en train de faire des tests sur les ruptures horizontales, en particulier sur le changement de R4 et R9. Il est logiquement dit ça et là que pour éviter l'overflow, on doit modifier ces registres lorsque le compteur associé est inférieur, à un temps t.
Ce qu'affiche winape dans son debugger, c'est, entre autre et pour ce qui me concerne :
Citer :
VCC : The Vertical Character Counter (an internal CRTC register). Keeps track of the current vertical character number. When this value equals R6 of the CRTC (vertical displayed), display output is disabled. When this value equals R4 of the CRTC (vertical total), display output is enabled and the display base address is reset. When this value equals R7 of the CRTC (vertical sync position) a Vertical Sync occurs, the display will start drawing from the top if the current VDUR value is within a threshold range.
VLC : The Vertical Line Counter (an internal CRTC register). Keeps track of the current raster line within the character. When this equals R9 (maximum scan line) of the CRTC the VCC will be incremented next line.
Je suppose que VCC correspond à C4 et VLC à C9. Or, d'après mes tests, si je change les valeurs de R4 ou de R9 à un instant compatible au vu de VCC et VLC, j'ai un overflow. J'ai par contre réussi à faire la rupture que je voulais alors que VCC et VLC porte à croire que je devrais avoir un overflow.
Du coup, je ne suis pas sûr de bien comprendre la fonction de ces deux valeurs dans winape, ou comment on peut évaluer les Cx du CRTC. Si quelqu'un peut m'éclairer... merci !
En grattouillant je me rend compte que la bonne méthode est de fixer les synchros directement sur CPC, plutôt que sur winape (avant d'y revenir, c'est quand même super pratique), en partant du principe qu'un NOP correspond à un incrément du HCC (horizontal char. counter, soit le compteur de R0).
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 12 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum