[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Tutoriels - #1 Programmer la mégadrive

Oniromancie: Tutoriels - #1 Programmer la mégadrive


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace

Apprendre
RPG Maker

Guides
Tutoriels
Astuces
Making-of


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Nylu
Par NanakyTim

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Game design: ouvrir son jeu aux (...) / News: Des jeux et des screens / News: Alex 2019 : tests et nominations (...) / Jeux: Wendy Whedon / Sorties: Wendy Whedon /

Chat  

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

133 connectés actuellement

10211208 visiteurs
depuis l'ouverture

99 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

Le Comptoir du Clickeur

New RPG Maker

BloGecko

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




#1 Programmer la mégadrive
Ecrit par Monos

Introduction : Programmer la mégadrive Facilement, présentation de la bête
image
La mégadrive, première du nom, elle claque niveau disign non ?

Bienvenue dans cette nouvelle série de tuto qui à pour thème, programmation de la mégadrive et entrer dans le vrais monde du Homebrew !
Je vais tenter de vous apprendre les bases pour manipuler cette console.

Il existe sur le net plusieurs moyens de la programmer avec différent langage.
Vous pouvez partir sur le SGDK par exemple qui est une librairie pour le langage de programmation C par D.Stephane un bon frenchy. (cocorico) Ou alors se simplifier la vie avec BasiEgaXorz. Qui est un ide simple d'utilisation et d'installation. Le langage utilisé et les Basic.
Mais je vous propose plutôt d'utiliser Second Basic qui est le petit frère de Bex. Notons aussi qu'il y a moment de la programmer directement en assembleur ce qui permet de gérer la machine à l'octet prés !


La mégadrive c'est quoi ?



La Mégadrive (Ou génésis) est une console réalisé par Sega sortie aprés la master system. Elle est sorti au pay du soleil levant le 29 octobre 1988. Le 14 Aout 89 au USA, Aout 90 en Corée sur sud, et le 30 novembre 1990 au pays du fromage qui pue !

Elle possède un système de cartouche pour lire les jeux, et deux port manette DB9 pour les contrôleurs. Elle est nativement rétro compatible avec la Master Système mais il faut un adaptateur de cartouche spécial pour utiliser les cartouches de sa grand soeur.

La mégadrive possède deux processeurs.
-Le Motorola 68000 qui est un processeur 16/32 bits cadencé à 7,6 Mhz.
(On retrouve ce processeur dans les premiers micro mac, l'atari St, la console jaguar, Amiga 1000,2000,500,500+,600), Sega Saturne enomade mega Cd 32, et Neo Géo) (

-Le processeur secondaire est le fameux Zilog Z80 qui est un processeur 8 bits.
(Master system, Game Boy, Game Gear, Neo Géo (en coprocesseur), MSX, Amstrad CPC et CPC+, Zx Spectrum, VG500,ZX80,Zx81)
Ce processeur est la pour s'occuper du son de la machine et de la rétro compatibilité avec la master system. (Et oué la mégadrive c'est du son 8 bits !)

La mémoire dans la peau :

La Mégadrive à plusieurs types de mémoire qui peut être travaillé :

Elle possède 64ko de Ram pour l'usage principale. ($FF0000 à $FFFFFF))(65535 kio)
Elle possède aussi 64ko dédié à la Vidéo Ram. ($C00000 à $DFFFFF)(65535 kio)
Elle possède 8ko de Ram dédié au Z80 pour le son ($A00000 à $A01FFF) (8,191 kio)

La mégadrive peut bouffer des cartouches qui varient entre 256ko de mémoire à 4 Mo. (Voir plus avec système pour inter changer des morceaux de mémoire par une autre ! Le Bank Switching)
-Les adresses mémoires se trouvent au début de la memory card de la mégadruve, $000000 à $4000000
-Des cartouches peuvent être équipé de SRAM qui permet de garder informations une fois la machine éteinte.


Au niveau affichage graphique, elle peut afficher 320 x 224 points ou 320 x 448 points à l'écran.
La mégadrive peut avoir 4 palettes de 16 couleurs en même temps ceci dit la 1er couleurs de la palette est toujours transparente. (Elle a un spectre de 512 teintes), et 80 sprites machines (32x32 points maxi) peuvent êtres affichés à l'écran.
La megadrive permet de faire du scrolling hardware et possède 3 plans (calques) d'affichages.

Au niveau capacité sonore :

Elle possède deux circuit : le Yamaha (Vroume Vroume) YM26123 et le SN76486 pour être compatible MS. (Non pas maso sado mais Master Système oh Rito !)

La mégadrive permet d'avoir 10 canaux sonore avec deux configurations qui sont possibles.
1) -6 Canaux Fm + 3 canaux PSG + 1 de bruit
ou
2) -5 Canaux FM + 1 canaux PCM + 3 canaux PSG + 1 de bruit.

D'autre look de la bête

image
Le Look de la génésis !

image
La mégadrive II qui se calque sur un disign plus soft

image
La version Génésis du modèle II


image
La Génésis III, une version bas de gamme de la console

Le Dico du Chapitre !

Adresse Mémoire : Un case mémoire peut mémoriser une valeur entre 0 et 255 compris (1 octets soit 8bits). Une adresse mémoire est tout simplement le numéros de la "case" pour son identification. Exemple la case mémoire numéros 169. Pour la simplification de lecture elle est souvent exprimé en valeur Hexadécimale. h361 pour cette exemple.

Assembleur : Type de langage de programmation avec des mots clefs mémo-technique pour des actions. Exemple : Move.B 5,DO => Place la valeur 5 dans la case mémoire du processeur qui porte le Nom de D0 (Un registre)

Basic : Langage de programmation conçu en 1964. Souvent utilisé pour initier à la programmation dans le passé. Les vieux micros ordinateur 8 bits (C64,Amstrad Cpc,MSX,MO5...) sont équipés du basic au démarrage.

Binaire : Système de comptage sur une base de 2 (0=>1)

C : Langage de programmation conçu en 1970. Le C permet d'être proche du système et par apport au basic de mieux gérer la mémoire.

Hexadecimal : Système de comptage sur une base de 16 (0 => 15) avec l'utilisation des lettres A à F pour représenter les valeurs 10 à 15.

Homebrew : (Fait maison) Réalisation d'un programme sur une machine dont en théorie nous avons pas le droit. Si nous nous tenons à ça, les jeux maisonréalisés sur les consoles 8 et 16 bits de Sega et de Nintendo sont des Homebrew car il faut officiellement une licence. Les jeux maison réalisé sur les micro ordinateur comme Amstrad,Amiga,Atari ne sont pas des HomeBreaw car il n'y avait pas besoin de licence. Ni sur les plus vielles consoles comme l'atari 2600. Ceci dit le terme Homebrew est plus ou moins utilisé par la création amateur de jeu vidéo souvent lié au vielle machine.

Memory Card : Carte de la mémoire d'un système, C'est tout simplement l'organisation de sa mémoire pour savoir ou se trouve l'espace programmable par exemple, ou se trouve les données que le système va lire pour afficher les graphismes...

Sprite Machine : Morceau de Graphisme directement géré par un processeur graphique dédié. A contrario d'un Sprite Sofware ou c'est en programmation pure que le morceau de graphisme est géré.

Rom : Read Only Memory ou mémoire morte. C'est des données qui ne peuvent pas être effacés, ni remplacé (du moins comme ça). C'est "les bios" de vos machines, les cartouches (ou du moins une partie des cartouches) de vos jeux consoles...

Ram : Random Access Memory ou Mémoire Vive. C'est des données volatile. Elle s'efface à l’arrêt du système. Elle permet d'enregistrer les données du système comme le résultat d'une opération, la mémorisation des la position X / Y de votre perso...

Son FM : Le Son est géré avec de la modulation de fréquence.

Son PSG: Générateur de Son programmable.

Son OM : Non je déconne pour celui la.

Son PCM : Pulse Code Modulation. Le Format des CD c'est du PCM

Sprite Machine : Morceau de Graphisme directement géré par un processeur graphique dédié. A contrario d'un Sprite Sofware ou c'est géré en programmation poru gérer les mouvements, la superposition...


winterskill - posté le 23/07/2017 à 23:47:59. (927 messages postés)

Empereur des bons gros meuh

et où on l'apprend le basic? :D
non, parce que j'ai trouvé des cours sur le visual basic, le basic casio, le basic-like et le basilic, mais pas le basic basique...

mais sinon, j'aime bien l'idée de ces tutos. J'espère que tu en fera d'autres!

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men


Monos - posté le 24/07/2017 à 04:38:03. (56891 messages postés) - misteroniro

Vive le making libre

La liste des mots clefs sont dans l'aide et je vais en parler dans les tutos !
Les algos, l'organisation du code et compagnie c'est la même chose peux importe le langage.

Pixner|Offgame | Le comptoire des clikeurs


winterskill - posté le 24/07/2017 à 15:25:43. (927 messages postés)

Empereur des bons gros meuh

ben, pas tellement... si tu à l'habitude de ne faire que du C et que t'essaye de faire un truc en Ruby, tu vas avoir du mal à t'y retrouver (je suis d'accord que l'exemple est très caricatural, mais c'est pour exposer mes idées plus facilement).
en plus, si tu veux pouvoir faire des trucs de toi-même après, un tuto spécifiquement sur le BASIC, ça peut être pas mal...

edit :
je viens de m'apperçevoir que ton lien vers second basic (que je viens de découvrir :F) mène à une page vide (elle se charge, mais le code source des totalement vide).

edit 2:
j'ai l'impression que c'est tout le site second-dimension qui est kâssé...

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men


Monos - posté le 24/07/2017 à 17:36:09. (56891 messages postés) - misteroniro

Vive le making libre

Citation:

ben, pas tellement... si tu à l'habitude de ne faire que du C et que t'essaye de faire un truc en Ruby, tu vas avoir du mal à t'y retrouve


Moué non désolé, si tu es habitué au C, le basic sérieux...
Tu retrouves la même idée général dans l'organisation du code, tu as les boucles, les conditions, les fonctions, (ou / et procédure)... Juste à s'adapter à la nouvelle syntaxe.

Ma série de tuto est la aussi pour apprendre la base du basic aussi !

Le site est de nouveau opérationnel.

Pixner|Offgame | Le comptoire des clikeurs


miduki - posté le 24/07/2017 à 22:56:21. (998 messages postés)

La meilleur des 16 bits!
Mais en ayant regarder les 4 tutos, je me rends compte que c'est pas facile!
Rien a voir avec du RM!
Et puis... Aucune interface graphique?
Hummmmm...
En tout cas chapeau Monos! Je suis sur que ça doit interessé du monde, de programmer sur cette bête mythique!

https://hentairpg.org/ Le site du RPG HENTAI Francais !


winterskill - posté le 25/07/2017 à 00:43:42. (927 messages postés)

Empereur des bons gros meuh

Ah oui.

Mais peut-on utiliser des imports (genre tu écrit tes Giles dans un fichier et tu l'importe dans le fichier main)

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men


Monos - posté le 25/07/2017 à 05:02:53. (56891 messages postés) - misteroniro

Vive le making libre

Citation:

je me rends compte que c'est pas facile!


Mais si c'est facile façon de parler. La programmation en général ce n'est pas si compliqué que ça pour faire des petites choses.

Citation:

ais peut-on utiliser des imports (genre tu écrit tes Giles dans un fichier et tu l'importe dans le fichier main)


C'est quoi les Giles ?

Le Logiciel en basic semble merdé dans les "includes directe" mais avec le SDGK (en C) tu peux et doit faire des includes.

Citation:

Et puis... Aucune interface graphique?


C'est du code ! Le moteur tu le codes à la main. L'organisation c'est toi.

Pixner|Offgame | Le comptoire des clikeurs


winterskill - posté le 25/07/2017 à 14:36:14. (927 messages postés)

Empereur des bons gros meuh

Des t i l e s
Saleté de correcteur orthographique!

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site:

Communauté: Accueil | News | Forum | Flash-news | Sorties | Chat | Commentaires | Galerie | Blogs | Articles perso | Screen de la semaine | Palmarès | Livre d'or | Recherche | Interviews | OST | L'Annuaire | Divers
Apprendre: Le Wiki | Tutoriels | Guides | Gaming-Live | Tests | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Hébergés: Aëdemphia | Fighting Robots Quest | Geex | Inexistence | La Légende d'Ibabou | Nylu | Sarcia | Super Mario RPG - Lost Souls
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis