MSXgl est une bibliothèque C gratuite et open-source pour créer des applications sur MSX en utilisant
SDCC.
La bibliothéque est architecturée autour de nombreux modules qui implémentent de façon optimisée les différentes fonctionnalités du MSX et d'un outil de génération multiplateforme (Windows, Linux et macOS) qui permet de générer en 1 click, le programme final en divers format (ROM, MegaROM, MSX-DOS et binaire BASIC).
A partir d'un même code en C,
MSXgl peut générer un code binaire utilisable sur MSX dans divers format :
#1 Pour les format 48 et 64 Ko, il est possible d'ajouter automatiquement un gestionnaire d'interruption pour remplacer celui du BIOS.
La librairie
MSXgl est composé de nombreux modules qui implémentent les fonctionnalités du MSX. L'utilisateur peut choisir les modules qui sont utiles pour les besoins de son programme.
Le
Build tool est un outil en ligne de commande qui s'occupe de toutes les étapes pour générer le fichier final :
Tous les programmes nécessaires pour ces étapes sont fournis directement dans le package
MSXgl pour Windows et Linux. Pour ces plateformes, il n'y a donc aucun autres logiciels à installer (autre qu'un émulateur si vous voulez tester votre programme sur votre PC). Pour les utilisateurs de macOS, voir
ce guide.
Les émulateurs suivants sont supportés:
Pour installer
MSXgl sur votre ordinateur, il faut suivre les étapes suivantes :
1️⃣
Créer un répertoire (appelez-le "
MSXgl
" par exemple).
Note : Il est recommandé de ne pas utiliser d'espace dans le chemin complet vers ce répertoire.
2️⃣
Installer la librairie:
-
Télécharger et décompresser dans votre répertoire
la dernière version de la librairie,
- ou
Cloner le dépôt Git
https://github.com/aoineko-fr/MSXgl.git (tag
v0.8.0-alpha
),
3️⃣
(Optionnel) Si vous voulez utiliser l'option d'auto-démarrage d'un émulateur pour tester votre programme:
-
Editer le fichier
MSXgl/projects/default_config.js
(la configuration par défaut du Build tool),
-
Chercher "
Emulator
",
mettre le chemin vers votre émulateur préféré et mettre "
DoRun = true;
".
Note : Les options du fichier
default_config.js
peuvent être écrasé par les valeurs données dans fichier de configuration d'un projet (
project_config.js
).
✅
Et voilà! Vous pouvez maintenant tester l'un des nombreux programmes d'exemple ou commencer à créer votre propre programme.
engine
: MSXgl library
├─
content
: Data ready to include (font, math table)
├─
datasrc
: Data source
├─
doc
: Documentation
├─
lib
: Static library binaries (perhaps one day...)
├─
script
: Build Tool scripts
└─
src
: Library sources (.c and .h)
projects
: Programs
├─
example
: Game example
├─
samples
: Sample programs (VDP, PSG, Sprite, ...)
├─
targets
: Samples to test all target (ROM, DOS, BASIC)
├─
template
: MSX 1 template sample (can be use as base to create a new program)
└─
template_msx2
: MSX2 template sample (can be use as base to create a new program)
tools
: Tools
├─
MSXtk
: MSX tool kit utilities (MSXhex is used in the build process)
├─
audio
: Tools used with audio
├─
build
: Tools used by the Build tool
├─
compress
: Tools used to compress data
└─
sdcc
: SDCC (binaries for Windows and Linux, and z80 lib)
MSXgl fournis un grand nombre de programmes d'exemple pour illustrer l'utilisation des différents modules.
MSXgl fournis 3 projets d'exemple qui peuvent servir de base pour votre propre projet.
projects
├─
example
: Example de jeu.
├─
template
: Base pour un programme MSX1.
└─
template_msx2
: Base pour un programme MSX2.
Pour tester ces projets, aller dans l'un de ces répertoires et exécuter le script
build.bat
sous Windows ou
./build.sh
sous Linux et macOS.
Le fichier final devrait se trouver dans le sous répertoire
/emul/
.
Par ex., dans le cas du projet
tamplate
qui est configuré pour créer une ROM de 32 Ko, le fichier final se trouve dans
projects/tamplate/emul/rom/template.rom
.
Tester cette ROM avec votre émulateur préféré.
Si vous avez configuré un émulateur et activé l'option de lancement automatique (voir "Installation"), l'émulateur sera automatiquement lancé à la fin de création de la ROM.
Pour éviter d'avoir un répertoire pour chaque exemple, la procédure de test des nombreux exemples contenu dans le répertoire
samples
est légèrement différente.
projects
└─
samples
C'est toujours le script
build.bat
sous Windows ou
./build.sh
sous Linux et macOS qui permet de générer le programme final, mais il faut préciser dans la ligne de commande le programme à générer.
Par ex., pour générer le programme d'exemple qui montre l'utilisation du module Game qui s'appelle
s_game
, il faut utiliser la ligne de commande : "
build.bat s_game
" (ou "
./build.sh s_game
" sur Linux ou macOS).
Le répertoire
targets
permet de tester tous les formats de sortie (ROM, DOS, BASIC).
projects
└─
targets
La génération se fait également avec le script
build.bat
sous Windows ou
./build.sh
sous Linux et macOS, mais il faut préciser dans la ligne de commande le format cible choixi.
Par ex., pour générer le programme pour MSX-DOS 2, il faut utiliser la ligne de commande : "
build.bat DOS2
" (ou "
./build.sh DOS2
" sur Linux ou macOS). Pour une MegaROM ASCII8 de 128 Ko, il faut utiliser "
build.bat ROM_ASCII8
".