Here is a list of sample programs included with MSXgl to illustrate how to use the library’s various features and functions.
To test a sample program, follow these steps:
-  Open a command-line interface in the MSXgl/projects/samples/ directory.
-  Run one of the following commands, depending on your operating system:
-  build.bat s_game (Windows) 
-  ./build.sh s_game (Linux & macOS)
 
Replace s_game with the name of the sample you wish to test (there’s no need to include the .c file extension).
Note: Sample programs use a configuration system that overwrites the default project settings (project_config.js) with a sample-specific configuration file (e.g., s_game.js). This approach allows multiple projects to coexist in the same directory without conflicts.
For standalone projects, this step is unnecessary. To learn how to set up your own project from scratch, see this guide.
Core
Hello World
Program showing the minimal code needed to display a "Hello World!" text.
 
 
  32K
 32K  
BIOS
Program showing the use of default BIOS functions.
-  Showcased modules:
-  File: s_bios.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Clock
Program showing the use of the MSX2's Real Time Clock (Ricoh RP-5C01) to get current time and save/load data from CMOS memory.
-  Showcased modules:
-  File: s_clock.c
-  State: ✔️ Functional
 
 
  32K
 32K  
PSG
Program showing the use of direct control over PSG sound chip.
-  Showcased modules:
-  File: s_psg.c
-  State: ✔️ Functional
 
 
  32K
 32K  
System
Program showing the retrieval of system information.
 
 
  32K
 32K  
Render
Draw
Program showing the use of Draw module with the MSX2 bitmap screen modes.
-  Showcased modules:
-  File: s_draw.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Graph Mode 3
Program showing the use of Screen 4 (aka Graph mode 3) with various configuration (including unofficial MSX configurations like "Screen 1.5").
-  Showcased modules:
-  File: s_gm3.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Print
Program showing the use of graphical print features (bitmap, sprite, effects, etc.).
-  Showcased modules:
-  File: s_print.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Scrolling
Program showing the use of multi-directionnal tile-based scrolling and screen adjust register for smooth scrolling.
-  Showcased modules:
-  File: s_scroll.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Sprite Mode 1
Program showing the use of sprite mode 1 and a Sprite Attribute Table flip method to reduce sprite disappearance.
-  Showcased modules:
-  File: s_sm1.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Sprite Mode 2
Program demonstrating the use of sprite mode 2 (including multi-colors) and split screen using the horizontal interrupt to modify VDP parameters during screen rendering.
-  Showcased modules:
-  File: s_sprite.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Sprite FX
Program showing the use of Sprite Tool module to modify sprite data (support Cropping, Flipping, Asking and Rotating).
-  Showcased modules:
-  File: s_sprtfx.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Software Sprite
Program showing the use of software sprite for all bitmap modes using VDP commands.
-  Showcased modules:
-  File: s_swsprt.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Software Tile
Program showing the use of software tile mode for MSX2 bitmap modes (only Screen 5 & 8 has been tested).
-  Showcased modules:
-  File: s_swtile.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Text
Program showing the use of print module with text modes (all MSX1 and MSX2 text/tiled mode).
-  Showcased modules:
-  File: s_text.c
-  State: ✔️ Functional
 
 
VDP Command
Program showing the use of VDP command to draw several effect in all bitmap modes.
-  Showcased modules:
-  File: s_vdpcmd.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Target format
Boot Disk
Program showing the use boot disk target format. The program will be start from disk without going through MSX-DOS but allow to use BDOS function.
-  Showcased modules:
-  File: s_dos0.c
-  State: ❓ Partially functional
 
 
  BOOT
 BOOT  
MSX-DOS
Program showing the use of MSX-DOS 1 routines to load and display image from file.
-  Showcased modules:
-  File: s_dos.c
-  State: ✔️ Functional
 
 
MSX-DOS 2
Program showing the use of various MSX-DOS 2 routines to load and display image, get disk information or handle mapped memory.
-  Showcased modules:
-  File: s_dos2.c
-  State: ✔️ Functional
 
 
  MSX-DOS 2
 MSX-DOS 2  
Mapped ROM
Program showing usage of mapped ROM and segments switching.
 
 
  ASCII8 128K
 ASCII8 128K  
NEO mapper
Program showing usage of NEO-8 mapped ROM and segments switching.
 
 
  NEO8 8M
 NEO8 8M  
Utilities
BASIC USR
Program showing the creation of binary to be load and used from BASIC.
-  Showcased modules:
-  File: s_usr.c
-  State: ✔️ Functional
 
 
Compressor
Program showing the use of several compression algorithms (RLEp, Bitbuster 1 & 2, ZX0 and Pletter).
-  Showcased modules:
-  File: s_zip.c
-  State: ✔️ Functional
 
 
  MSX-DOS
 MSX-DOS  
Driver
Program showing the creation of the driver, a code designed to be placed in memory and executed from a main program. Used in #MSX-DOS 2 sample.
 
 
Encryption
Program showing the use of an encoding system to encrypt data. Useful for creating backup codes, for example.
-  Showcased modules:
-  File: s_crypt.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Game
Program showing the use of Game state and Game pawn modules. The Game state module offers state management while Game pawn allows to manage characters (display, animation, movement, collision, etc.)
-  Showcased modules:
-  File: s_game.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Localize
Demonstration of the localization management module with support for multiple languages and management of different character sets.
-  Showcased modules:
-  File: s_loc.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Math
Program showing the use of mathematics pre-computed tables, pseudo-random generator and quick-computation functions.
-  Showcased modules:
-  File: s_math.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Program showing the use of Menu module.
-  Showcased modules:
-  File: s_menu.c
-  State: ❓ Partially functional
 
 
  32K
 32K  
QR Code
Program showing the use of QR Code module.
-  Showcased modules:
-  File: s_qrcode.c
-  State: ✔️ Functional
 
 
  32K
 32K  
QR Code Tiny
Program showing the use of QR Code Tiny module (version optimized for fixed size).
-  Showcased modules:
-  File: s_qrtiny.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Save
Program showing the use of data save from cartridge (supporting floppy disk and PAC cartridge).
-  Showcased modules:
-  File: s_save.c
-  State: ✔️ Functional
 
 
  32K
 32K  
WaveGame
Program demonstrate the use WaveGame feature for the Pico+ cartridge.
-  Showcased modules:
-  File: s_wavegm.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Devices
Joystick
Program showing the use of joystick and input manager.
-  Showcased modules:
-  File: s_joystk.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Keyboard
Program showing the use of keyboard and input manager.
-  Showcased modules:
-  File: s_keybrd.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Mouse
Program showing the use of mouse device and universal port (joystick port) device detection.
-  Showcased modules:
-  File: s_mouse.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Ninja Tap
Program showing the use of NinjaTap device to connect up to 8 joysticks on one MSX machine.
-  Showcased modules:
-  File: s_ntap.c
-  State: ✔️ Functional
 
 
JoyMega
Program showing the use of JoyMega adapter to use 8 buttons Megadrive joystick on MSX.
-  Showcased modules:
-  File: s_jmega.c
-  State: ✔️ Functional
 
 
Lightgun
Program showing the use of 'ASCII Plus-X Terminator' and 'MHT Gun-Stick' lightguns on MSX.
-  Showcased modules:
-  File: s_lgun.c
-  State: ❓ Partially functional
 
 
  32K
 32K  
ObsoNET
Program showing the use of ObsoNET cartridge using network stack.
-  Showcased modules:
-  File: s_onet.c
-  State: 🚧 Work in progress
 
 
  16K
 16K OBSONET
 
PAC
Program showing the use of PAC or FM-PAC to load/save data into SRAM.
-  Showcased modules:
-  File: s_pac.c
-  State: ✔️ Functional
 
 
Paddle
Program showing the use of Arkanoid Vaus Paddle module.
-  Showcased modules:
-  File: s_paddle.c
-  State: ✔️ Functional
 
 
  48K (ISR)
 48K (ISR) PADDLE
 
V9990
Program showing the use of Yamaha V9990 based video cartridge.
-  Showcased modules:
-  File: s_v9990.c
-  State: ✔️ Functional
 
 
Audio Format
Arkos
Program to demonstrate the use of the different Arkos Tracker (AT2 and AT3) music replayers.
-  Showcased modules:
-  File: s_arkos.c
-  State: ✔️ Functional
 
 
  ASCII8 128K
 ASCII8 128K  
ayFX
Program showing the use of ayFX sound effect replayer (both using a bank or a single sound file).
-  Showcased modules:
-  File: s_ayfx.c
-  State: ✔️ Functional
 
 
  32K
 32K  
lVGM
Program showing the use of light-VGM's replayer (PSG).
-  Showcased modules:
-  File: s_lvgm.c
-  State: ✔️ Functional
 
 
  MSX-DOS 2
 MSX-DOS 2  
NDP
Program showing the use of NDP replayer (PSG).
-  Showcased modules:
-  File: s_ndp.c
-  State: ✔️ Functional
 
 
  32K
 32K  
PCM-Encoder
Program showing the use of the PCM Encoder's replayer (aka. Crystal clean PCM 8bit samples on the poor PSG
).
-  Showcased modules:
-  File: s_pcmenc.c
-  State: ✔️ Functional
 
 
  32K
 32K  
PCM Play
Program showing the use of the PCM Play's replayer.
-  Showcased modules:
-  File: s_pcmplay.c
-  State: ✔️ Functional
 
 
  32K
 32K  
PT3
Program showing the use of Vortex Tracker II's replayer.
-  Showcased modules:
-  File: s_pt3.c
-  State: ✔️ Functional
 
 
  32K
 32K  
Trilo Tracker SCC
Program showing the use of Trilo Tracker SCC's replayer.
-  Showcased modules:
-  File: s_trilo.c
-  State: ✔️ Functional
 
 
VGM
Program showing the use of VGM's replayer (PSG, SCC, MSX-Music, MSX-Audio).
-  Showcased modules:
-  File: s_vgm.c
-  State: ✔️ Functional
 
 
WYZ
Program showing the use of WYZ Tracker's replayer (version 0.3).
-  Showcased modules:
-  File: s_wyz.c
-  State: ✔️ Functional
 
 
  32K
 32K  
WYZ2
Program showing the use of WYZ Tracker's replayer (version 0.3 47d).
-  Showcased modules:
-  File: s_wyz2.c
-  State: ✔️ Functional
 
 
  32K
 32K