Difference between revisions of "Samples"
From MSX Game Library
(→Target format) |
|||
(95 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). |
+ | |||
+ | <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 | ||
+ | |name=Hello | ||
+ | |desc=Program showing the minimal code needed to display a text. | ||
+ | |module1= | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_hello.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_hello.jpg | ||
+ | }} | ||
=== BIOS === | === BIOS === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=BIOS | |
− | + | |desc=Program showing the use of default BIOS functions. | |
− | + | |module1=bios | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_bios.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_bios.jpg | ||
+ | }} | ||
=== Clock === | === Clock === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=Clock | |
− | + | |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 | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_clock.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_clock.jpg | ||
+ | }} | ||
− | === | + | === PSG === |
− | + | {{SAMPLE_BOX | |
− | + | |name=PSG | |
− | + | |desc=Program showing the use of direct control over PSG sound chip. | |
− | + | |module1=psg | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_psg.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_psg.jpg | ||
+ | }} | ||
+ | |||
+ | === System === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=System | ||
+ | |desc=Program showing the retrieval of system information. | ||
+ | |module1= | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_sys.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sys.jpg | ||
+ | }} | ||
+ | |||
+ | == Render == | ||
=== Draw === | === Draw === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=Draw | |
− | + | |desc=Program showing the use of Draw module with the MSX2 bitmap screen modes. | |
− | + | |module1=vdp | |
− | + | |module2=draw | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_draw.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_draw.jpg | ||
+ | }} | ||
+ | |||
+ | === Graph Mode 3 === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Graph Mode 3 | ||
+ | |desc=Program showing the use of Screen 4 (aka Graph mode 3) with various configuration (including unofficial MSX configurations like "Screen 1.5"). | ||
+ | |module1=vdp | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_gm3.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_gm3_2.png | ||
+ | }} | ||
+ | |||
+ | === Print === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Print | ||
+ | |desc=Program showing the use of graphical print features (bitmap, sprite, effects, etc.). | ||
+ | |module1=print | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_print.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_print.jpg | ||
+ | }} | ||
− | === | + | === Sprite Mode 1 === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Sprite | |
− | + | |desc=Program showing the use of sprite mode 1 and a Sprite Attribute Table flip method to reduce sprite disappearance. | |
− | + | |module1=vdp | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_sm1.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sm1.jpg | ||
+ | }} | ||
+ | |||
+ | === Sprite Mode 2 === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Sprite | ||
+ | |desc=Program showing the use of sprite mode 2 and split screen to change VDP setting during screen rendering. | ||
+ | |module1=vdp | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_sprite.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_sprite.jpg | ||
+ | }} | ||
+ | |||
+ | === 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 | ||
+ | |name=Software Sprite | ||
+ | |desc=Program showing the use of software sprite for all bitmap modes using VDP commands. | ||
+ | |module1=vdp | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_swsprt.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swsprt.png | ||
+ | }} | ||
+ | |||
+ | === Software Tile === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Software Tile | ||
+ | |desc=Program showing the use of software tile mode for MSX2 bitmap modes (only Screen 5 & 8 has been tested). | ||
+ | |module1=vdp | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_swtile.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_swtile.png | ||
+ | }} | ||
+ | |||
+ | === Text === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Text | ||
+ | |desc=Program showing the use of print module with text modes (all MSX1 and MSX2 text/tiled mode). | ||
+ | |module1=print | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_text.c | ||
+ | |machine=MSX12 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_text.jpg | ||
+ | }} | ||
+ | |||
+ | === VDP Command === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=VDP | ||
+ | |desc=Program showing the use of VDP command to draw several effect in all bitmap modes. | ||
+ | |module1=vdp | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_vdpcmd.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vdpcmd.jpg | ||
+ | }} | ||
+ | |||
+ | == Target format == | ||
+ | |||
+ | === Boot Disk === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Boot Disk | ||
+ | |desc=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. | ||
+ | |module1=dos | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_dos0.c | ||
+ | |machine=MSX2 | ||
+ | |target=DOS0 | ||
+ | |ext= | ||
+ | |state=Partial | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | === MSX-DOS === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=MSX-DOS | ||
+ | |desc=Program showing the use of MSX-DOS 1 routines to load and display image from file. | ||
+ | |module1=dos | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_dos.c | ||
+ | |machine=MSX22+ | ||
+ | |target=DOS1 | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | === MSX-DOS 2 === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=MSX-DOS 2 | ||
+ | |desc=Program showing the use of various MSX-DOS 2 routines to load and display image, get disk information or handle mapped memory. | ||
+ | |module1=dos | ||
+ | |module2=dos_mapper | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_dos2.c | ||
+ | |machine=MSX2 | ||
+ | |target=DOS2 | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | === Mapped ROM === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Mapped ROM | ||
+ | |desc=Program showing usage of mapped ROM and segments switching. | ||
+ | |module1= | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_mapper.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_ASCII8_128K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | === NEO mapper === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=NEO mapper | ||
+ | |desc=Program showing usage of NEO-8 mapped ROM and segments switching. | ||
+ | |module1= | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_neo0.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_NEO8_8M | ||
+ | |ext= | ||
+ | |state=WIP | ||
+ | |img= | ||
+ | }} | ||
+ | |||
+ | == Utilities == | ||
+ | |||
+ | === BASIC USR === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=BASIC USR | ||
+ | |desc=Program showing the creation of binary to be load and used from BASIC. | ||
+ | |module1=basic_usr | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |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 | ||
+ | |target=DOS1 | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
− | === | + | === Game === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Game | |
− | + | |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=game | |
− | + | |module2=game_pawn | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_game.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_game.png | ||
+ | }} | ||
− | === | + | === Localize === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Localize | |
− | + | |desc=Show case of the localization handling module. | |
− | + | |module1=localize | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_loc.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_loc.png | ||
+ | }} | ||
=== Math === | === Math === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=Math | |
− | + | |desc=Program showing the use of mathematics pre-computed tables, pseudo-random generator and quick-computation functions. | |
− | + | |module1=math | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_math.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_math.jpg | ||
+ | }} | ||
+ | |||
+ | === Scrolling === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Scrolling | ||
+ | |desc=Program showing the use of multi-directionnal tile-based scrolling and screen adjust register for smooth scrolling. | ||
+ | |module1=vdp | ||
+ | |module2=scroll | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_scroll.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_scroll.png | ||
+ | }} | ||
− | === | + | == Devices == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | === Joystick === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Joystick | |
− | + | |desc=Program showing the use of joystick and input manager. | |
− | + | |module1=input | |
− | + | |module2=input_manager | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_joystk.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_joystick.jpg | ||
+ | }} | ||
− | === | + | === Keyboard === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Keyboard | |
− | + | |desc=Program showing the use of keyboard and input manager. | |
− | + | |module1=input | |
− | + | |module2=input_manager | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_keybrd.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_keyboard.jpg | ||
+ | }} | ||
− | === | + | === Mouse === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Mouse | |
− | + | |desc=Program showing the use of mouse device and universal port (joystick port) device detection. | |
− | + | |module1=input | |
− | + | |module2= | |
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_mouse.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
− | === | + | === Ninja Tap === |
− | + | {{SAMPLE_BOX | |
− | + | |name=Ninja Tap | |
− | + | |desc=Program showing the use of NinjaTap device to connect up to 8 joysticks on one MSX machine. | |
− | + | |module1=device/ninjatap | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_ntap.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext={{NINJATAP}} | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ntap.png | ||
+ | }} | ||
− | === | + | === ObsoNET === |
− | + | {{SAMPLE_BOX | |
− | + | |name=ObsoNET | |
− | + | |desc=Program showing the use of ObsoNET cartridge using network stack. | |
− | + | |module1=network/obsonet | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_onet.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_16K | ||
+ | |ext= | ||
+ | |state=Partial | ||
+ | |img= | ||
+ | }} | ||
− | === | + | === PAC === |
− | + | {{SAMPLE_BOX | |
− | + | |name=PAC | |
− | + | |desc=Program showing the use of PAC or FM-PAC to load/save data into SRAM. | |
− | + | |module1=device/pac | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_pac.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext={{PAC}} | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pac.png | ||
+ | }} | ||
− | === | + | === V9990 === |
− | + | {{SAMPLE_BOX | |
− | + | |name=V9990 | |
− | + | |desc=Program showing the use of Yamaha V9990 based video cartridge. | |
+ | |module1=v9990 | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_v9990.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext={{V9990}} | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_v9990.png | ||
+ | }} | ||
== Audio Format == | == Audio Format == | ||
=== Arkos === | === Arkos === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=Arkos | |
− | + | |desc=Program showing the use of Arkos Tracker II's replayers. | |
+ | |module1=arkos/akg_player | ||
+ | |module2=arkos/akm_player | ||
+ | |module3=arkos/aky_player | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_arkos.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_ASCII8_128K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_arkos.png | ||
+ | }} | ||
=== ayFX === | === ayFX === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=ayFX | |
− | + | |desc=Program showing the use of ayFX's replayer. | |
− | + | |module1=ayfx/ayfx_player | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_ayfx.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_ayfx.jpg | ||
+ | }} | ||
+ | |||
+ | === lVGM === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Light VGM | ||
+ | |desc=Program showing the use of light-VGM's replayer (PSG). | ||
+ | |module1=lvgm/lvgm_player | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_lvgm.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
=== PCM-Encoder === | === PCM-Encoder === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=PCM Encoder | |
− | + | |desc=Program showing the use of the PCM Encoder's replayer (aka. ''Crystal clean PCM 8bit samples on the poor PSG''). | |
− | + | |module1=pcm/pcmenc | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_pcmenc.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pcm.jpg | ||
+ | }} | ||
+ | |||
+ | === PCM Play === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=PCM Play | ||
+ | |desc=Program showing the use of the PCM Play's replayer. | ||
+ | |module1=pcm/pcmplay | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_pcmplay.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
=== PT3 === | === PT3 === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=PT3 | |
− | + | |desc=Program showing the use of Vortex Tracker II's replayer. | |
− | + | |module1=pt3/pt3_player | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_pt3.c | ||
+ | |machine=MSX2 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_pt3.jpg | ||
+ | }} | ||
+ | |||
+ | === Trilo Tracker SCC === | ||
+ | {{SAMPLE_BOX | ||
+ | |name=Trilo Tracker SCC | ||
+ | |desc=Program showing the use of Trilo Tracker SCC's replayer. | ||
+ | |module1=trilo/trilo_scc_player | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_trilo.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_KONAMI_SCC_128K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img= | ||
+ | }} | ||
=== VGM === | === VGM === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=VGM | |
− | + | |desc=Program showing the use of VGM's replayer (PSG, SCC, MSX-Music, MSX-Audio). | |
− | + | |module1=vgm/vgm_player | |
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_vgm.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_ASCII16_256K | ||
+ | |ext={{SCC}} {{MSXMUSIC}} {{MSXAUDIO}} | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_vgm.jpg | ||
+ | }} | ||
=== WYZ === | === WYZ === | ||
− | + | {{SAMPLE_BOX | |
− | + | |name=WYZ | |
− | + | |desc=Program showing the use of WYZ Tracker's replayer (version 0.3). | |
− | + | |module1=wyz/wyz_player | |
− | + | |module2= | |
− | == | + | |module3= |
− | + | |module4= | |
− | + | |module5= | |
− | + | |file=s_wyz.c | |
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |img=raw.githubusercontent.com/aoineko-fr/MSXgl/main/engine/doc/img/sample_wyz.png | ||
+ | }} | ||
− | == | + | === WYZ2 === |
− | + | {{SAMPLE_BOX | |
− | + | |name=WYZ2 | |
− | + | |desc=Program showing the use of WYZ Tracker's replayer (version 0.3 47d). | |
+ | |module1=wyz/wyz_player2 | ||
+ | |module2= | ||
+ | |module3= | ||
+ | |module4= | ||
+ | |module5= | ||
+ | |file=s_wyz2.c | ||
+ | |machine=MSX1 | ||
+ | |target=ROM_32K | ||
+ | |ext= | ||
+ | |state=Functional | ||
+ | |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)