Discussions endiablées autour du retrogaming et des consoles de jeux vidéo, micro-ordinateurs et Arcade. Amstrad / Atari / Bandai / Commodore / Nec / Nintendo / Sega / SNK / Sony / Microsoft


Connexion

Récupérer mon mot de passe



Derniers sujets

» Présentation
par Junkers Ven 22 Mar - 16:18

» Collection de Jon
par Jon Dim 25 Fév - 20:25

» Présentation Alex1919
par Jon Dim 25 Fév - 20:24

» Master List Pal PS2
par Daniel76 Mer 20 Déc - 22:34

» Présentation de ThomasRoux67
par ThomasRoux67 Ven 8 Déc - 13:43

» Le film que je viens de mater chez moi
par Mamarika Jeu 30 Nov - 21:51

» T'écoutes quoi ??
par Mamarika Jeu 30 Nov - 21:44

» Quel est le jeu rétro qui vous a le plus marqué et pourquoi ?
par Tylano Dim 26 Nov - 11:35

» La licence "Mario" sur NES !
par Tylano Lun 13 Nov - 21:04

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée

Mots-clés les plus tagués

Le Deal du moment : -50%
-50% sur les sacs à dos pour ordinateur ...
Voir le deal
19.99 €

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier)

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

Invité

avatar
Invité
----------------------------------

0- Introduction :

Voici le premier volet d'une série de dossiers très axés techniques. Pour cela, nous allons partir à l'exploration de la carte mère de la Megadrive qui est une console assez "facile à comprendre". N'ayez pas peur, il n'y a rien inaccessible dans toutes ces explications et vous verrez qu'au finale, les descriptifs techniques de vos machines préférées n'auront plus de secret pour vous.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Pc_bd_11
Une carte mère de Megadrive.

Aujourd'hui nous allons nous balader au coeur d'un circuit graphique (VDP pour Video Display Processor) utilisé pour les consoles SEGA de la SG-1000 à la Saturn : le Texas Instruments TMS9918 dans son mode Megadrive. La particularité de cette version est qu'elle à été intégrée avec un autre processeur (pour le son) dans un seul et unique bloc (on appel cela le "on a chip") donc, inutile de chercher la puce telle qu'elle existe vraiment, vous ne la trouverez pas sur la carte mère de la Megadrive !

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Tms99110
Un TMS9918 sur une carte mère de SG-1000.

----------------------------------

1- Analogie :

Le VDP de la Megadrive propose 2 plans de scrolling (défilement d'une image en vertical ou en horizontal), 1 plan de texte (en mode fixe) ainsi qu'un plan pour les sprites (éléments mobiles d'un jeu comme le héro, par exemple).

Pour définir le processeur graphique, on pourrait commencer par faire une analogie avec une table de montage vidéo pour les films. En effet, prenons l'exemple d'une petite table basique avec 4 voies de mixage reliées chacune à 3 magnétoscopes (oué, on est rétro ou on l'est pas) qu'on appellera A, B & C et une caméra (appelée D) filmant en direct un acteur sur fond vert.

Les cassettes VHS sont insérées dans le magnétoscopes par un technicien (le processeur) suivant une liste (le programme) lui indiquant d'aller chercher ces dernières dans une armoire de classement (la cartouche).

Chacune de ces machines envoie un plan vidéo unique représentant une partie d'un tout, matérialisé par le mixage final des 4 sources par la table de montage (le rendu finale sur votre téléviseur).

Les plans de scorlling et de texte sont appelés Planes (respectivement 1, 2 et Window) et correspondent, dans notre petite analogie, aux magnétoscopes A, B et C, la caméra D représentant le plan de sprites animés.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Plan0111
Le magnétoscope A propose d'avoir une jolie vue de ciel bleu avec des nuages pour l'arrière plan.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Plan0211
Le magnétoscope B propose d'avoir un joli décors en second plan.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Plan0411
Le magnétoscope C se contentera de proposer un chronomètre en haut de l'image.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Bonhom10
La caméra D filmera un acteur qui évoluera dans ce décor.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Total10
Le tout mixé par la console.


Le VDP de la Megadrive fonctionne de la même manière que cet ensemble à la différence près que magnétoscopes, caméras, armoires de classement, techniciens et acteurs sont remplacés par des mémoires, des sprites, des processseurs et un programme !

----------------------------------

2- Le binaire :

Mais avant de commencer, je vous propose une petite initiation très rapide au binaire pour que la suite de ce dossier vous soit plus aisée :

Le binaire comprend 2 valeurs (le 0 et le 1). Comme pour un interrupteur électrique, on pourrait attribuer comme qualificatifs à ces deux états "éteint" et "allumé". Ces valeurs sont nommées "bits" (contraction de binary digits). On regroupe généralement ces bits dans des "mots binaires" de 8bits (mais cela peut être plus ou moins) que l'on nomme des "octets".

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Lsb_ms10

On se retrouve donc avec des suites de 8 bits dans ce genre : 10100101. Le bit de droite est appelé le "bit de poids faible" (LSB en anglais) et celui de gauche se nomme "bit de poids fort" (MSB en anglais).

Quelque soit la longueur du mot binaire utilisé, le bit de poids faible vaux toujours 1 si il est à l'état "allumé" (soit à 1) et 0 si il est "éteint" (donc à 0) . Les bits suivant valent toujours le double de la valeur du bit précédent. Dans le cas d'un mot de 8 bits les valeurs sont 128--64--32--16--8--4--2--1. Additionnés tous ensemble ces valeurs donnent 255, ce qui signifie qu'on peut compter jusqu'à 255 avec 8bits en partant de 0 (si tous les bits du mot sont à 0, le mot vaut 0) soit 256 valeurs.

Notre mot exemple étant 10100101, sa valeur est de 128+0+32+0+0+4+0+1 soit 165 !!!

----------------------------------

3- Explications :

Comme je l’expliquais au dessus, ici, on n'utilise pas de cassettes VHS mais des mémoires comprenant des informations numériques. Dans le cas de ce processeur précis (le VDP de la Megadrive), c'est la mémoire vidéo qui fait office de stock à données et ici, on y stockera que des images !

La mémoire du Texas Instruments TMS9918 étant de 64Ko, ce chiffre se comprend comme ceci :

- en binaire, et en raison de la base de calcul utilisée, un kilo ne correspond pas à 1000 mais à 1024.
- 1 Ko = 1024 octets soit 1024*8 bits = 8192 bits
- 64Ko = 64*8192 bits = 524288 bits ou 65536 octets.

Les images stockées dans cette mémoire sont découpées en plein de petits morceaux, nommés "tiles", de dimension 8*8 pixels (donc 64 pixels en tout). Chacun des pixels composant la tile possède une couleur bien à lui. Cette couleur est fournie par 4 palettes de 16 variantes chacune pour un total de 64 couleurs disponibles affichables simultanément. Pour simplifier l'utilisation de ces dernières, les concepteurs du VDP les ont réparties dans 4 banques internes et codées sur 4 bits (donc 16 valeurs possibles en comptant le 0). Il faut comprendre ici que chaque plan d'image du processeur possède une palette bien à lui.

Le plan de sprites permet l'affichage simultané de 80 de ces derniers avec une résolution maximale de 32*32 pixels (4 tiles * 4 tiles).

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Tile_a10
Exemple d'un sprite en 4 tiles.

4 bits par pixels, 64 pixels par tile (soit 32 octets de mémoire utilisée par tile puisqu'on peut donc stocker 2 pixels dans un octet) et 65536 octets disponibles dans la mémoire du processeur, on arrive à 2048 (65536/32) tiles stockables simultanément dans les 64Ko offert par le TMS9918 !

Le résolution de la Megadrive étant de 320*240 il faut horizontalement 40 tiles (320 pixels de large divisés par les 8 pixels d'une tile) et verticalement 30 tiles (240 pixels de haut divisés par les 8 pixels d'une tile) pour recouvrir complètement l'image.

Il est à noter que la séquence d'affichage des tiles par le processeur commence en haut à gauche de l'écran pour se finir en bas à droite.

Mais alors, pourquoi utiliser cette technique, visiblement assez compliquée, au lieu de simplement encoder une image et la restituer pixel par pixel ?

L'explication se trouve au niveau des banques de palettes de couleurs. Vous vous rappelez, on a apprit que le VDP en possédait 4 de 16 couleurs chacune ? On a aussi appris qu'on appelait la couleur grâce à un mot de 4 bits ? Et bien ce mot ne correspond non pas à la couleur, mais à la ligne d'information de la couleur dans la palette. Cette ligne comprend le code de la couleur (en hexadécimale) qui sera envoyé au circuit d'affichage. Ces informations étant codée en dur dans le processeur, elle n'ont pas besoin d'être chargées et ne tienne pas de place dans la mémoire vidéo...

Les couleurs sont codées en 3*4 bits (soit 12 bits) selon la méthode RGB (red, green, blue soit rouge, vert, bleu) selon cette formule :0xBGR. Le blanc, par exemple se nomme 0xFFF et correspond en binaire à 1111-1111-1111.

Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) Hexade10
Correspondance binaire(décimal) vers hexadécimal

Vous avez donc compris que cette technique permet de diviser la taille mémoire d'un pixel d'une tile par plus de 2 par rapport à si le pixel avait été codé directement et de manière indépendante. Ingénieux non?

----------------------------------

4- Conclusion :

Voilà, vous savez à peu près tout ce qu'il y a d’intéressant à savoir sur ce processeur. Le reste étant vraiment d'ordre très technique et utile principalement aux développeurs, nous n'irons pas plus loin dans l'exploration de cette puce.

Maintenant, vous savez comment est géré le stockage, l'affichage et l'utilisation des plans scrolling/fixe/sprite. Vous en savez aussi un peu plus sur le bianaire donc, vous êtes prêts pour passer à l'étape suivante de l'exploration de la carte mère de la Megadrive qui se fera par l'explication du fonctionnement du processeur centrale : le Motorola 68000.



Dernière édition par fafy le Dim 17 Mai - 8:07, édité 9 fois

dandyboh

dandyboh
Maudit du Forum

fafy a écrit:- en binaire, et en raison de la base de calcul utilisée, un kilo ne correspond pas à 1000 mais à 1024.

Pas vraiment juste. En fait, un kilo vaut mille, point final. On ne va pas changer la définition du "kilo" juste pour faire plaisir à l'informatique. Donc, on a inventé le "kibi", qui se note "Ki" pour désigner 1024.

Ainsi, 1Kio = 1024o, mais 1Ko = 1000o.

De la même manière, le "mébi" (Mi) désigne 1024*1024, le "gibi" (Gi) désigne 1024*1024*1024, etc...

C'est la raison pour laquelle, quand vous achetez une carte de 16Go, donc 16 milliards d'octets, vous ne vous retrouvez qu'avec 13,9 Gio... !

Invité

avatar
Invité
Je suis de la vieille école moi Smile Les deux restent parfaitement valable! On rencontre plus souvent le Ko, c'est encore ce dernier qui prime majoritairement! Il suffit juste de le savoir donc merci pour cette précision Smile

ange_dechu_lucifer

ange_dechu_lucifer
Administrateur

fafy a écrit:

Le résolution de la Megadrive étant de 256*224

T'as confondu avec la résolution la plus commune (car il y en a d'autres) de la Snes et la NES : pour la MD, la plus commune c'est 320*224 (même si effectivement, certains rares jeux sont en 256*224, comme les conversions Tradewest Nes vers MD, ou même Monster World IV). ^^

Et encore, 224 pixels car ntsc, sinon c'est 240 pixels de haut en Pal. ^^

http://paderetro.com/

perchu

perchu
Diable Geek

Pourquoi ne pas garder le mot sur l'image pour ton exemple? Ou au moins faire un rappel sur l'image après ton exemple (ainsi on a 2 exemples à la fin).

Ensuite je plussoie dandyboh dans le sens où techniquement on parlera de mébi et commercialement on parlera de mega. Tout dépend d'où tu te places mais vu que ton article se veut une approche technique, je pense qu'il serait bon, après une apparté expliquant pourquoi on parle de mega partout (au début on a considéré que 1000 = 1024 car on ne pensait pas atteindre le gigaoctets et que donc la différence serait faible de tout temps), qu'on parlera donc en mébi.

J'aime beaucoup ton article sinon à part une image qui me choque, megaman a les yeux bleu (effet de transparence...)

Sake C. Buenos

Sake C. Buenos
Maudit du Forum

Merci Fafy pour ce dossier, hâte de lire la suite !

Tylano

Tylano
Cerbère de la Manette

Énorme ce dossier!
Yeahh!

Invité

avatar
Invité
Merci merci Smile bon, concernant le Megaman, je peux rien y faire Smile pour le probleme des Ko ou Mo, je pense sincerement que les gens connaissent mieux ces termes et ca fait moins d'infos à digerer d'un coup comme ca. Quoi qu'il en soit le resultat est le même, il faut multiplier par 1024 quoi qu'il en soit Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559

Pour l'exemple j'ai fait exepres de poser un mot différent! Je souhaites que vous me disiez combien ce mot "pèse" en décimal pour verifier si vous suivez Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 3856250453 Je voulais animer ce topic autours de ca pour commencer mais j'ai du m'absenter pour le business Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559

Sinon pour la resolution de la MD, effectivement, j'ai pris la plus basse et la moins commune mais c'est une erreure, je suivais la doc du processeur sur SMS qui possède cette résolution en natif! Dès mon retour à la maison, je corrigerais!

Invité

avatar
Invité
J'ai effectué les modifications sur le dossier. Du coup, vu que mon plan avait foiré pour vous faire chercher la valeur du mot dans l'image (mais bon, mon rendez-vous à été lucratif alors...Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 3856250453), j'ai modifié aussi celui de l'exemple. J'ai également remis la résolution de la MD en 320*240 effectivement plus courante que celle énoncée en premier.

Sinon, concernant le débat Ko ou Kio, je reste sur ma position de départ, l'approche étant, bien entendu technique mais aussi très démocratique alors autant utiliser les termes qu'un maximum de gens connaissent. Ici tous le monde n'est pas un spécialiste en la matière donc... Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559

Mais vous avez raison de souligner le fait que cette autre notation existe après libre à chacun d'employer celle qui lui convient le mieux. Moi j'ai toujours travaillé avec des Ko et non des Kio, je vais pas remettre en question 6 ans d'études électronique et près de 30 ans d'informatique Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559 Et en plus, Kio pour moi ca fait chanteur pourrit des années 2000 Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 3856250453

ange_dechu_lucifer

ange_dechu_lucifer
Administrateur

Z'avez vus comment je suis le seul qu'il écoute? J'suis un chouchou boulet. Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 2574002215

http://paderetro.com/

Invité

avatar
Invité
Euh... j'ai écouté Perchu aussi (bon pas entièrement Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 2930664868) mais j'ai aussi entendu Dandy aussi Smile

ange_dechu_lucifer

ange_dechu_lucifer
Administrateur

mes espoirs, brisés. Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 120511517 Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 3856250453

http://paderetro.com/

Invité

avatar
Invité
Pov´piti chou Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4186804625

Invité

avatar
Invité
Preparez vos cerveaux, la suite débarque dans l'après-midi Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559

ange_dechu_lucifer

ange_dechu_lucifer
Administrateur

J'ai peur. Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4257297559

http://paderetro.com/

Invité

avatar
Invité
Faut pas Le fonctionnement d'une Megadrive - partie 1 : le VDP (dossier) 4186804625

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum