Page 1 sur 1

Présentation du hardware de la PC Engine

Publié : lun. 14 déc. 2009 20:38
par furiousangel
Hello all,

Dans mon apprentissage pour programmer sur PC Engine il y a obligation de bien connaitre le hardware de la machine, donc de se taper un maximum de docs.
Comme il suffit pas de lire mais egalement de noter pour apprendre, et que les versions françaises sont plus que rare, tant qu'à me faire des "mémos" je vais les faire ici, ça peut servir et en prime si j'me goure on peut me corriger rapidement.
Car je compte sur vous pour me corriger et surtout y apporter vos améliorations.
C'est parti...

I) Presentation

Il y a 3 entités principales dans les entrailles de la PC engine:
- le processeur central ( ou CPU )
- et 2 coprocesseurs => le VDC (Video Display Controler) ou Controleur d'Affichage Video
=> le VCE (Video Color Encoder) ou Encodeur video des couleurs


le CPU

Ou Huc6280 est un processeur 8 bits basé sur le 65CS02 (lui meme un derivé du 6502), possedant toutes les instructions de ces derniers plus des instructions supplémentaires (qui seront vues en détail plus tard).
Pour info: c'est le meme CPU qui équipe la Supergrafx, contrairement à certaines legendes qui perdurent, la Supergrafx n'etant "rien d'autre" qu'une PC Engine/Coregrafx de base upgradée via des coprocesseurs supplémentaires, et non avec un autre CPU (ni en plus ni à la place de celui d'origine de la PC Engine).
Sa vitesse d'Horloge est de 7,16 MHZ, ou plutot ses vitesses devrait-on dire car une autre est possible à 1,79 MHz mais utilisée uniquement pour les accès mémoire pour les backups.

C'est lui qui "distribue" les données au VDC et au VCE, mais en plus c'est lui qui s'occupe du son, le controleur PCM (Pulse Coding Modulation) y est integré.
Donc: on oublie à jamais la possibilité d'overclocking, ceci ayant alors pour effet irrémediable de modifier le pitch du son (traduction c'est comme passer un disque vinyl 33T en 45T ...).



le VDC Huc6270

Est un coprocesseur 16bits, c'est lui gère les graphismes qui seront affichés à l'ecran ( tiles & sprites... les tiles=tuiles constituent le background).
La resolution pouvant allé de 256x242 à 512x242 pixels.
is port based ???, il ne partage pas la mémoire directement avec le CPU.

le VCE Huc6260

Est un coprocesseur 9bits avec 8ko de Ram, permettant d'avoir 512 couleurs (8bits=256 combinaisons, avec 1bit supplémentaire ça double donc =>512).
Et intègre un Timer (Compteur) sur 7bits ... on y reviendra dans un instant.

Il gère les palettes (couleurs) des graphismes (tiles et sprites), ET génère le signal vidéo de sortie (celui qui arrive sur votre ecran oui) qui peut être de 3 types:
-Composite
-RGB
-RF (obsolète... le signal qui passe par un cable type "antenne TV" )


le Timer (integré au Huc6260)

Est un compteur sur 7bits, decrementé tous les 1024 cycles (du cpu non ?)
Une interruption estissued on rollover.


le controleur PCM (integré au CPU)





A suivre....

Re: [HARDWARE] Presentation de la PC Engine ...beta.1

Publié : lun. 14 déc. 2009 22:40
par furiousangel
reservé

Re: [HARDWARE] Presentation de la PC Engine ...beta.1

Publié : lun. 14 déc. 2009 22:40
par peperocket
Ta synthese me parrait correcte.

Je me permet d'ajouter que la SGX à deux VDC et deux fois plus de Vram.

Re: [HARDWARE] Presentation de la PC Engine ...beta.1

Publié : mar. 15 déc. 2009 08:22
par shubibiman
Cool. C'est vrai qu'on avait pas encore d'explication technique détaillée sur le forum. au moins, ceux qui nous soutiennent des énormités auront de quoi lire. Merci ;)

Re: [HARDWARE] Presentation de la PC Engine ...beta.1

Publié : mar. 15 déc. 2009 09:06
par touko
shubibiman a écrit :Cool. C'est vrai qu'on avait pas encore d'explication technique détaillée sur le forum. au moins, ceux qui nous soutiennent des énormités auront de quoi lire. Merci ;)
Quoi la SGX n'est pas une 16 bit ?? :raleur:
La SNES n'est pas the best console ?? :raleur:

Ps: la NEO-GEo ça compte pas !! :mrgreen:

Re: [HARDWARE] Presentation de la PC Engine ...beta.1

Publié : mar. 15 déc. 2009 09:13
par Tao
Super, merci a toi pour ce "descriptif", ca fait plaisir a lire sincèrement.

Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2

Publié : mar. 15 déc. 2009 22:43
par xav
C'est une très bonne initiative :wink:
is port based ???,
Barbarisme qui nous viens du monde PC, à opposée au "memory mapped", en fait au lieux d'accéder au registre interne du VDP par des adresses classique venant du cpu, on a un nombre limité d'adresse de base dont celui de données et d'index.
Par exemple pour écrire la valeur FFh dans le registre 9 du VDP on ne fait pas

adresse de base du vdp+9 <- FFh

MAIS PLUTÔT:

adresse d'index du VDP <- 9
adresse de données du VDP <- FFh

On retrouve exactement le même fonctionnement sur l'antique motorola 6845 le père de la plupart des chips vidéo.
Est un coprocesseur 9bits avec 8ko de Ram
Je n'en suis pas sur, c'est plutôt juste de quoi conservé palette, disons 1Ko.

Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2

Publié : mer. 16 déc. 2009 14:56
par Tanuki
le Timer (integré au Huc6260)
Le timer est une unité interne du HuC6280.
Est un compteur sur 7bits, decrementé tous les 1024 cycles (du cpu non ?)
Ce sont des cycles internes au boitier du CPU à 7.16MHz (totalement indépendants du mode de vitesse utilisé par le CPU lui-même).
Une interruption estissued on rollover.
Lorsque le compteur boucle ($00 => $7F), cela provoque une interruption.

Bon maintenant ceci n'engage que moi:

Le VDC et le VCE sont tout deux des composants 16-bit, car leurs registres sont fait pour être écrit (en une seule fois) par des données de cette taille par un CPU. Mais comme ils sont très fléxibles, ils peuvent s'interfacer comme des composants 8-bit (en écrivant 2 valeurs de 8 au lieu d'une de 16), et c'est le cas pour la PC-Engine et la SuperGrafx (car le HuC6280 est un processeur 8-bit et que les composants on été soudés dans cette configuration). Le bus pixel de 9 bits qui relie le VDC au VCE n'entre pas en ligne de compte.

La table de couleur (Color RAM Table) fait normalement 512x9 bits.

Bon courage ! :)

Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2

Publié : mer. 16 déc. 2009 19:43
par cosmos99
Tres interressant , merci. :)

Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2

Publié : sam. 09 janv. 2010 13:21
par peperocket
J'ai posté un tuto indispensable pour quiconque veut se lancer dans la programmation en assembleur sur PC-Engine et en connaitre les spécificités :

http://debuglife.free.fr/spip.php?article23

Merci qui ? Merci TOMATHEOUS !

Edit : déjà disponible sur le site de Mooz ...