Skip to content

Adding a New System

Vitorio edited this page Nov 3, 2013 · 7 revisions

Hey, this page is super deprecated, now. Please don't follow it. See How to write a new 0.142 makefile instead.


So, you want to add a new system to JSMESS? Here's some tips.

Overview

To add a new system to the JSMESS makefile, do the following:

  • Create a new sub-makefile for the system with the filename ./make/systemname.mak. At the minimum, this file needs a variable called MESS_ARGS that specifies the arguments to pass to MESS. Add any system-specific Makefile variables to this file (e.g. if your system needs a BIOS file, set the BIOS makefile variable in this file to some standardized filename). If your system needs nothing special, make it a blank file.
  • Create a SUBTARGET Makefile and driver list for MESS in ./mess/src/mess with the name systemname.mak and systemname.lst. Check out the existing ColecoVision files for more information.

Creating the SUBTARGET Makefile

Poke Nintendud on IRC, and he'll write this subsection up. It's been awhile...

Testing

Before you go building your system for the browser (and suffering through long compile times), try building it natively first with make SYSTEM=yoursystemhere NATIVE_DEBUG=1. This will produce a file (like messyoursystemhere) inside of the mess directory. You can run this directly from the command line. This is probably the best way for you to figure out the correct command line options to use in your template to load up a game.

Note that you may need to do a make clean in the mess subdirectory of JSMESS to clear out any files compiled by emscripten if you have compiled a JSMESS build target previously.

You may find that the system simply does not work, or does not work correctly. MESS supports many systems, and not all of them work properly!