Programmation de la Sega Master System
Cette page est consacrée à la programmation de la Sega Master System : matériel, VDP, mémoire, graphismes et outils de développement. Caractéristiques de la Master System
ProcesseurZilog Z80 à environ 3,58 MHz
RAM8 Ko
VRAM16 Ko
Affichage courant256×192 pixels
Modes étendus256×224 et 256×240 selon VDP / région
Palette64 couleurs, 2 palettes de 16 couleurs
Sprites64 sprites, avec une limite de 8 sprites par ligne
VDP de la Master System
Le Video Display Processor (VDP) est la puce vidéo de la console. La Master System conserve des modes hérités de la famille TMS9918, utilisés notamment sur SG-1000/MSX/ColecoVision, et ajoute son Mode 4. Le VDP possède 16 Ko de VRAM. En Mode 4, cette mémoire sert notamment aux motifs graphiques (tiles), à la tilemap et aux informations des sprites.
NES et Master System
Une différence intéressante : la NES permet nativement le retournement horizontal/vertical des sprites, mais pas celui des tiles sans aide du mapper. Sur Master System, les tiles disposent de ces attributs, tandis que les sprites ne proposent pas le même fonctionnement. Le V-Lock du VDP
Le VDP impose certaines contraintes lorsque l'on verrouille une partie de l'écran pour conserver un HUD fixe. Par exemple, le verrouillage des lignes supérieures limite le scrolling vertical, et le verrouillage des colonnes de droite limite le scrolling horizontal. Cela demande de prévoir la structure de l'écran dès la conception du jeu. SDK DevKitSMS
Le DevKitSMS est un SDK pour programmer la Master System dans le langage C. Il possède des fonctions de base pour mettre en mémoire les palettes de couleur, afficher des tiles, des sprites, du scrolling, et bien d'autres encore. Il est simple à installer et à comprendre.Il permet de réaliser des rom pour la Master System,et la Game Gear. lien Vidéos de programmation
Voici une série de vidéos consacrées à la programmation de la Master System.
Épisode I : installation des outils
Épisode II : Hello World
Épisode III : encodage des graphismes
Épisode IV : les sprites
Épisode V : la manette de jeu
Épisode VI : importer une image
Plan de la mémoire de la MS
Plan mémoire de la cartouche
Encodage d'une tile
Une tile est un carré de 8×8 pixels.Sur Master System, les données graphiques sont organisées en bitplanes. Une ligne d'une tile est encodée sur 4 octets (32 bits). Une tile contient 8 lignes, soit 32 octets au total. 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 !
Ce qui fait 0000 soit l'index 0. Pour le pixel 2 de cette ligne nous avons dans le 2e 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étro réalisé par Jean Monos • Amistrad | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||