<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Thu, 09 Apr 2026 03:23:40 +0200 -->

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Wiki MSX Village]]></title>
		<atom:link href="https://msxvillage.fr/syndication/rss/wiki/127" rel="self" type="application/rss+xml"/>
		<link>https://msxvillage.fr</link>
		<description><![CDATA[Derniers articles de la catégorie Programmation C]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
		
		<item>
			<title><![CDATA[MSXgl]]></title>
			<link>https://msxvillage.fr/wiki/msxgl</link>
			<guid>https://msxvillage.fr/wiki/msxgl</guid>
			<description><![CDATA[<img src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msxgl-tate-logo.png" alt="msxgl-tate-logo" title="msxgl-tate-logo" /><br />
<strong>MSXgl</strong> est une bibliothèque C gratuite et open-source pour créer des applications sur MSX en utilisant <a href="https://msxvillage.fr/wiki/sdcc">SDCC</a>.<br />
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).<br />
<ul class="formatter-ul">
    <li class="formatter-li"><span style="text-decoration: underline;">Version actuelle :</span> <a href="https://github.com/aoineko-fr/MSXgl/releases">1.0.0</a>
    </li><li class="formatter-li"><span style="text-decoration: underline;">Version de SDCC :</span> 4.2.0 (embarquée), 4.5.0 (testée)
    </li><li class="formatter-li"><span style="text-decoration: underline;">Author :</span> Guillaume "Aoineko" Blanchard
    </li><li class="formatter-li"><span style="text-decoration: underline;">License :</span> <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-SA 4.0</a>
    </li><li class="formatter-li"><span style="text-decoration: underline;">Liens (en anglais):</span><br />
    <ul class="formatter-ul">
    <li class="formatter-li">GitHub : <a href="https://github.com/aoineko-fr/MSXgl">https://github.com/aoineko-fr/MSXgl</a> (téléchargement des releases et fichiers sources)
    </li><li class="formatter-li">Wiki : <a href="https://aoineko.org/msxgl">https://aoineko.org/msxgl</a> (divers articles)
    </li><li class="formatter-li">Documentation : <a href="https://aoineko.org/msxgl-doc">https://aoineko.org/msxgl-doc</a> (documentation des fichiers sources)
    </li><li class="formatter-li">Serveur Discord : <a href="https://discord.gg/REmAhcw6rp">https://discord.gg/REmAhcw6rp</a> (serveur d'entraide)<br />
    </li></ul><br />
</li></ul><br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-fonctionnalites">Fonctionnalités</h2><br />

<h3 class="formatter-title wiki-paragraph-3" id="paragraph-formats">Formats</h3><br />

A partir d'un même code en C, <strong>MSXgl</strong> peut générer un code binaire utilisable sur MSX dans divers format :<br />
<ul class="formatter-ul">
    <li class="formatter-li">ROM "pleine" (8, 16, 32, 48 ou 64 Ko).<span style="font-size: 10px;"><sup>#1</sup></span>
    </li><li class="formatter-li">MegaROM ou ROM "mappée" au format ASCII-16 (de 64 Ko à 4 Mo) ou ASCII-8, Konami et Konami avec SCC (de 64 Ko à 2 Mo).
    </li><li class="formatter-li">Binaire (<!-- START HTML -->
<tt>.com</tt>
<!-- END HTML -->) pour MSX-DOS 1 ou MSX-DOS 2.
    </li><li class="formatter-li">Binaire (<!-- START HTML -->
<tt>.bin</tt>
<!-- END HTML -->) pour MSX BASIC.
    </li><li class="formatter-li">Dique autoexecutable (<!-- START HTML -->
<tt>.dsk</tt>
<!-- END HTML -->).<br />
</li></ul><span style="font-size: 10px;"><sup>#1</sup> Pour les format 48 et 64 Ko, il est possible d'ajouter automatiquement un gestionnaire d'interruption pour remplacer celui du BIOS.</span><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-modules">Modules</h3><br />

La librairie <strong>MSXgl</strong> 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.<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-core">Core</h4><br />

<ul class="formatter-ul">
    <li class="formatter-li"><strong>bios</strong>: Gestion du BIOS
    </li><li class="formatter-li"><strong>clock</strong>: Horloge temps-réel du MSX2 (RP-5C01)
    </li><li class="formatter-li"><strong>dos</strong>: Fonctionnalités MSX-DOS 1 & 2 (gestion des fichiers, I/O de la console, etc.)
    </li><li class="formatter-li"><strong>input</strong>: Clavier, joystick, souris
    </li><li class="formatter-li"><strong>math</strong>: Fonctions mathématiques optimisées
    </li><li class="formatter-li"><strong>memory</strong>: Gestion de la mémoire
    </li><li class="formatter-li"><strong>print</strong>: Affichage de texte (module générique quelque soit le mode écran)
    </li><li class="formatter-li"><strong>string</strong>: Gestion des chaine de caractère
    </li><li class="formatter-li"><strong>system</strong>: Gestion des slots et des opérations binaire (sans passer par le BIOS)<br />
</li></ul><br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-tools">Tools</h4><br />

<ul class="formatter-ul">
    <li class="formatter-li"><strong>compress</strong>: Décompresseur RLEp (Pattern based RLE)
    </li><li class="formatter-li"><strong>compress/bitbuster</strong>: Décompresseur BitBuster (version 1.2)
    </li><li class="formatter-li"><strong>compress/bitbuster2</strong>: Décompresseur BitBuster 2 (version 2.0)
    </li><li class="formatter-li"><strong>compress/pletter</strong>: Décompresseur Pletter (version 0.5c1)
    </li><li class="formatter-li"><strong>compress/zx0</strong>: Décompresseur ZX0
    </li><li class="formatter-li"><strong>draw</strong>: Fonctions de dessin avancées
    </li><li class="formatter-li"><strong>sprite_fx</strong>: Effets sur les données de sprite (crop, flip, masque et rotation)
    </li><li class="formatter-li"><strong>game</strong>: Architecture de programme
    </li><li class="formatter-li"><strong>game_menu</strong>: Gestion des menus
    </li><li class="formatter-li"><strong>game_pawn</strong>: Gestion des entités du jeu (animation, déplacement, collision, etc.)
    </li><li class="formatter-li"><strong>input_manager</strong>: Gestion avancé des intpus
    </li><li class="formatter-li"><strong>scroll</strong>: Fonctions de scrolling
    </li><li class="formatter-li"><strong>device/ninjatap</strong>: Gestion du NinjaTap (pour brancher 4 joysticks par port)<br />
</li></ul><br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-processeurs-video">Processeurs vidéo</h4><br />

<ul class="formatter-ul">
    <li class="formatter-li"><strong>vdp</strong>: Fonctionnalités pour les TMS9918, V9938 and V9958 (gestion des modes, I/O en VRAM, sprites, commandes, etc.)
    </li><li class="formatter-li"><strong>v9990</strong>: Gestion du Yamaha V9990<br />
</li></ul><br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-processeurs-audio">Processeurs audio</h4><br />

<ul class="formatter-ul">
    <li class="formatter-li"><strong>psg</strong>: Gestion du PSG (AY-3-8910, YM2149 or T7766A)
    </li><li class="formatter-li"><strong>msx-music</strong>: Gestion du MSX-Music (YM2413, FM-PAC)
    </li><li class="formatter-li"><strong>msx-audio</strong>: Gestion du MSX-Audio (Y8950 + YM3014, Music-Module)
    </li><li class="formatter-li"><strong>scc</strong>: Gestion du Konami SCC<br />
</li></ul><br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-formats-audio">Formats audio</h4><br />

<ul class="formatter-ul">
    <li class="formatter-li"><strong>arkos/akg_player</strong>: AGK pour Arkos Tracker II
    </li><li class="formatter-li"><strong>arkos/aky_player</strong>: AGY pour Arkos Tracker II
    </li><li class="formatter-li"><strong>arkos/akm_player</strong>: AGM pour Arkos Tracker II
    </li><li class="formatter-li"><strong>ayfx/ayfx_player</strong>: ayFX sound-effect
    </li><li class="formatter-li"><strong>lvgm/lvgm_player</strong>: Custom light-VGM music
    </li><li class="formatter-li"><strong>pcm/pcmenc</strong>: PCM-encoder
    </li><li class="formatter-li"><strong>pcm/pcmplay</strong>: PCM Play
    </li><li class="formatter-li"><strong>pt3/pt3_player</strong>: Vortex Tracker II
    </li><li class="formatter-li"><strong>trilo/trilo_scc_player</strong>: TriloTracker SCC
    </li><li class="formatter-li"><strong>vgm/vgm_player</strong>: VGM
    </li><li class="formatter-li"><strong>wyz/wyz_player</strong>: WYZ Tracker (based on version 47c)
    </li><li class="formatter-li"><strong>wyz/wyz_player2</strong>: WYZ Tracker (based on version 47d)<br />
</li></ul><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-build-tool">Build tool</h3><br />

Le <strong>Build tool</strong> est un outil en ligne de commande qui s'occupe de toutes les étapes pour générer le fichier final :<br />
<ul class="formatter-ul">
    <li class="formatter-li">Il compile tous les fichiers C ou assembleur du projet (ainsi que ceux de la librairie si besoin),
    </li><li class="formatter-li">Il assemble (link) tous ces bouts de code,
    </li><li class="formatter-li">Il converti le tout en binaire (<!-- START HTML -->
<tt>.rom</tt>
<!-- END HTML -->, <!-- START HTML -->
<tt>.com</tt>
<!-- END HTML --> ou <!-- START HTML -->
<tt>.bin</tt>
<!-- END HTML -->),
    </li><li class="formatter-li">Dans le cas d'un programme MSX-DOS ou BASIC, il regroupe les fichiers nécessaires au programme et peut générer une image disque (<!-- START HTML -->
<tt>.dsk</tt>
<!-- END HTML -->),
    </li><li class="formatter-li">Si un émulateur a été configuré, il lance automatiquement le programme généré avec l'émulateur configuré comme il faut,<br />
</li></ul><br />
Tous les programmes nécessaires pour ces étapes sont fournis directement dans le package <strong>MSXgl</strong> 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 <a href="https://aoineko.org/msxgl/index.php?title=Install/macOS">ce guide</a>.<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-emulateurs">Émulateurs</h4><br />

Les émulateurs suivants sont supportés:<br />
<ul class="formatter-ul">
    <li class="formatter-li"><a href="https://openmsx.org/">openMSX</a>
    </li><li class="formatter-li"><a href="https://emulicious.net/">Emulicious</a>
    </li><li class="formatter-li"><a href="http://bluemsx.msxblue.com/">blueMSX</a>
    </li><li class="formatter-li"><a href="https://fms.komkon.org/fMSX/">fMSX</a>
    </li><li class="formatter-li"><a href="https://www.msx.org/news/emulation/en/meisei-132">Mesei</a>
    </li><li class="formatter-li"><a href="http://www.lexlechz.at/en/software/RuMSX.html">RuMSX</a><br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-installation">Installation</h2><br />

Pour installer <strong>MSXgl</strong> sur votre ordinateur, il faut suivre les étapes suivantes :<br />
<br />
1️⃣ <strong>Créer</strong> un répertoire (appelez-le "<!-- START HTML -->
<tt>MSXgl</tt>
<!-- END HTML -->" par exemple).<br />
<em><span style="text-decoration: underline;">Note</span> : Il est recommandé de ne pas utiliser d'espace dans le chemin complet vers ce répertoire.</em><br />
<br />
2️⃣ <strong>Installer</strong> la librairie:<br />
- <strong>Télécharger</strong> et décompresser dans votre répertoire <a href="https://github.com/aoineko-fr/MSXgl/releases">la dernière version de la librairie</a>,<br />
- ou <strong>Cloner</strong> le dépôt Git <a href="https://github.com/aoineko-fr/MSXgl.git">https://github.com/aoineko-fr/MSXgl.git</a> (tag <!-- START HTML -->
<tt>v0.8.0-alpha</tt>
<!-- END HTML -->),<br />
<br />
3️⃣ <em>(Optionnel)</em> Si vous voulez utiliser l'option d'auto-démarrage d'un émulateur pour tester votre programme:<br />
- <strong>Editer</strong> le fichier <!-- START HTML -->
<tt>MSXgl/projects/default_config.js</tt>
<!-- END HTML --> <em>(la configuration par défaut du Build tool)</em>,<br />
- <strong>Chercher</strong> "<!-- START HTML -->
<tt>Emulator</tt>
<!-- END HTML -->", <strong>mettre</strong> le chemin vers votre émulateur préféré et mettre "<!-- START HTML -->
<tt>DoRun = true;</tt>
<!-- END HTML -->".<br />
<em><span style="text-decoration: underline;">Note</span> : Les options du fichier <!-- START HTML -->
<tt>default_config.js</tt>
<!-- END HTML --> peuvent être écrasé par les valeurs données dans fichier de configuration d'un projet (<!-- START HTML -->
<tt>project_config.js</tt>
<!-- END HTML -->).</em><br />
<br />
✅ <strong>Et voilà!</strong> Vous pouvez maintenant tester l'un des nombreux programmes d'exemple ou commencer à créer votre propre programme.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-structure-de-fichiers">Structure de fichiers</h3><br />

<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>engine</tt>
<!-- END HTML --> : MSXgl library<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>content</tt>
<!-- END HTML --> : Data ready to include (font, math table)<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>datasrc</tt>
<!-- END HTML --> : Data source<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>doc</tt>
<!-- END HTML --> : Documentation<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>lib</tt>
<!-- END HTML --> : Static library binaries (perhaps one day...)<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>script</tt>
<!-- END HTML --> : Build Tool scripts<br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>src</tt>
<!-- END HTML --> : Library sources (.c and .h)<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>projects</tt>
<!-- END HTML --> : Programs<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>example</tt>
<!-- END HTML --> : Game example<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>samples</tt>
<!-- END HTML --> : Sample programs (VDP, PSG, Sprite, ...)<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>targets</tt>
<!-- END HTML --> : Samples to test all target (ROM, DOS, BASIC)<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>template</tt>
<!-- END HTML --> : MSX 1 template sample (can be use as base to create a new program)<br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>template_msx2</tt>
<!-- END HTML --> : MSX2 template sample (can be use as base to create a new program)<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>tools</tt>
<!-- END HTML --> : Tools<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>MSXtk</tt>
<!-- END HTML --> : MSX tool kit utilities (MSXhex is used in the build process)<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>audio</tt>
<!-- END HTML --> : Tools used with audio<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>build</tt>
<!-- END HTML --> : Tools used by the Build tool<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>compress</tt>
<!-- END HTML --> : Tools used to compress data<br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>sdcc</tt>
<!-- END HTML --> : SDCC (binaries for Windows and Linux, and z80 lib)<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-programmes-d-exemples-samples">Programmes d'exemples (samples)</h2><br />

<strong>MSXgl</strong> fournis un grand nombre de programmes d'exemple pour illustrer l'utilisation des différents modules.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-projets-d-exemple">Projets d'exemple</h3><br />

MSXgl fournis 3 projets d'exemple qui peuvent servir de base pour votre propre projet.<br />
<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>projects</tt>
<!-- END HTML --><br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>example</tt>
<!-- END HTML --> : Example de jeu.<br />
<!-- START HTML -->
<tt>├─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>template</tt>
<!-- END HTML --> : Base pour un programme MSX1.<br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>template_msx2</tt>
<!-- END HTML --> : Base pour un programme MSX2.<br />
<br />
Pour tester ces projets, aller dans l'un de ces répertoires et exécuter le script <!-- START HTML -->
<tt>build.bat</tt>
<!-- END HTML --> sous Windows ou <!-- START HTML -->
<tt>./build.sh</tt>
<!-- END HTML --> sous Linux et macOS.<br />
<br />
Le fichier final devrait se trouver dans le sous répertoire <!-- START HTML -->
<tt>/emul/</tt>
<!-- END HTML -->.<br />
<br />
Par ex., dans le cas du projet <!-- START HTML -->
<tt>tamplate</tt>
<!-- END HTML --> qui est configuré pour créer une ROM de 32 Ko, le fichier final se trouve dans <!-- START HTML -->
<tt>projects/tamplate/emul/rom/template.rom</tt>
<!-- END HTML -->.<br />
Tester cette ROM avec votre émulateur préféré.<br />
<br />
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.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-codes-d-exemple">Codes d'exemple</h3><br />

<!-- START HTML -->

<div>
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_text.jpg" title="Text mode sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_draw.jpg" title="Drawn function sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_psg.jpg" title="PSG control sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_game.png" title="Game template sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_scroll.png" title="Tile-based scrolling sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_print.jpg" title="Print text sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprite.jpg" title="MSX2 sprite sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_clock.jpg" title="Realtime Clock sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swsprt.png" title="Software sprite sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vdpcmd.jpg" title="VDP commands sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_wyz.png" title="WYZ replayer sample" />
<img width="24%" src="https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_math.jpg" title="Mathematics sample" />
</div>

<!-- END HTML --><br />
Pour éviter d'avoir un répertoire pour chaque exemple, la procédure de test des nombreux exemples contenu dans le répertoire <!-- START HTML -->
<tt>samples</tt>
<!-- END HTML --> est légèrement différente.<br />
<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>projects</tt>
<!-- END HTML --><br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>samples</tt>
<!-- END HTML --><br />
<br />
C'est toujours le script <!-- START HTML -->
<tt>build.bat</tt>
<!-- END HTML --> sous Windows ou <!-- START HTML -->
<tt>./build.sh</tt>
<!-- END HTML --> 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.<br />
<br />
Par ex., pour générer le programme d'exemple qui montre l'utilisation du module Game qui s'appelle <!-- START HTML -->
<tt>s_game</tt>
<!-- END HTML -->, il faut utiliser la ligne de commande : "<!-- START HTML -->
<tt>build.bat s_game</tt>
<!-- END HTML -->" (ou "<!-- START HTML -->
<tt>./build.sh s_game</tt>
<!-- END HTML -->" sur Linux ou macOS).<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-formats-cibles">Formats cibles</h3><br />

Le répertoire <!-- START HTML -->
<tt>targets</tt>
<!-- END HTML --> permet de tester tous les formats de sortie (ROM, DOS, BASIC).<br />
<br />
<i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>projects</tt>
<!-- END HTML --><br />
<!-- START HTML -->
<tt>└─</tt>
<!-- END HTML --><i class="fa fa-folder" aria-hidden="true" title="folder"></i> <!-- START HTML -->
<tt>targets</tt>
<!-- END HTML --><br />
<br />
La génération se fait également avec le script <!-- START HTML -->
<tt>build.bat</tt>
<!-- END HTML --> sous Windows ou <!-- START HTML -->
<tt>./build.sh</tt>
<!-- END HTML --> sous Linux et macOS, mais il faut préciser dans la ligne de commande le format cible choixi.<br />
<br />
Par ex., pour générer le programme pour MSX-DOS 2,  il faut utiliser la ligne de commande : "<!-- START HTML -->
<tt>build.bat DOS2</tt>
<!-- END HTML -->" (ou "<!-- START HTML -->
<tt>./build.sh DOS2</tt>
<!-- END HTML -->" sur Linux ou macOS). Pour une MegaROM ASCII8 de 128 Ko, il faut utiliser "<!-- START HTML -->
<tt>build.bat ROM_ASCII8</tt>
<!-- END HTML -->".]]></description>
			<pubDate>Wed, 26 Mar 2025 10:04:33 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Programmation C]]></title>
			<link>https://msxvillage.fr/wiki/programmation-c</link>
			<guid>https://msxvillage.fr/wiki/programmation-c</guid>
			<description><![CDATA[Articles sur le language C.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-compilateurs">Compilateurs</h2><br />

<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-sur-msx">Sur MSX</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">ALFA-C
    </li><li class="formatter-li">ASCII MSX-C
    </li><li class="formatter-li">BDS-C
    </li><li class="formatter-li">Hitech C Compiler for CP/M
    </li><li class="formatter-li">SOLiD C<br />
</li></ul><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-compilateurs-cross-plateforme">Compilateurs cross-plateforme</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">ccZ80
    </li><li class="formatter-li">ccZ80++
    </li><li class="formatter-li">Hitech Cross-Compiler
    </li><li class="formatter-li"><a href="https://msxvillage.fr/wiki/sdcc">SDCC</a>
    </li><li class="formatter-li">z88dk<br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-librairies">Librairies</h2><br />

Chaque compilateur implémente une librairie plus ou moins complète et plus ou moins proche de la librairie standard.<br />
Les librairies listées ci-dessous implémentes elles des fonctionnalités spécifiques au MSX :<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-basees-sur-sdcc">Basées sur SDCC</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li">Avelino Herrera
    </li><li class="formatter-li">Fusion-C
    </li><li class="formatter-li">Konamiman
    </li><li class="formatter-li"><a href="https://msxvillage.fr/wiki/msxgl">MSXgl</a>
    </li><li class="formatter-li">rlengine (retrodeluxe engine)
    </li><li class="formatter-li">SolidC
    </li><li class="formatter-li">ubox<br />
</li></ul>]]></description>
			<pubDate>Sat, 21 Jan 2023 09:30:33 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[SDCC]]></title>
			<link>https://msxvillage.fr/wiki/sdcc</link>
			<guid>https://msxvillage.fr/wiki/sdcc</guid>
			<description><![CDATA[<strong>SDCC</strong> est une suite de compilateur qui implémente une version optimisé du Standard C (ANSI C89, ISO C99, ISO C11) pour le processeur Zilog Z80 (parmi d'autres CPU).<br />
Il est composé de plusieurs outils dont un compilateur C (basé sur GCC), un assembleur (basé sur asxxxx) et un linker.<br />
<br />
Site internet : <a href="http://sdcc.sourceforge.net/">http://sdcc.sourceforge.net/</a>]]></description>
			<pubDate>Sat, 21 Jan 2023 09:25:41 +0100</pubDate>
			
		</item>
		
	</channel>
</rss>
