MSXgl
Table des matières
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).
- Version actuelle: 0.8.0 Alpha
- Version de SDCC: 4.2.0 (embarquée), 4.2.8 (testée)
- Author: Guillaume "Aoineko" Blanchard
- License: Creative Commons BY-SA 4.0
Fonctionnalités
Formats
A partir d'un même code en C, MSXgl peut générer un code binaire utilisable sur MSX dans divers format :
- ROM "pleine" (8, 16, 32, 48 ou 64 Ko).#1
- 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).
- Binaire (.com) pour MSX-DOS 1 ou MSX-DOS 2.
- Binaire (.bin) pour MSX BASIC.
Modules
Core
- bios: Gestion du BIOS
- clock: Horloge temps-réel du MSX2 (RP-5C01)
- dos: Fonctionnalités MSX-DOS 1 & 2 (gestion des fichiers, I/O de la console, etc.)
- input: Clavier, joystick, souris
- math: Fonctions mathématiques optimisées
- memory: Gestion de la mémoire
- print: Affichage de texte (module générique quelque soit le mode écran)
- string: Gestion des chaine de caractère
- system: Gestion des slots et des opérations binaire (sans passer par le BIOS)
Tools
- compress: Décompresseur RLEp (Pattern based RLE)
- compress/bitbuster: Décompresseur BitBuster (version 1.2)
- compress/bitbuster2: Décompresseur BitBuster 2 (version 2.0)
- compress/pletter: Décompresseur Pletter (version 0.5c1)
- compress/zx0: Décompresseur ZX0
- draw: Fonctions de dessin avancées
- game: Architecture de programme
- game_menu: Gestion des menus
- game_pawn: Gestion des entités du jeu (animation, déplacement, collision, etc.)
- input_manager: Gestion avancé des intpus
- scroll: Fonctions de scrolling
- device/ninjatap: Gestion du NinjaTap (pour brancher 4 joysticks par port)
Processeur vidéo
- vdp: Fonctionnalités pour les TMS9918, V9938 and V9958 (gestion des modes, I/O en VRAM, sprites, commandes, etc.)
- v9990: Gestion du Yamaha V9990
Processeur audio
- psg: Gestion du PSG (AY-3-8910, YM2149 or T7766A)
- msx-music: Gestion du MSX-Music (YM2413, FM-PAC)
- msx-audio: Gestion du MSX-Audio (Y8950 + YM3014, Music-Module)
- scc: Gestion du Konami SCC
Format audio
- arkos/akg_player: AGK pour Arkos Tracker II
- arkos/aky_player: AGY pour Arkos Tracker II
- arkos/akm_player: AGM pour Arkos Tracker II
- ayfx/ayfx_player: ayFX sound-effect
- lvgm/lvgm_player: Custom light-VGM music
- pcm/pcmenc: PCM-encoder
- pcm/pcmplay: PCM Play
- pt3/pt3_player: Vortex Tracker II
- trilo/trilo_scc_player: TriloTracker SCC
- vgm/vgm_player: VGM
- wyz/wyz_player: WYZ Tracker (based on version 47c)
- wyz/wyz_player2: WYZ Tracker (based on version 47d)