Create my first program

From MSX Game Library

Revision as of 22:38, 26 December 2022 by Aoineko (talk | contribs) (β†’β€ŽChange program content)

Test template program

First try to compile and run the template program:

  • Go to MSXgl\projects\template (or template_msx2 if you target MSX2 computer)
  • Execute build.bat (Windows) or ./build.sh (Linux)
  • Go to MSXgl\projects\template\emul\rom, check if template.rom exists and try it on your MSX machine or emulator.

Note: If you have configured an emulator path in MSXgl\projects\default_config.js, you can edit project_config.js and change "DoRun = false;" to "DoRun = true;" to allow auto-launch of the built program.

Create your project directory

Now that everything work well, let's create your own program.

You can sure start a new project from scratch, but for this example lets duplicate template (or template_msx2) directory, and rename it mygame.

Rename template.c to mygame.c.

Your project directory should look like:

πŸ“ projects
β””β”€πŸ“ mygame Your project directory
  β”œβ”€ build.bat Launch Build tool (Windows)
  β”œβ”€ build.sh Launch Build tool (Linux)
  β”œβ”€ msxgl_config.h Library configuration
  β”œβ”€ mygame.c Your program source code
  β””─ project_config.js Build tool configuration

Setup Build Tool

Edit project_config.js:

  • Change ProjName to "mygame".
  • Set Machine to the minimal version of MSX hardware you want to support for your program. Let's say "1" for .
  • Set Target to your target format. Let's say ROM_48K (ROM on page 0, 1 and 2 with page 1 & 2 selected at startup).
  • If you have configured an emulator path in MSXgl\projects\default_config.js, set DoRun to true to allow auto-launch (easier to test your program).
  • Execute build.bat, check the emul\rom directory for mygame.rom and test it.

Many other build options can be defined in project_config.js. See the options list.

Setup program

  • msxgl_config.h file contains many options to configure the library to better suit your needs.

Change program content

Here it all depends on the type of game you want to play.

TBC...