Difference between revisions of "What is MSXgl?"

From MSX Game Library

Line 11: Line 11:
  
 
The Buil tool allows in 1 click to create a final program for a large number of formats:  
 
The Buil tool allows in 1 click to create a final program for a large number of formats:  
* Plain ROM from 8K ~ 64K (interrupt handler can be install in page 0)
+
* Plain ROM from 8K ~ 64K (interrupt handler can be install in page 0),
* Mapped ROM from 64K to 4096K (ASCII-8, ASCII-16, Konami and Konami SCC)
+
* Mapped ROM from 64K to 4096K (ASCII-8, ASCII-16, Konami and Konami SCC),
* MSX-DOS 1 or 2 binary program
+
* MSX-DOS 1 or 2 binary program,
* BASIC binary program
+
* BASIC binary program.
  
 +
The library supports the following devices: VDP (TMS9918 and V9938), PSG (AY-3-8910), Keyboard/Joystick, ROM mapper, slot manager, and Real Time Clock (RP-5C01).
  
 
+
Here are also the supported audio formats:
 
+
* PT3 (Vortex Tracker II)
 
+
* ayFX
== Details ==
+
* VGM (AY-3-8910 only)
 
+
* PCM-Encoder (aka. ''Crystal clean PCM 8bit samples on the poor PSG'')
The library target all generation of MSX machines (with more or less complete support for specific features):
 
* MSX1 (99%)
 
* MSX2 (99%)
 
* MSX2+ (50%)
 
* MSX trubo R (10%)
 
 
 
 
 
* VDP: TMS9918 and V9938
 
* PSG: AY-3-8910
 
* RTC: RP-5C01 (MSX2)
 
 
 
It also offers the possibility to generate a program for a wide variety of formats:
 
* Plain ROM (8K~64K)
 
* Mapped ROM (64K~4096K in ASCII8/16 and Konami/SCC)
 
* MSX-DOS binary 1/2
 
* BASIC binary
 
  
  

Revision as of 22:50, 13 January 2022

MSXGL is a Game Library wrote in C and targeting MSX computers.

The goal of this library is to offer to C programmers, the whole set of functionalities to create a game with high performances.
Even if a C program can never be at the level of a program 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 could be 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.

The Buil tool allows in 1 click to create a final program for a large number of formats:

  • Plain ROM from 8K ~ 64K (interrupt handler can be install in page 0),
  • Mapped ROM from 64K to 4096K (ASCII-8, ASCII-16, Konami and Konami SCC),
  • MSX-DOS 1 or 2 binary program,
  • BASIC binary program.

The library supports the following devices: VDP (TMS9918 and V9938), PSG (AY-3-8910), Keyboard/Joystick, ROM mapper, slot manager, and Real Time Clock (RP-5C01).

Here are also the supported audio formats:

  • PT3 (Vortex Tracker II)
  • ayFX
  • VGM (AY-3-8910 only)
  • PCM-Encoder (aka. Crystal clean PCM 8bit samples on the poor PSG)


Directories

📁 engine MSXgl library
├─📁 content Data ready to include (font, math table)
├─📁 datasrc Data source
├─📁 doc Documentation
├─📁 lib
├─📁 script Build Tool scripts
└─📁 src Library sources (.c and .h)
📁 projects ...
├─📁 samples Sample programs (VDP, PSG, Sprite, ...)
├─📁 targets Samples to test all target (ROM, DOS)
└─📁 template Template sample (can be use as base to create a new program)
📁 tools ...
├─📁 audio
├─📁 build
└─📁 sdcc