**MSXgl is a Game Library wrote in C and targeting MSX computers.** The purpose of this library is to provide C programmers with the **whole set of functionalities to make a game** with high performance. Even though 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 goal, the **library is dynamically compiled** to allow the user to configure the functionalities to best suit his needs. Also, the most expensive features are written in assembler. The other goal was to create a library that is **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 remain on page 0. **Many sample programs** are available to demonstrate the different features of the library.
The MSXgl Build Tool allows you to create a final program for a **large number of formats** with just 1 click: * **Plain ROM** from 8K to 64K (interrupt handler can be installed in page 0), * **Mapped ROM** 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 (4 joysticks adaptator), * 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 chip) * lVGM (a light-VGM format for for all supported audio chip) * PCM-Encoder (aka. _Crystal clean PCM 8bit samples on the poor PSG_) Many thanks to the members of the [MSX Resource Center](https://www.msx.org) and [MSX Village](https://msxvillage.fr) who have been very helpful. The library is distributed under the Creative Commons BY-SA license. Tools or sources from other authors may use another free license. Documentation: * Code documentation: /engine/doc/html/ or https://aoineko.org/msxgl-doc * Library documentation: https://aoineko.org/msxgl If you have any question, feel free to join the [MSXgl Discord server](https://discord.gg/pMeadGfv8E).

This work is licensed under CC BY-SA 4.0