Difference between revisions of "Samples"
From MSX Game Library
(→Target format) |
|||
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Here is a list of sample programs supplied with '''MSXgl''' to demonstrate the use of the library's various functions. | |
− | + | To try out the different samples, simply open a command line in the <tt>MSXgl/projects/samples/</tt> directory and execute: | |
+ | * <tt>build.bat s_game</tt> (Windows) | ||
+ | * <tt>./build.sh s_game</tt> (Linux & macOS) | ||
− | + | Replace "<tt>s_game</tt>" with the name of the sample you want to try out (sample's <tt>.c</tt> file extension is not needed). | |
− | ==== Hello World | + | <u>Note:</u> Samples use a system to overwrites the project configuration (<tt>project_config.js</tt>) with a sample-specific configuration file (e.g. <tt>s_game.js</tt>). This makes it possible to have several projects in the same directory. This is not necessary for a stand-alone project. See how to [[Create my first program|create your own new program]]. |
+ | |||
+ | == Core == | ||
+ | |||
+ | === Hello World === | ||
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Hello | |name=Hello | ||
Line 18: | Line 24: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_hello.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_hello.jpg | ||
}} | }} | ||
− | + | === BIOS === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=BIOS | |name=BIOS | ||
Line 35: | Line 41: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_bios.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_bios.jpg | ||
}} | }} | ||
− | + | === Clock === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Clock | |name=Clock | ||
− | |desc=Program showing the use of the Real Time Clock (Ricoh RP-5C01) to get current time and save/load from CMOS memory. | + | |desc=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. |
|module1=clock | |module1=clock | ||
|module2= | |module2= | ||
Line 52: | Line 58: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_clock.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_clock.jpg | ||
}} | }} | ||
− | + | === PSG === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=PSG | |name=PSG | ||
Line 69: | Line 75: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_psg.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_psg.jpg | ||
}} | }} | ||
− | + | === System === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=System | |name=System | ||
Line 86: | Line 92: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sys.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sys.jpg | ||
}} | }} | ||
− | + | == Render == | |
− | + | === Draw === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Draw | |name=Draw | ||
Line 105: | Line 111: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_draw.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_draw.jpg | ||
}} | }} | ||
− | + | === Graph Mode 3 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Graph Mode 3 | |name=Graph Mode 3 | ||
Line 122: | Line 128: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/ | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_gm3_2.png |
}} | }} | ||
− | + | === Print === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Print | |name=Print | ||
Line 139: | Line 145: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_print.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_print.jpg | ||
}} | }} | ||
− | + | === Sprite Mode 1 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Sprite | |name=Sprite | ||
Line 156: | Line 162: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sm1.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sm1.jpg | ||
}} | }} | ||
− | + | === Sprite Mode 2 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Sprite | |name=Sprite | ||
Line 173: | Line 179: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprite.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprite.jpg | ||
}} | }} | ||
− | ==== Software Sprite | + | === Sprite FX === |
+ | {{SAMPLE_BOX | ||
+ | |name=Sprite FX | ||
+ | |desc=Program showing the use of Sprite Tool module to modify sprite data (support Cropping, Flipping, Asking and Rotating). | ||
+ | |module1=sprite_fx | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_sprtfx.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprttool.gif | ||
+ | }} | ||
+ | |||
+ | === Software Sprite === | ||
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Software Sprite | |name=Software Sprite | ||
Line 190: | Line 213: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swsprt.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swsprt.png | ||
}} | }} | ||
− | + | === Software Tile === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Software Tile | |name=Software Tile | ||
Line 207: | Line 230: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swtile.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swtile.png | ||
}} | }} | ||
− | + | === Text === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Text | |name=Text | ||
Line 224: | Line 247: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_text.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_text.jpg | ||
}} | }} | ||
− | + | === VDP Command === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=VDP | |name=VDP | ||
Line 241: | Line 264: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vdpcmd.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vdpcmd.jpg | ||
}} | }} | ||
− | + | == Target format == | |
− | + | === Boot Disk === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Boot Disk | |name=Boot Disk | ||
Line 264: | Line 287: | ||
}} | }} | ||
− | + | === MSX-DOS === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=MSX-DOS | |name=MSX-DOS | ||
Line 277: | Line 300: | ||
|target=DOS1 | |target=DOS1 | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === MSX-DOS 2 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=MSX-DOS 2 | |name=MSX-DOS 2 | ||
Line 294: | Line 317: | ||
|target=DOS2 | |target=DOS2 | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === Mapped ROM === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Mapped ROM | |name=Mapped ROM | ||
Line 309: | Line 332: | ||
|file=s_mapper.c | |file=s_mapper.c | ||
|machine=MSX1 | |machine=MSX1 | ||
− | |target= | + | |target=ROM_ASCII8_128K |
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | === | + | === NEO mapper === |
− | |||
− | |||
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=NEO mapper |
− | |desc=Program showing | + | |desc=Program showing usage of NEO-8 mapped ROM and segments switching. |
− | |module1= | + | |module1= |
− | |module2= | + | |module2= |
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_neo0.c |
|machine=MSX1 | |machine=MSX1 | ||
− | |target= | + | |target=ROM_NEO8_8M |
|ext= | |ext= | ||
− | |state= | + | |state=WIP |
− | |img= | + | |img= |
}} | }} | ||
− | ==== | + | == Utilities == |
+ | |||
+ | === BASIC USR === | ||
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=BASIC USR |
− | |desc=Program showing the | + | |desc=Program showing the creation of binary to be load and used from BASIC. |
− | |module1= | + | |module1=basic_usr |
|module2= | |module2= | ||
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_usr.c |
+ | |machine=MSX1 | ||
+ | |target=BIN_USR | ||
+ | |ext={{NINJATAP}} | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | === Compressor === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Compressor | ||
+ | |desc=Program showing the use of several compression algorithms (RLEp, Bitbuster 1 & 2, ZX0 and Pletter). | ||
+ | |module1=compress | ||
+ | |module2=compress/bitbuster | ||
+ | |module3=compress/bitbuster2 | ||
+ | |module4=compress/zx0 | ||
+ | |module5=compress/pletter | ||
+ | |file=s_zip.c | ||
|machine=MSX2 | |machine=MSX2 | ||
− | |target= | + | |target=DOS1 |
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img= | + | |img= |
}} | }} | ||
− | === | + | === Game === |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=Game |
− | |desc=Program showing the use of | + | |desc=Program showing the use of Game and Game pawn modules. The Game module offers state management while Game pawn allows to manage characters (display, animation, movement, collision, etc.) |
− | |module1= | + | |module1=game |
− | |module2= | + | |module2=game_pawn |
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_game.c |
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/ | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_game.png |
}} | }} | ||
− | === | + | === Localize === |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=Localize |
− | |desc= | + | |desc=Show case of the localization handling module. |
− | |module1= | + | |module1=localize |
|module2= | |module2= | ||
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_loc.c |
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img= | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_loc.png |
}} | }} | ||
− | === | + | === Math === |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=Math |
− | |desc=. | + | |desc=Program showing the use of mathematics pre-computed tables, pseudo-random generator and quick-computation functions. |
− | |module1= | + | |module1=math |
|module2= | |module2= | ||
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_math.c |
− | |machine= | + | |machine=MSX2 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img= | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_math.jpg |
}} | }} | ||
− | === | + | === Scrolling === |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
− | |name= | + | |name=Scrolling |
− | |desc=. | + | |desc=Program showing the use of multi-directionnal tile-based scrolling and screen adjust register for smooth scrolling. |
− | |module1= | + | |module1=vdp |
− | |module2= | + | |module2=scroll |
|module3= | |module3= | ||
|module4= | |module4= | ||
|module5= | |module5= | ||
− | |file= | + | |file=s_scroll.c |
− | |machine= | + | |machine=MSX2 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |img= | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_scroll.png |
}} | }} | ||
− | + | == Devices == | |
− | + | === Joystick === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Joystick | |name=Joystick | ||
|desc=Program showing the use of joystick and input manager. | |desc=Program showing the use of joystick and input manager. | ||
− | |module1= | + | |module1=input |
− | |module2= | + | |module2=input_manager |
|module3= | |module3= | ||
|module4= | |module4= | ||
Line 434: | Line 474: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_joystick.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_joystick.jpg | ||
}} | }} | ||
− | + | === Keyboard === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Keyboard | |name=Keyboard | ||
|desc=Program showing the use of keyboard and input manager. | |desc=Program showing the use of keyboard and input manager. | ||
− | |module1= | + | |module1=input |
− | |module2= | + | |module2=input_manager |
|module3= | |module3= | ||
|module4= | |module4= | ||
Line 451: | Line 491: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_keyboard.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_keyboard.jpg | ||
}} | }} | ||
− | + | === Mouse === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Mouse | |name=Mouse | ||
− | |desc=. | + | |desc=Program showing the use of mouse device and universal port (joystick port) device detection. |
− | |module1= | + | |module1=input |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 465: | Line 505: | ||
|module5= | |module5= | ||
|file=s_mouse.c | |file=s_mouse.c | ||
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === Ninja Tap === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Ninja Tap | |name=Ninja Tap | ||
− | |desc=Program showing the use of NinjaTap device. | + | |desc=Program showing the use of NinjaTap device to connect up to 8 joysticks on one MSX machine. |
− | |module1= | + | |module1=device/ninjatap |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 484: | Line 524: | ||
|machine=MSX1 | |machine=MSX1 | ||
|target=ROM_32K | |target=ROM_32K | ||
− | |ext={{ | + | |ext={{NINJATAP}} |
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ntap.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ntap.png | ||
}} | }} | ||
− | + | === ObsoNET === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=ObsoNET | |name=ObsoNET | ||
− | |desc=. | + | |desc=Program showing the use of ObsoNET cartridge using network stack. |
− | |module1= | + | |module1=network/obsonet |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 499: | Line 539: | ||
|module5= | |module5= | ||
|file=s_onet.c | |file=s_onet.c | ||
− | |machine= | + | |machine=MSX1 |
− | |target= | + | |target=ROM_16K |
|ext= | |ext= | ||
|state=Partial | |state=Partial | ||
Line 506: | Line 546: | ||
}} | }} | ||
− | + | === PAC === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=PAC | |name=PAC | ||
− | |desc=. | + | |desc=Program showing the use of PAC or FM-PAC to load/save data into SRAM. |
− | |module1= | + | |module1=device/pac |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 519: | Line 559: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext={{PAC}} | |ext={{PAC}} | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pac.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pac.png | ||
}} | }} | ||
− | + | === V9990 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=V9990 | |name=V9990 | ||
− | |desc=. | + | |desc=Program showing the use of Yamaha V9990 based video cartridge. |
− | |module1= | + | |module1=v9990 |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 533: | Line 573: | ||
|module5= | |module5= | ||
|file=s_v9990.c | |file=s_v9990.c | ||
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
− | |ext= | + | |ext={{V9990}} |
− | |state= | + | |state=Functional |
− | |img= | + | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_v9990.png |
}} | }} | ||
− | + | == Audio Format == | |
− | + | === Arkos === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Arkos | |name=Arkos | ||
− | |desc= | + | |desc=Program showing the use of Arkos Tracker II's replayers. |
− | |module1= | + | |module1=arkos/akg_player |
− | |module2= | + | |module2=arkos/akm_player |
− | |module3= | + | |module3=arkos/aky_player |
|module4= | |module4= | ||
|module5= | |module5= | ||
|file=s_arkos.c | |file=s_arkos.c | ||
|machine=MSX1 | |machine=MSX1 | ||
− | |target= | + | |target=ROM_ASCII8_128K |
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_arkos.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_arkos.png | ||
}} | }} | ||
− | + | === ayFX === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=ayFX | |name=ayFX | ||
− | |desc= | + | |desc=Program showing the use of ayFX's replayer. |
− | |module1= | + | |module1=ayfx/ayfx_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 572: | Line 612: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ayfx.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ayfx.jpg | ||
}} | }} | ||
− | + | === lVGM === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Light VGM | |name=Light VGM | ||
− | |desc=. | + | |desc=Program showing the use of light-VGM's replayer (PSG). |
− | |module1= | + | |module1=lvgm/lvgm_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 586: | Line 626: | ||
|module5= | |module5= | ||
|file=s_lvgm.c | |file=s_lvgm.c | ||
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === PCM-Encoder === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=PCM Encoder | |name=PCM Encoder | ||
− | |desc=. | + | |desc=Program showing the use of the PCM Encoder's replayer (aka. ''Crystal clean PCM 8bit samples on the poor PSG''). |
− | |module1= | + | |module1=pcm/pcmenc |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 606: | Line 646: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pcm.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pcm.jpg | ||
}} | }} | ||
− | + | === PCM Play === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=PCM Play | |name=PCM Play | ||
− | |desc=. | + | |desc=Program showing the use of the PCM Play's replayer. |
− | |module1= | + | |module1=pcm/pcmplay |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 620: | Line 660: | ||
|module5= | |module5= | ||
|file=s_pcmplay.c | |file=s_pcmplay.c | ||
− | |machine= | + | |machine=MSX1 |
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === PT3 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=PT3 | |name=PT3 | ||
− | |desc= | + | |desc=Program showing the use of Vortex Tracker II's replayer. |
− | |module1= | + | |module1=pt3/pt3_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 640: | Line 680: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pt3.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pt3.jpg | ||
}} | }} | ||
− | + | === Trilo Tracker SCC === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=Trilo Tracker SCC | |name=Trilo Tracker SCC | ||
− | |desc=. | + | |desc=Program showing the use of Trilo Tracker SCC's replayer. |
− | |module1= | + | |module1=trilo/trilo_scc_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 654: | Line 694: | ||
|module5= | |module5= | ||
|file=s_trilo.c | |file=s_trilo.c | ||
− | |machine= | + | |machine=MSX1 |
− | |target= | + | |target=ROM_KONAMI_SCC_128K |
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img= | |img= | ||
}} | }} | ||
− | + | === VGM === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=VGM | |name=VGM | ||
− | |desc= | + | |desc=Program showing the use of VGM's replayer (PSG, SCC, MSX-Music, MSX-Audio). |
− | |module1= | + | |module1=vgm/vgm_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 672: | Line 712: | ||
|file=s_vgm.c | |file=s_vgm.c | ||
|machine=MSX1 | |machine=MSX1 | ||
− | |target= | + | |target=ROM_ASCII16_256K |
− | |ext= | + | |ext={{SCC}} {{MSXMUSIC}} {{MSXAUDIO}} |
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vgm.jpg | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vgm.jpg | ||
}} | }} | ||
− | + | === WYZ === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=WYZ | |name=WYZ | ||
− | |desc= | + | |desc=Program showing the use of WYZ Tracker's replayer (version 0.3). |
− | |module1= | + | |module1=wyz/wyz_player |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 691: | Line 731: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
|img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_wyz.png | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_wyz.png | ||
}} | }} | ||
− | + | === WYZ2 === | |
{{SAMPLE_BOX | {{SAMPLE_BOX | ||
|name=WYZ2 | |name=WYZ2 | ||
− | |desc=. | + | |desc=Program showing the use of WYZ Tracker's replayer (version 0.3 47d). |
− | |module1= | + | |module1=wyz/wyz_player2 |
|module2= | |module2= | ||
|module3= | |module3= | ||
Line 708: | Line 748: | ||
|target=ROM_32K | |target=ROM_32K | ||
|ext= | |ext= | ||
− | |state= | + | |state=Functional |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|img= | |img= | ||
}} | }} |
Latest revision as of 22:20, 13 January 2024
Here is a list of sample programs supplied with MSXgl to demonstrate the use of the library's various functions.
To try out the different samples, simply open a command line in the MSXgl/projects/samples/ directory and execute:
- build.bat s_game (Windows)
- ./build.sh s_game (Linux & macOS)
Replace "s_game" with the name of the sample you want to try out (sample's .c file extension is not needed).
Note: Samples use a system to overwrites the project configuration (project_config.js) with a sample-specific configuration file (e.g. s_game.js). This makes it possible to have several projects in the same directory. This is not necessary for a stand-alone project. See how to create your own new program.
Core
Hello World
BIOS
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_bios.jpg)
Program showing the use of default BIOS functions.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Clock
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_clock.jpg)
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.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
PSG
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_psg.jpg)
Program showing the use of direct control over PSG sound chip.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
System
Render
Draw
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_draw.jpg)
Program showing the use of Draw module with the MSX2 bitmap screen modes.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Graph Mode 3
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_gm3_2.png)
Program showing the use of Screen 4 (aka Graph mode 3) with various configuration (including unofficial MSX configurations like "Screen 1.5").
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_print.jpg)
Program showing the use of graphical print features (bitmap, sprite, effects, etc.).
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Sprite Mode 1
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sm1.jpg)
Program showing the use of sprite mode 1 and a Sprite Attribute Table flip method to reduce sprite disappearance.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Sprite Mode 2
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprite.jpg)
Program showing the use of sprite mode 2 and split screen to change VDP setting during screen rendering.
- Showcased modules:
- File: s_sprite.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Sprite FX
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprttool.gif)
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
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Software Sprite
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swsprt.png)
Program showing the use of software sprite for all bitmap modes using VDP commands.
- Showcased modules:
- File: s_swsprt.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Software Tile
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swtile.png)
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
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Text
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_text.jpg)
Program showing the use of print module with text modes (all MSX1 and MSX2 text/tiled mode).
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
VDP Command
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vdpcmd.jpg)
Program showing the use of VDP command to draw several effect in all bitmap modes.
- Showcased modules:
- File: s_vdpcmd.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Target format
Boot Disk
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
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.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/2dd-logo.png)
MSX-DOS
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of MSX-DOS 1 routines to load and display image from file.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/MSX2+-Logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/2dd-logo.png)
MSX-DOS 2
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of various MSX-DOS 2 routines to load and display image, get disk information or handle mapped memory.
- Showcased modules:
- dos (code)
- dos_mapper (code)
- File: s_dos2.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/2dd-logo.png)
Mapped ROM
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing usage of mapped ROM and segments switching.
- File: s_mapper.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Mapped-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/megarom-logo.png)
NEO mapper
Utilities
BASIC USR
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the creation of binary to be load and used from BASIC.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/2dd-logo.png)
![Ninja Tap](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/ninjatap-logo.png)
Compressor
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of several compression algorithms (RLEp, Bitbuster 1 & 2, ZX0 and Pletter).
- Showcased modules:
- File: s_zip.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/2dd-logo.png)
Game
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_game.png)
Program showing the use of Game and Game pawn modules. The Game module offers state management while Game pawn allows to manage characters (display, animation, movement, collision, etc.)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Localize
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_loc.png)
Show case of the localization handling module.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Math
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_math.jpg)
Program showing the use of mathematics pre-computed tables, pseudo-random generator and quick-computation functions.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Scrolling
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_scroll.png)
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
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Devices
Joystick
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_joystick.jpg)
Program showing the use of joystick and input manager.
- Showcased modules:
- input (code)
- input_manager (code)
- File: s_joystk.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Keyboard
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_keyboard.jpg)
Program showing the use of keyboard and input manager.
- Showcased modules:
- input (code)
- input_manager (code)
- File: s_keybrd.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Mouse
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of mouse device and universal port (joystick port) device detection.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Ninja Tap
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ntap.png)
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
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
![Ninja Tap](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/ninjatap-logo.png)
ObsoNET
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of ObsoNET cartridge using network stack.
- Showcased modules:
- File: s_onet.c
- State: ❓ Partially functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
PAC
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pac.png)
Program showing the use of PAC or FM-PAC to load/save data into SRAM.
- Showcased modules:
- File: s_pac.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
![PAC SRAM storage](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/pac-logo.png)
V9990
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_v9990.png)
Program showing the use of Yamaha V9990 based video cartridge.
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
![V9990](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/v9990-logo.png)
Audio Format
Arkos
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_arkos.png)
Program showing the use of Arkos Tracker II's replayers.
- Showcased modules:
- File: s_arkos.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Mapped-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/megarom-logo.png)
ayFX
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ayfx.jpg)
Program showing the use of ayFX's replayer.
- Showcased modules:
- File: s_ayfx.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
lVGM
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of light-VGM's replayer (PSG).
- Showcased modules:
- File: s_lvgm.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
PCM-Encoder
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pcm.jpg)
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
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
PCM Play
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of the PCM Play's replayer.
- Showcased modules:
- File: s_pcmplay.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
PT3
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pt3.jpg)
Program showing the use of Vortex Tracker II's replayer.
- Showcased modules:
- File: s_pt3.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx2-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
Trilo Tracker SCC
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of Trilo Tracker SCC's replayer.
- Showcased modules:
- File: s_trilo.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Mapped-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/megarom-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/scc_logo.png)
VGM
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vgm.jpg)
Program showing the use of VGM's replayer (PSG, SCC, MSX-Music, MSX-Audio).
- Showcased modules:
- File: s_vgm.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Mapped-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/megarom-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/scc_logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-music-logo.png)
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-audio-logo.png)
WYZ
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_wyz.png)
Program showing the use of WYZ Tracker's replayer (version 0.3).
- Showcased modules:
- File: s_wyz.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)
WYZ2
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/noimage.png)
Program showing the use of WYZ Tracker's replayer (version 0.3 47d).
- Showcased modules:
- File: s_wyz2.c
- State: ✔️ Functional
![](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/msx-logo.png)
![Plain-ROM cartridge](https://raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/logo/rom-logo.png)