Amstrad Plus Forum Index

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Résolu]Etude du Crtc-Overflow du reg 1

 
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> CRTC
Previous topic :: Next topic  
Author Message
snake_plissken


Offline

Joined: 03 Dec 2014
Posts: 358
Localisation: les pont de cé
Masculin Gémeaux (21mai-20juin)
Point(s): 26
Moyenne de points: 0.07

PostPosted: Tue 26 Jul - 12:02 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

J'aimerais savoir pourquoi le registre 1 du CRTC réagis en répétant sur tout l'écran les 8 premières lignes de l'écran.

Un petit cours sur le crtc s'impose Okay .


Back to top
Publicité






PostPosted: Tue 26 Jul - 12:02 (2016)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Tue 26 Jul - 12:42 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Ça le fait sur tous les CRTC?


Dans tous les cas, c'est une histoire d'électronique.


Ton registre est prévu pour être supérieur ou égal à un compteur car c'est une valeur maximum.


Si il est supérieur, il se passe telle chose
Si il est égal, il se passe telle chose
Si il est inférieur, ce fonctionnement n'est pas prévu par l'électronique, rien n'est fait (pas de passage au bloc suivant dans le cas dont tu parles)


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Tue 26 Jul - 13:03 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Oui, c'est en effet normal.

Pour rappel, le border est envoyé lorsque le R1=C0 (Compteur Interne du Registre 0)
Si tu lui mets une valeur supérieure au Registre 0, cette valeur ne sera jamais atteinte et donc ta ligne sera dupliquée indéfiniment.

Prenons un exemple concret :

Au démarrage, R0=63, et R1=40.
Ton border sera envoyé lorsque le Compteur Interne du Registre 0 aura atteint 40, la valeur de seuil (maxi) étant fixée au départ par le R0.

Maintenant :
R0=63 et R1=Val>R0 (64 par exemple)
Le border ne sera jamais envoyée.

Ensuite, le fait que les "premiers blocs" ou premières lignes soient dupliquées est fortement lié au Registre 9 du Crtc qui au départ est fixé à 7.
Le Compteur Interne du R9 est incrémenté jusqu'à sa valeur Maxi, ici déterminé par la valeur 7, puis lorsqu'il revient à 0, il incrémente à son tour, le R4, et ainsi de suite....

Suis-je clair ? Enfin, je l'espère...

Edit : Thomas, nul besoin de mettre à 255 le R1 pour le metttre en overflow. Il suffit simplement de lui donner une valeur supérieure au R0.

_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
snake_plissken


Offline

Joined: 03 Dec 2014
Posts: 358
Localisation: les pont de cé
Masculin Gémeaux (21mai-20juin)
Point(s): 26
Moyenne de points: 0.07

PostPosted: Tue 26 Jul - 13:40 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Tu veux dire le compteur du R4.

Au final ça fait comme si R4 était bloqué à 1 sans y avoir toucher.


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Tue 26 Jul - 13:50 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Oui, sauf qu'il ne l'est pas. il continue sa course jusqu'à sa valeur définie, soit 38.
Le Registre 4 correspond au nombre de "bloc" de lignes affichés verticalement.

Il est donc lié au R9 qui lui détermine le nombre de lignes dans ce bloc. (R9=7 au démarrage)
Le compteur Interne du R9 est incrémenté de 0 à 7 et lorsqu'il reboucle, il incrémente R4.
Quand le compteur interne du registre 4 reboucle à 0, l'offset est prit en compte. Ca a son utilité en rupture ligne à ligne et verticale, et explique notamment pourquoi la RVMB paraît impossible sur certain CRTC. Sur le Crtc Type 1, L'offset peut être modifié à tous les instants.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
snake_plissken


Offline

Joined: 03 Dec 2014
Posts: 358
Localisation: les pont de cé
Masculin Gémeaux (21mai-20juin)
Point(s): 26
Moyenne de points: 0.07

PostPosted: Tue 26 Jul - 14:00 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Hé mais je sais déjà tout ça Smile

Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Tue 26 Jul - 14:12 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Voici un schéma que j'utilise souvent sorti tout droit du Grimware!



Tout y est résumé. Il ne manque que les interruptions qui ne sont pas inscrites sur ce schéma.
Rappelle-toi qu'elles se déclenchent toutes les 52 lignes, soit tous les 6,5 "Blocs"....
Ce sera utile pour faire de la rupture traditionnelle, ligne à ligne, verticale, etc...

J'en profite pour changer le titre en Etude du Crtc.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
snake_plissken


Offline

Joined: 03 Dec 2014
Posts: 358
Localisation: les pont de cé
Masculin Gémeaux (21mai-20juin)
Point(s): 26
Moyenne de points: 0.07

PostPosted: Tue 26 Jul - 14:19 (2016)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Je met directement le lien : http://www.grimware.org/doku.php/documentations/devices/crtc .

Back to top
siko


Offline

Joined: 12 Apr 2018
Posts: 33
Localisation: Civaux (86)
Masculin
Point(s): 22
Moyenne de points: 0.67

PostPosted: Fri 29 Mar - 10:10 (2019)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

A noter que (de source sûre) l'overflow du CRTC ne marcherait que sur CRTCs 0,3 et 4 !

Back to top
Visit poster’s website
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Fri 29 Mar - 13:56 (2019)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Il fonctionne sur crtc 1 mais sous certaines conditions en fonction de la position de la vbl. Smile
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,977
Masculin
Point(s): 390
Moyenne de points: 0.13

PostPosted: Fri 29 Mar - 19:43 (2019)    Post subject: [Résolu]Etude du Crtc-Overflow du reg 1 Reply with quote

Petite pause détente après travaux, alors pourquoi ne pas vous proposer un Overflow du reg 1 sans registre 1 ?  Qu'à cela ne tienne, voici un exemple comme on aime !
Veuillez noter la full compatibilité ALL CRTCs !


Code:
;
; Overflow du reg 1 sans overflow
; -----> AsT/iMPACT & Mickey (My cat)
;
 org #A000
 run $
;
 ld a,2
 call #bc0e ; Mode Ecran 2
 di
 ld hl,#c9fb ; on remplace les interruptions
 ld (#38),hl ; par un ei/ret
;
 call aff ; affiche message

 ei
;
main
 ld b,#f5 ; Attente vbl
vbl  in a,(c)
 rra
 jr nc,vbl
;
 ld bc,#bc07 ; kill vbl
 out (c),c
 inc b
 out (c),b
 ld b,0 ; on attends 32 lignes pour commencer la rupture
 djnz $
 djnz $
;
 ld de,#0400
 call setreg
;
 ei
 halt
;
 call raster
;
 ld de,#0404-1
 call setreg
 ld de,#0700
 call setreg
;
 jp main
;
; Affichage du message a dupliquer
;
aff ld hl,#0101 
 call #bb75 ; locate 1,1
;
 ld hl,txt
looptxt ld a,(hl)
 or a ; si on trouve le char 0
 ret z ; alors c'est la fin des haricots
 call #bb5a ; affiche le char via les vecteurs systemes
 inc hl ; prochain char
 jr looptxt ; et on recommence
;
txt defm " Emulation Overflow Reg 1 sans Overflow "
 defm "by AsT/iMPACT 28/03/19 helped by Mickey",0
;
; In -> D=reg E=Value
;
setreg  ld b,#bc 
 out (c),d
 inc b
 out (c),e
 ret
;
; C=Debut de palette
; E=Nbre de bloc de lignes 
;
raster
 di
 defs 24+64,0
 ld bc,#7F40 
 defw #71ed ; out (c),0 -> Select encre 0
 ld e,#20
looprast 
 out (c),c
 inc c
 defs 7*64,0 ; Attente 8 rasterlines
 defs 64-9,0
 dec e
 jp nz,looprast
 ei
 ret





Parfois, un visuel vaut mieux qu'un long discours.

_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
Display posts from previous:   
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Programmation Cpc -> CRTC All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  

Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group