Présentation du hardware de la PC Engine
Modérateurs : SirG, Redfield1, shubibiman, Laucops
- furiousangel
- Push Run Button!
- Messages : 104
- Inscription : mar. 19 févr. 2008 02:07
Présentation du hardware de la PC Engine
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....
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....
Dernière modification par furiousangel le mar. 15 déc. 2009 09:59, modifié 2 fois.
- furiousangel
- Push Run Button!
- Messages : 104
- Inscription : mar. 19 févr. 2008 02:07
- peperocket
- NECrophage
- Messages : 1555
- Inscription : lun. 23 mai 2005 00:17
- Localisation : Dans mes charentaises
Re: [HARDWARE] Presentation de la PC Engine ...beta.1
Ta synthese me parrait correcte.
Je me permet d'ajouter que la SGX à deux VDC et deux fois plus de Vram.
Je me permet d'ajouter que la SGX à deux VDC et deux fois plus de Vram.
Vive la Supergrafx !!!
- shubibiman
- Administrateur
- Messages : 16392
- Inscription : jeu. 23 sept. 2004 14:26
- Localisation : Meet me at Shubibi's
Re: [HARDWARE] Presentation de la PC Engine ...beta.1
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 
"You are truly the PCE game clearing master"
*****Membre du FLPCE Canal Historique*****
*****Membre du FLPCE Canal Historique*****
- touko
- NECromancer
- Messages : 2297
- Inscription : lun. 31 mars 2008 14:32
Re: [HARDWARE] Presentation de la PC Engine ...beta.1
Quoi la SGX n'est pas une 16 bit ??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
La SNES n'est pas the best console ??
Ps: la NEO-GEo ça compte pas !!
- Tao
- NECrophage
- Messages : 1431
- Inscription : dim. 13 juil. 2008 08:01
Re: [HARDWARE] Presentation de la PC Engine ...beta.1
Super, merci a toi pour ce "descriptif", ca fait plaisir a lire sincèrement.
# No future? Future is now!
# Mess with the best, die like the rest
# Mon nom est Légion, car nous sommes nombreux (Mc 5, 9-11).
# Attitude is no substitute for competence
CyberPunk Power
# Mess with the best, die like the rest
# Mon nom est Légion, car nous sommes nombreux (Mc 5, 9-11).
# Attitude is no substitute for competence
CyberPunk Power
- xav
- NECrophage
- Messages : 1159
- Inscription : mar. 05 juil. 2005 22:12
- Localisation : Le plus grand four solaire de France, Montpellier
Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2
C'est une très bonne initiative
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.
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.is port based ???,
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.
Je n'en suis pas sur, c'est plutôt juste de quoi conservé palette, disons 1Ko.Est un coprocesseur 9bits avec 8ko de Ram
"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)
- Tanuki
- Push Run Button!
- Messages : 95
- Inscription : mer. 14 oct. 2009 17:02
Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2
Le timer est une unité interne du HuC6280.le Timer (integré au Huc6260)
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).Est un compteur sur 7bits, decrementé tous les 1024 cycles (du cpu non ?)
Lorsque le compteur boucle ($00 => $7F), cela provoque une interruption.Une interruption estissued on rollover.
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 !
Dernière modification par Tanuki le jeu. 17 déc. 2009 18:32, modifié 5 fois.
- cosmos99
- Backup RAM Full!
- Messages : 11904
- Inscription : jeu. 02 déc. 2004 21:02
Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2
Tres interressant , merci. 
- peperocket
- NECrophage
- Messages : 1555
- Inscription : lun. 23 mai 2005 00:17
- Localisation : Dans mes charentaises
Re: [HARDWARE] Update Presentation de la PC Engine ...beta.2
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 ...
http://debuglife.free.fr/spip.php?article23
Merci qui ? Merci TOMATHEOUS !
Edit : déjà disponible sur le site de Mooz ...
Vive la Supergrafx !!!


