MSXgl is a game library written in C and intended for MSX computers. The goal of this library is to give C programmers the full feature set to create a high-performance game. Although a C program can never be as efficient as a program written entirely in Assembler, the goal is to try to get as close as possible. To achieve this, the library is dynamically compiled to allow the user to configure the features according to their needs. Additionally, the most resource-intensive features are written in Assembler. The other goal was to create a library that was totally independent of the BIOS. This makes it much easier to use the 16K of page 0. The library also provides interrupt handling code to create ROMs that always stay on page 0. There are many example programs available to demonstrate the different features.
- MSXgl Demo
Thanks to an advanced compilation tool it is possible to easily create the final program for a large number of formats:
- Plain ROM 8K to 64K (Interrupt Handler can be installed on page 0)
- ROM mapped from 64K to 4096K (ASCII-8, ASCII-16, Konami and Konami SCC mappers)
- MSX-DOS 1 or 2 binary program
- BASIC binary program.
The library supports the following devices:
- VDP (TMS9918, V9938 and V9958) and V9990
- PSG (AY-3-8910), MSX-Music, MSX-Audio, Konami SCC
- Keyboard, Joystick, Mouse and Ninja Tap (adapter for 4 joysticks)
- ROM mapper, slot manager and Real Time Clock (RP-5C01).
Here are also the supported audio formats:
- Arkos Tracker 2 (AKG, AKY and AKM)
- Trilo Tracker SCC
- Vortex Tracker II (PT3)
- WYZ Tracker (WYZ)
- ayFX
- VGM (for all supported audio chips)
- lVGM (a lightweight VGM format for PSG)
- PCM
- Encoder (aka. clean and crystal clear 8bit PCM samples on the poor PSG)
To conclude this brief description, it is important to point out that the library is constantly updated, both in the core and in the documentation. It is also possible to get support through the very active community on the discord channel that you will find at this address: https://discord.com/channels/920822639059148851/
You can find the documentation from the following links:
- Code documentation: https://aoineko.org/msxgl-doc
- Library documentation: https://aoineko.org/msxgl
- GitHub: aoineko-fr/MSXgl: The MSX Game Library in C language (https://github.com/aoineko-fr/MSXgl)
For those interested theMSX Italy Association created a R&D working group on C programming for MSX. For more info:associazioneMSXitalia@gmail.com














0 Comments