[Tuto] Programmation Sega Master System - Autres Consoles sur JeuxVideo.com

Les forums de JeuxVideo.com Taille normale Grande taille

Forum : Autres Consoles

Ajouter ce forum à mes forums préférés Ajouter ce forum à mes forums préférés

Sujet : « [Tuto] Programmation Sega Master System »

Créer un nouveau sujet   Liste des sujets
Alerte mail  Répondre  Rafraichir
  • neoraph Voir le profil de neoraph
  • Posté le 26 avril 2008 à 11:11:35 Avertir un administrateur
  • Voila un topic qu'il est interressant!
    Par contre, programmation en assembleur arf! :malade:
    Bon, je vais regarder un peu le code!
    en tout cas, c'est une très bonne initiative! merci ;)
  • Lien permanent
  • shakaan Voir le profil de shakaan
  • Posté le 26 avril 2008 à 13:36:10 Avertir un administrateur
  • ça a l'air excellent ^^ mais en assembleur :malade: j'ai etudié ça en cours, c'est du bourrin...
    MOV AX, BX
    ADD AX, CX
    et pouf ça te fait mario :noel:
  • Lien permanent
  • Garzul Voir le profil de Garzul
  • Posté le 26 avril 2008 à 16:15:00 Avertir un administrateur
  • hop, voici le tutoriel N°2 pour la Master System et cette fois ci un programme très intéréssant (et plus jolie :p) en résultat!

    Le tutoriel couvre ses aspects:

    - Chargement et affichage d'une image BMP converti avec BMP2Tile
    - Utilisation de la pile (stack) et des fonctions (routines)
    - Modification de la palette en temp réel pour créer un effet sur l'image
    - Utilisation des évenements de la manette (bouton start)


    Résultat du programme (le texte "Push Start Button" change de couleurs périodiquement), si on appui sur Start (bouton 1) la couleur ne change plus:
    http://garzul.tonsite.biz/SMS/Tuto2/tuto.png

    Vous trouverez l'image utilisé, le batch (pensez à l'éditer) + .link pour compiler et les sources à cette adresse:
    http://garzul.tonsite.biz/SMS/Tuto2/

    La rom est disponible ici si vous voulez tester directement:
    http://garzul.tonsite.biz/SMS/Tuto2/rom.sms

    J'ai uploadé quelques documentations (celles que j'utilises) ici:
    http://garzul.tonsite.biz/SMS/Doc/

    Pour l'image je l'ai déssiné (enfin, j'ai plutôt laissé le logiciel faire ^^) avec Deluxe Paint sur Atari (bizzarement pour faire des images en 16 couleurs j'ai pas trouvé plus simple :/)

    Le fichier "tiles.asm" contient seulement des éléments (palette, données des tiles et position des tiles) générés par BMP2Tiles.


    Pour la suite je pense couvrir l'aspect sonore de la SMS et ensuite les sprites.


    Sinon pour l'assembleur c'est un coup à prendre, à cet époque c'étaît pas encore aussi complexe que maintenant (et heureusement), globalement si vous souhaitez apprendre je vous conseille de modifier au fur et à mesure les sources pour voir ce que faît chaques groupes d'instructions et d'essayer de comprendre. (accompagné des documentations + commentaires)
  • Lien permanent
  • shakaan Voir le profil de shakaan
  • Posté le 26 avril 2008 à 22:26:35 Avertir un administrateur
  • le zilo etait facile a programmer :oui: stait un de ses nombreux avantage outre sa polyvalence et son faible coups. pas comme les double processeurs SH2 hierarchiques de la sega saturn :malade: ou alors le proc de la PS2 et de la PS3 :malade: :malade:
  • Lien permanent
  • Garzul Voir le profil de Garzul
  • Posté le 26 avril 2008 à 23:51:14 Avertir un administrateur
  • hehe (j'aimerais bien coder sur Saturn mais le kit est bordélique) :c

    Sinon pour la prog Master System on peut programmer en C aussi (avec un compilateur C z80) mais bon je connais pas les perfs ni comment configurer(et ça doit rajouter du code inutile)
  • Lien permanent
  • neoraph Voir le profil de neoraph
  • Posté le 29 avril 2008 à 01:37:21 Avertir un administrateur
  • Il est clair que le code est très bien commenté, et ça a l'air finalement plus simple que prévu (mes notions en assembleur sont donc bonne :) )
    Je n'ai pas réellement testé, juste bien lu le premier code (il est un peu tard pour faire la suite), mais ça me donne envie de continuer.
    Il faudra que je télécharge les outils afin de tester et commencer ensuite mon propre code (tjrs très ambitieux, mais jamais le temps de le faire...)

    Il faut faire des recherches sur le compilateur C, ça peut ne pas être mal pour les données un peu moins critiques que les accès mémoires.

    Bref, Très bon sujet que tu as eu la :)
  • Lien permanent
  • Garzul Voir le profil de Garzul
  • Posté le 29 avril 2008 à 17:06:01 Avertir un administrateur
  • Bonne nouvelle, il existe un compilateur C z80 + des libraries SMS super simples à utiliser. (même pour des débutants en C)

    J'ai converti mon premier tutoriel ASM en C avec... :)
    Niveau simplicité du code y'a pas photos :D (> 50 lignes pour le premier tuto en ASM et ~16 lignes en C), pour les perfs je sais pas mais le compilateur à l'air très bon (avec des options pour optimiser le code)

    Le site du compilateur:
    http://www.z88dk.org

    Le compilateur+libraries Windows:
    http://www.z88dk.org/forum/uploads.php?file=z88dk-win32-1.8-rc2.zip


    Le .bat pour compiler (note: pour plus de facilités on peut aussi configurer un IDE pour qu'il compile avec z88dk), la rom et le code C commenté du tutoriel 1 est disponible ici:

    http://www.garzul.tonsite.biz/SMS/Tuto1/C/


    Installez le compilateur à la racine de votre disque (ici C:\z88dk), ajoutez la variable d'environement "z88dk" avec le chemin "C:\z88dk\bin\" sous Windows et pensez à éditer le compile.bat pour modifier le chemin de votre main.c, ensuite ouvrez le .bat et ça devrait compiler.

    Le compilateur dispose de pleins d'exemples SMS (et autres) qui sont disponibles dans le répertoire "z88dk\examples\sms"


    Note: Pour ceux qui sont intéréssés par la programmation sur d'autres machines, j'ai des tutoriels pour la Super NES...
  • Lien permanent
  • Garzul Voir le profil de Garzul
  • Posté le 30 juin 2008 à 01:45:36 Avertir un administrateur
  • 3° tutoriel disponible pour la programmation de la Master System.

    Le tutoriel couvre ses aspects:

    - Lecture de sons grâce au PSG(Programmable Sound Generator) manuellement
    - Chargement et affichage de 2 images géré par un timer
    - Utilisation d'un "timer" basique pour attendre X secondes avant d'afficher la deuxiéme image
    - Utilisation du VBlank (synchronisation d'affichage)
    - Utilisation du bouton pause

    Résultat du programme:
    http://garzul.tonsite.biz/SMS/Tuto3/tuto.png

    2 images font leurs apparitions avec un délay très court entre les 2, un son est joué, le bouton pause efface complétement ce qu'il y à sur l'écran, la couleur du texte change en appuyant sur le bouton start :) .

    Enjoy!
  • Lien permanent
Alerte mail  Répondre  Rafraichir

Sujet : « [Tuto] Programmation Sega Master System »

Créer un nouveau sujet   Liste des sujets

Flux RSS du sujet "[Tuto] Programmation Sega Master System"