CPC Rulez
https://cpcrulez.fr/forum/

timming CRTC/GA/MONITEUR
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5440
Page 1 sur 1

Auteur :  jerome2663 [ 13 Jan 2015, 16:16 ]
Sujet du message :  timming CRTC/GA/MONITEUR

Bonsoir et Meilleurs Vœux a tous, je suis l'auteur de ce message, viewtopic.php?f=4&t=5008

eh oui presque 2 ans déjà, en 2012 j'ai obtenu une 1er version quick and dirty de mon émulateur, BombJack tourne, ainsi que quelques autres mais pas de quoi pavoiser ! Cette Année j'ai ressorti le projet et commencer par faire le ménage. J'ai décidé que chaque composant principale du CPC serai émulé par un objet C++ indépendant, en respectant les liaisons de la carte mère. Par exemple le GateArray ne peut pas lire les registres du CRTC alors qu'il en soit ainsi ! . Pour la 1er version je suis parti du CPU pour arrivé à l'écran, ben là je pars à l'envers : du Moniteur et du couple de l'année 84 GA/CRTC et je remonterai ensuite jusqu'au CPU. Et...ben je patauge lamentablement depuis noël et çà commence à me brouter les..... hum bon... j'appel j'en appel au pro quoi !

Je voudrai enfin comprendre ce qu'il se passe réellement pendant les 64µs d'une ligne quelconque, disons au 2/3 de l'écran en vertical, avec un CPC464 en pleine forme et l'invite Basic en place, boot terminé le cpc serait en Stand Bye, patron parti boire une bibine pendant que çà chauffe..

Le crobar que je vous joint est un ramassis de ce que j'ai pu glaner çà et là sur la toile, beaucoup d'info se contredise, beaucoup de supputation, où est le vrai ? je vous le demande...

Alors ce schémas par où que l'on l'attaque ?? par le bas ! enfin presque, par HCC (Horizontal Counter Charactere) qui évolue entre 0 et 63 çà… j’ai compris (ouf)

Au dessus Dispen, signal sortant du CRTC pour informer le GA de mouliner du border
Dispen Actif si HCC > R1

Au dessus HSYNC CRTC, Actif lorsque l'on franchis R2 et pour un nombre R3 de caractère (enfin la partie poid faible de R3)

Au dessus, j'ai lu en plusieurs endroit que la sortie Sync du GA (en direction du moniteur) passe à l'état haut 2µS après le HSYNC CRTC... et cela pour une durée de 6µS (pourquoi ?) bien sur R3 y metera son grain de sel mais ce sera pour une prochaine fois, laissons le telque configuré par l'OS.

Au dessus alors là pas sur de mon coup. Apparemment le Moniteur génère sa propre HBL, d'une durée fixe de 12µs, et que via une PLL, il tente de centrer sa HBL avec le SYNC qu'on lui donne (donc les 6µS du GA)....

çà me donne que j'aimerai bien savoir ce que deviennent les pixels en position HCC = 48 (donc tout à Droite) et ceux des positions 57,58 et 59 (extrémités Gauche). Perso je pense qu'ils sont sous le plastique du moniteur, mais le fait qu'il y en ai plus à droite qu'a gauche me chagrine. Et puis pourquoi ces pixels seraient-ils cachées ?? qu'es qu'ils ont fait de mal ??

Voilà j'attend de vous aussi de savoir si les timings sont correctes ou pas, on verra plus tard ce qui bouge quand on change les valeurs de certains registres.

Merci d'avance et bonne soirée a tous

Auteur :  Lone [ 13 Jan 2015, 22:21 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Hello,

Ton schéma est très clair.

Les pixels que tu as mis en gris, au final, ne sont pas différents de ceux en bleu clair ou même en violet :
Pendant la HBL, il n'y a pas d'affichage : De fait, le canon est éteint le temps de revenir a droite.

De même, pendant la période Hsync du CRTC, il n'y a pas d'affichage (mais ça n'est pas le fait du moniteur : on voit cette absence d'affichage sur certaines demo, comme la Camembert 4 par exemple)

Sinon, tout dépend de dispen (affichage du border, ou non).

Du coup, la colonne 48 affiche du border
Les colonnes 57, 58, 59 du noir (ces colonnes sont, en fait, tout a gauche de l'écran !). Evidemment, on ne les voit pas par défaut, elles sont effectivement cachées par le bord du moniteur. On les voit apparaitre dès que l'on va modifier les registres du CRTC.

Je ne sais pas si je suis très clair, il y a un moment que je n'ai pas retrempé dans ces sombres arcanes !
N'hésite pas à préciser tes questions le cas échéant.

Auteur :  jerome2663 [ 15 Jan 2015, 20:59 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Bonsoir Leon,

Je te remercie de ta réponse qui m'a fait progressé, ton histoire de grattouiller les registres du CRTC pour faire apparaître certains caractères cachés m'ont mis la puce à l'oreille pour essayer quelque chose, j'ai pu mettre en évidence sur vrai cpc la présence bien réelle du caractère 48, en plaçant le registre 2 à 20, je l'ai fait apparaître alors que le moniteur venait de démarrer. il est apparu à moitié puis au bout de 20min de fonctionnement, disparu !! donc géré mais sous le plastique.

Ce qui me chagrine c'est que sur émulateur (WinApe et Caprice32) il y a 4 caractères de border de chaque cote et que lorsque l'on fait de décompte sur le timing du CRTC il en manque 4 !

Ok donc pour le 48. Mais pour les 57,58,59 tu me dis qu'ils sont noir, canon éteint... pourquoi ? Je veux dire quel signal électronique fait que le canon broie du noir à ce moment là ??

tu vas peut être me répondre que c'est le Hsync CRTC, effectivement il est HIGHT pendant ces caractères là... MAIS.. le Hsync du CRTC n'est pas directement relié au moniteur, c'est le GA qui gère la chose et … pendant ces caractères là le SYNC GA est LOW..... ou alors j'ai rien compris

Pour moi les caractères 57,58,59 sont comme le 48, émis , canon ON mais il frappe sous le plastique du moniteur. Mais je voudrai avoir confirmation.

Au fait tu en es où de ton émulateur toi ?? tu avais pas mal d'avance sur moi en 2013 !

Bonne soirée... et les autres pro sont bienvenues sur mon fil..........

Auteur :  Lone [ 15 Jan 2015, 22:11 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Hello,

Dans ma compréhension (et dans mes sources !), la couleur est donnée par le gate array (qui connait les signaux hsync et vsync en provenance du CRTC). Dans tous les cas : Que ça soit en affichage de la mémoire, du border, ou les reste du temps.

Lorsqu'un de ces deux signaux est actif, il n'y a pas de couleur de codée (noir, donc).

Mon émulateur a pas mal progressé : J'arrive à lancer la plupart des jeux, avec beaucoup de temps passé à coder FDC et support cassette (gros sujet que ces deux là !). Pour les démos, c'est moyen, va-t-on dire. Un certain nombre passent bien, un certain nombre a peu près, et un certain nombre... pas du tout.

Auteur :  jerome2663 [ 16 Jan 2015, 14:29 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Bonjour Leon,

alors là tu m’intéresses beaucoup :

Lone a écrit :
Hello,
Lorsqu'un de ces deux signaux est actif, il n'y a pas de couleur de codée (noir, donc).


où as tu trouvé cette info ?? selon toi, si Hsync ou VSync ctrc sont actifs, le GA envoie du noir au moniteur ? il faut absolument caler cela, parce-que je ne l'avais pas compris ainsi ! pour moi (et je je viens de faire quelques teste sur vrai cpc pour valider) , le GA envoie un SYNC de 6µs maxi si R3>=6. Si R3<6 la largeur du SYNC sera égale à R3. (on prend le poid faible de R3 bien sur)

on touche peut être la une raison du non fonctionnement des demos sur ton emulateur .....

Auteur :  Supersly [ 16 Jan 2015, 16:38 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Je ne sais pas ce qu'envoie le CRTC pendant une V/H-Sync (qui serait autre chose que ce signal), mais le fait est que le moniteur génère une H/VBL, qui elle, est noire, archi noire (pas le noir du CPC, mais le noir du moniteur qui est éteint).

Auteur :  jerome2663 [ 23 Jan 2015, 21:38 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

hum hum .......... juste histoire de passer pour une quiche j’appel lone Léon depuis le debut de ce fil……. Hum on va metre çà sur le dos des bulles du 1er janvier……… désolé Lone et merci de ton aide….. re hum hum........

EDIT : juste pour confirmation, le INT est emis bien emis au tout debut du HCC=60 ? je me trompe ou pas ?

Bon WK a tous

Auteur :  fkey [ 09 Sep 2016, 12:11 ]
Sujet du message :  Re: timming CRTC/GA/MONITEUR

Hello,

J'avais fait quelques tests à ce niveau (en deconnectant the fil vert de l'écran et en le branchant au niveau de la sortie SYNC du gatearray avec les précautions qui s'imposent) et en faisant de la rupture verticale.

Je ne me souvient plus du timming, mais il me semble que lors d'une HBL générée par le CRTC il se passait ça sur mon écran :
... ligne écran
1 - Vert (donc du noir en temps normal)
2 - Noir (une toute petite impulsion SYNC en provenance du gatearray vers le moniteur)
3 - Vert (donc du noir en temps normal)
... ligne écran

Donc :
- Le SYNC généré par le gatearray apparait avec un "certain" delai par rapport au HSYNC généré par le CRTC
- Et il me semble en plus que si la longueur du signal HSYNC est trop petite, le gatearray affiche du noir sans générer la SYNC vers le moniteur (facile à tester ils suffit de réduire la durée de la HBL et de voir si l'écran saute mais j'ai pas mon cpc sous la main)

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/