Page 1 sur 1
Affichage de la PC-Engine
Publié : mer. 14 oct. 2009 22:13
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)
}
Re: Affichage de la PC-Engine
Publié : jeu. 15 oct. 2009 16:05
par Luciole
Un pti détour par la case présentation ne sera pas un mal!

Re: Affichage de la PC-Engine
Publié : jeu. 15 oct. 2009 17:19
par Tanuki
Luciole a écrit :Un pti détour par la case présentation ne sera pas un mal!

Ah! Je suis désolé, c'est la première fois que j'adhère à un forum .
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 .

Re: Affichage de la PC-Engine
Publié : jeu. 15 oct. 2009 18:47
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

Re: Affichage de la PC-Engine
Publié : jeu. 15 oct. 2009 20:48
par Tanuki
Tu as raison, je suis partisan de faire toujours le plus gros moi-même.

Re: Affichage de la PC-Engine
Publié : dim. 18 oct. 2009 12:45
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

Re: Affichage de la PC-Engine
Publié : dim. 18 oct. 2009 15:06
par Tanuki
Merci à toi, je vais jeter un coup d'oeil sur ces liens.
[edit]: OK, c'est bon. J'ai trouvé le code dont tu parlais (MagicKit). C'est parfait, donc merci encore.

Re: Affichage de la PC-Engine
Publié : mer. 21 oct. 2009 17:53
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 ??!
Re: Affichage de la PC-Engine
Publié : ven. 23 oct. 2009 12:56
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

Re: Affichage de la PC-Engine
Publié : ven. 23 oct. 2009 22:04
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.

Re: Affichage de la PC-Engine
Publié : ven. 23 oct. 2009 23:11
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
Re: Affichage de la PC-Engine
Publié : lun. 26 oct. 2009 23:22
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
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
Re: Affichage de la PC-Engine
Publié : mar. 27 oct. 2009 13:58
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.

Re: Affichage de la PC-Engine
Publié : mar. 27 oct. 2009 22:19
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
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.
Re: Affichage de la PC-Engine
Publié : mer. 28 oct. 2009 00:16
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: