Programmation de la Sega Master System
La page dédié à la programmation de la master system
Caractéristique de la Master System
Processeur : Zilog 80 (8/16bits) 4mhz
Ram : 8ko
Rom : 8ko
VRAM :16ko
Résolution :256*192px
256*224px (A partir de la MS2)
256*240 (Seulement en Pal et à partir de la MS2)
Palette de Couleur : 64 Couleurs
Couleur Affichable : 2 palettes de 16 couleurs. (1 pour les tiles, une pour les sprites).
Sprite : 64 sprites affichable à l'écran. 8 sprites (8*8) sur une même ligne sans procéder au clipping.
SDK DevKitSMS
Le DevKitSMS est un SDK pour programmer la Master System dans le langage C. Il possede des fonctions basic pour mettre en mémoire les palettes de couleur, afficher des tiles, des sprites, du scrolling, et bien d'autre encor. Il est simple à installer et à comprendre.
Il permet de réaliser des rom pour la Master System,et la Game Gear.
lien
Vidéo de Programmation
Voici une série de vidéo que je met en place sur la programmation de la master system.
Episode I, installation des outiles
Episode II, Hello World
Episode III, Encodage des graphismes
Episode IV, Les sprites
Episode V, La manette de jeu
Episode VI, Importer une image
Plan de la mémoire de la MS
Adresse Hexadecimale Adresse Decimale.....
$0000 - $BFFF 0 - 49 151Plage Mémoire pour la cartouche.
$C000 - $DFFF49 152 - 57 343Plage Mémoire de travaille.(8 191 octets)
$E000-$FFFF 57 344 - 65 535Miroire(8 191 octets)
Plan mémoire de la cartouche
Adresse Hexadecimale Adresse Decimale.....
$0000-$7FFF 0 - 32 767Rom 32 767 octets
$8000-$BFFF32 768 - 49 151Bank switchable(16 383octets)
Encodage du Tiles !
Un tiles est un carré qui a pour dimension 8 pixels de coté.
Sur la Master System, cela fonctionne en Bit Plan.
Une ligne d'un tile est encodé sur 4 octets. (32 bits).
Il y a 8 lignes dans un tile ce qui fait donc 32 octets pour un tile.

Pour connaitre l'index de la palette d'un pixel d'une ligne il faut lire la valeur en mode colonne en fonction du numéro du bit et à l'envers svp. Exemple dans tableau !
... Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6
Octet 1 0 1 0 0 1 0
Octet 2 0 0 1 0 1 0
Octet 3 0 1 1 0 1 0
Octet 4 0 1 1 0 1 0
Pour connaitre l'index du premier pixel dans cette exemple, il faut regarder le Bit 1 de chaque ligne.
Ce qui fait 0000 soit l'index 0.
Pour le pixel 2 de cette ligne nous avons dans le 2em bit nous 1011 mais il faut partir de l'octet 4 pour recomposer tout ça, donc 1101 soit l'index 13.
MSEC

Logiciel "simple" qui permet de créer le makefile et de compiler les fichier.C
A placer dans le dossier source.
Le fichier binaire se trouve dans le dossier out.
Télécharger
Site réalisé par Jean Monos.