aoineko-fr / MSXgl

The MSX Game Library in C language
118 stars 13 forks source link
c game-engine msx msxgl tms9918 v9938 v9958 v9990 z80

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:

The library supports the following devices:

Here are also the supported audio formats:

Many thanks to the members of the MSX Resource Center and MSX Village 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:

If you have any question, feel free to join the MSXgl Discord server.