Affichage de la PC-Engine

Discussions techniques et Pixel Art en 9 bits.

Modérateurs : SirG, Redfield1, shubibiman, Laucops

Répondre
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Affichage de la PC-Engine

Message par Tanuki »

Salut à tous, ceci est mon premier post.
Je m'intéresse principalement à l'aspect vidéo de cette console.

J'aimerai savoir comment l'on configure les deux registres $0A et $0B du VDC (à part bien sûr HDW), par exemple comment centrer l'écran selon sa taille horizontale.

Voici ce que font les BIOS (System Card 1/2/3):

Code : Tout sélectionner

         si (dot clock == 5MHz)
          {
           HSW = 2
           HDS = 18 - (chars / 2)
           HDW = chars - 1
           HDE = 38 - (HDS + chars)
          }

        si (dot clock == 7MHz)
         {
          HSW = 3
          HDS = 24 - (chars / 2)
          HDW = chars - 1
          HDE = 52 - (HDS + chars)
         }
Avatar de l’utilisateur
Luciole
NECromancer
Messages : 3320
Inscription : mar. 10 mai 2005 15:19
Localisation : Calais

Re: Affichage de la PC-Engine

Message par Luciole »

Un pti détour par la case présentation ne sera pas un mal! :wink:
Semper Fidelis.
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Luciole a écrit :Un pti détour par la case présentation ne sera pas un mal! :wink:
Ah! Je suis désolé, c'est la première fois que j'adhère à un forum . :oops:

Alors, je suis de la génération Megadrive, et passionné de toutes les consoles 8/16-bit de cette époque.
Je sais programmer en C depuis 10 ans et un peu en assembleur. Par rapport à la PC-Engine, je cherche à tout savoir sur elle afin de l'émuler correctement (et en douceur) sur un PC. Je suis ouvert à tout sujet sur l'architecture de cette dernière, où bien comment était programmé les softs de l'époque, ou sur d'éventuels algorithmes pour pouvoir l'émuler.

Bien sûr, le tout sans souler tout le monde . :mrgreen:
Avatar de l’utilisateur
shubibiman
Administrateur
Messages : 16393
Inscription : jeu. 23 sept. 2004 14:26
Localisation : Meet me at Shubibi's

Re: Affichage de la PC-Engine

Message par shubibiman »

Pour les présentations, c'est ici :

http://forum.necstasy.net/viewtopic.php ... start=1875

Pour ta question, il existe déjà plusieurs émulateurs PC Engine. Après, j'imagine que c'est plus le défi de développer ton propre émul qui te motive ;)
"You are truly the PCE game clearing master"

*****Membre du FLPCE Canal Historique*****
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Tu as raison, je suis partisan de faire toujours le plus gros moi-même. :twisted:
Avatar de l’utilisateur
xav
NECrophage
Messages : 1159
Inscription : mar. 05 juil. 2005 22:12
Localisation : Le plus grand four solaire de France, Montpellier

Re: Affichage de la PC-Engine

Message par xav »

Je te conseille de jetais un coup d'œil sur le site de Chris Covell http://www.chrismcovell.com/ en particulier ce programme http://www.disgruntleddesigner.com/chri ... n_Test.zip il permet sur le vrai hardware de jouer avec les différents registres de synchro H/V (c'est moins précis sur un émulateur) .

Le code du magic kit contient une routine pour régler la résolution horizontale qui permet de centrer efficacement l'affichage :wink:
"Theory, it's when we know everything and nothing works. Practice, it's when everything works and nobody knows why. Here, we have put together theory and practice : Nothing works... and nobody knows why!" (Albert Einstein)
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Merci à toi, je vais jeter un coup d'oeil sur ces liens. :wink:

[edit]: OK, c'est bon. J'ai trouvé le code dont tu parlais (MagicKit). C'est parfait, donc merci encore. :D
Dernière modification par Tanuki le mer. 21 oct. 2009 20:33, modifié 1 fois.
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Est-ce que quelqu'un a déjà regardé cette page rapportant des tests sur les composants de la console ?

http://www.geocities.jp/team_zero_three ... e_lab.html

Selon elle, la durée de suppression d'une ligne fait 237mc (master clock), et celà correspond exactement à ce que mentionne le brevet japonnais:

[H retrace] (c'est basé sur une horloge pixel de 7MHz, 1 scanline = 455 points)

Code : Tout sélectionner

  blank: 10 dots  (1.397µs)
  sync : 34 dots  (4.749µs)
  blank:  5 dots  (0.698µs)
  burst: 20 dots  (2.794µs)
  blank: 10 dots  (1.397µs)
  --------------
  total: 79 dots  (11.035µs)
=> 1 scanline = 455 x 3 = 1365mc
=> H retrace = 79 x 3 = 237mc
=> active = 1365 - 237 = 1128mc

Donc, pour une horloge pixel de 5MHz, on devrait avoir au maximum 282 pixels à l'écran et pas 288 ??!
Avatar de l’utilisateur
xav
NECrophage
Messages : 1159
Inscription : mar. 05 juil. 2005 22:12
Localisation : Le plus grand four solaire de France, Montpellier

Re: Affichage de la PC-Engine

Message par xav »

Donc, pour une horloge pixel de 5MHz, on devrait avoir au maximum 282 pixels à l'écran et pas 288 ??!
J'ai toujours entendu parler d'une limite de 288 pixels horizontaux avec l'horloge à 5Mhz.
Maintenant d'un point de vue purement mathématique ton calcul ce tiens.
En pratique, j'ai essayer "d'ouvrir" au maximum l'affichage avec le prog de Covell sur ma TV cathodique "classique", à peine 265~270 point sont visible dans le meilleur des cas.

NB: Le timing d'affichage est directement inspiré de la norme NTSC, je ne serais donc pas surpris si quelque retenue ce balade :wink:
"Theory, it's when we know everything and nothing works. Practice, it's when everything works and nobody knows why. Here, we have put together theory and practice : Nothing works... and nobody knows why!" (Albert Einstein)
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

xav a écrit :
... sur ma TV cathodique "classique", à peine 265~270 point sont visible dans le meilleur des cas.
Hum... Ceci est bon à savoir. :)
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Dans la doc de Charles MacDonald, y est décrite la composition de la trame de 263 lignes.
Dans la trame de 262, quelle est la ligne manquante ? La dernière ligne de blanking avant la synchro ?

Code : Tout sélectionner

   blank:  14
  active: 242
   blank:   3 ???
    sync:   3
  -----------
   total: 262
Avatar de l’utilisateur
xav
NECrophage
Messages : 1159
Inscription : mar. 05 juil. 2005 22:12
Localisation : Le plus grand four solaire de France, Montpellier

Re: Affichage de la PC-Engine

Message par xav »

Si tu parle des trames paires et impaires attention, la pce comme la plupart des consoles de cette époque utilise un affichage progressif NON entrelacé, les deux trames sont indiscernable, d'où une fréquence d'affichage réel de 60Hz pas 30 :wink:

NB: Mon livre de chevet, très complet du point de vus génération du signal vidéo

http://www.lavoisier.fr/notice/frEAOO3S3P23PLXO.html
"Theory, it's when we know everything and nothing works. Practice, it's when everything works and nobody knows why. Here, we have put together theory and practice : Nothing works... and nobody knows why!" (Albert Einstein)
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

Je crois avoir compris que l'on pouvait choisir d'utiliser soit la trame composée de toutes les lignes paires, soit celle avec les lignes impaires. C'est ça ?

Code : Tout sélectionner

  VCE.CTR: -----0--b | 262 lignes | (lignes impaires)
  VCE.CTR: -----1--b | 263 lignes | (lignes paires)
ps: merci pour l'info sur le bouquin. :D
Avatar de l’utilisateur
xav
NECrophage
Messages : 1159
Inscription : mar. 05 juil. 2005 22:12
Localisation : Le plus grand four solaire de France, Montpellier

Re: Affichage de la PC-Engine

Message par xav »

Je crois avoir compris que l'on pouvait choisir d'utiliser soit la trame composée de toutes les lignes paires, soit celle avec les lignes impaires. C'est ça ?
Exact, cela permet en fait de créer un pseudo mode "full color" en entrelaçant deux images, mais ça n'a jamais était utilisé par aucun jeux :roll:

Je serais tenté de dire que les deux modes utilisent exactement les même timing en décalant juste légèrement la position verticale.

Cela tiens à la façon dont un tube cathodique détecte la trame paire/impaire, dans le cas d'une console classique, l'impulsion est tout simplement la même dans les deux cas et la TV n'y vois que du feux.

merci pour l'info sur le bouquin.
Une mine d'or, bien que très accès sur les microcontrolleurs, mais en anglais cependant.
"Theory, it's when we know everything and nothing works. Practice, it's when everything works and nobody knows why. Here, we have put together theory and practice : Nothing works... and nobody knows why!" (Albert Einstein)
Avatar de l’utilisateur
Tanuki
Push Run Button!
Messages : 95
Inscription : mer. 14 oct. 2009 17:02

Re: Affichage de la PC-Engine

Message par Tanuki »

xav a écrit :
Je serais tenté de dire que les deux modes utilisent exactement les même timing en décalant juste légèrement la position verticale.
Mais au niveau des fréquences:

puisque la fréquence ligne doit être autour de 15734.264Hz, et que l'une des trames fait une ligne de plus que l'autre, celà devrait faire:

Code : Tout sélectionner

  262 | 60.054Hz
  263 | 59.826Hz
Répondre