One on one in MESS
Download(s) (archive)
Developer(s) MESS
Version 0.14
Status Released and Playable
Webpage Author's Site

gp2xmess is a port of the excellent MESS emulator (more specifically the xmess code base) to the gp2x handheld. It is based off xmess 0.102.


Supported systems/consoles

  • Atari 7800
  • Colecovision
  • Coleco Adam Home Computer
  • Texas Instruments 99/4A Home Computer
  • Tandy Color Computer
  • Odyssey 2
  • Apple II Family (][, ][e, //c)

Running gp2xmess

   Currently you have to use a launcher script to run gp2xmess with
   the appropriate arguments. In the future I hope to add a system
   select menu when the emulator first starts up but for the time being
   you need to use a launcher script. These are provided.  
   Tested systems will have a .gpe startup script included with the
   gp2xmess package. The launcher scripts follow the convention
   system_name.gpe. i.e. a7800.gpe for the Atari 7800 emulator. a7800
   is the mess driver name.
   The gp2xmess package *DOES NOT* come with the BIOS roms or any
   software for emulated systems. It is up to the user to hunt these
   down due to copyrights. Please do not ask me for these.  All needed 
   bios zip files should be placed in the bios subdirectory which 
   should have been provided and empty in the gp2xmess package.  Do
   *NOT* unzip them.  Just place the zip file for the BIOS in the 
   bios directory.  The BIOS zip file has to be the same name as the
   driver you are trying to run.  If you are unsure of the driver name
   the .gpe launcher is always named the same.

For instance:

       The Texas Instruments 99/4A driver is called ti99_4a.  The gpe
       launcher file for this driver is called ti99_4a.gpe (by my convention).
       xmess requires that the BIOS file also be named in the same manner.
       In this case it would be

Some systems will prompt for an intial cart or disk to bootstrap the system. In this case a file selection dialog will come up prompting for the file to use. While using the emulated system the main menu is used for further file selection/changes.</nowiki>


Gp2xMESS Screenshots

gp2xmess Controls/Input

Main menu

       Once in gp2xmess by default the left "shoulder" button will toggle the
       main menu. The joystick up/down moves through the menu and the 'A'
       button selects. These can all be remapped if desired via the Input
       menus. Seem the mess readme for more details.

From here you can:

  • Map any of the inputs to any button you wish both for the current system and globally for all systems.
  • Restart the emulated system
  • Use the file manager to select a new cart/rom/disk image/save state
  • Set gp2xmess options like cpu clock speed, joystick configuration, etc (not implemented yet)
  • Exit gp2xmess

File selection dialog

Moving the joystick up
move the selection pointer up
Moving the joystick down
move the selection pointer down
Pressing the A button
cd into a directory if selected or use the file as input for the emulator if selected
Pressing the Start Button
exits the program

To get past any OK dialogs that may pop up, you can move the joystick left and then right to dismiss them.

   The volume buttons are by default mapped to control the volume. If
   and when systems that will look better in a vertical orientation are
   supported (vectrex) the volume buttons can be mapped to another input 
   just like any other button if desired.

gp2xmess virtual keyboard

   gp2xmess uses a virtual on screen keyboard to allow input to both gp2xmess
   and the emulated system being run.  The default mapping of the virtual
   keyboard is the right "shoulder" button.  This can be remapped to a different
   joystick button if desired (though not recommended) via the input mapping
   The keyboard emulation has 2 modes.  You can toggle between these 2 modes by
   using the virtual keyboard's Scroll Lock key ('sl').  This behaves exactly
   as it does in the standard mess/xmess software.  Pressing Scroll Lock toggles
   between the keyboard input going to gp2xmess itself (the UI portion) and
   sending all of the keyboard input to the emulated system.
   For example by default the 'P' key is mapped to 'Pause' within the gp2xmess
   GUI.  This pauses the emulated system.  When using the emulated system you 
   will not want the P to do that but rather enter a P as if you had typed it 
   on the system you are emulating.  You toggle this mode by pressing the Scroll
   Lock key.  A short popup dialog will show you which mode you are in when
   pressing the Scroll Lock key.  It is *highly* recommended that you do not
   remap this key within the UI.
   Any joystick button can be mapped to a key within the emulated system.  Doing
   this means that the keyboard key that normally would do the same is no longer
   able to do this.  What you need to do is after mapping, for example, the '1'
   key to the 'X' button on the GP2X be sure to then also map the '1' key to the
   '1' key using the virtual keyboard.  This insures that both methods will input
   a '1' into the emulated system.
   Currently the keyboard that is displayed is a (mostly) full PC keyboard
   layout.  Each emulated system that uses a keyboard has it's own mapping
   for mapping it's keyboard to a PC keyboard.  In the future I plan on
   displaying the keyboard layout as seen on the emulated system to make it
   easier for the user to know which key is what.
   The shift, ctrl, and alt keys are toggles.  When selected they act as if they
   were being held down.  A red rectangle is drawn around them when they are
   being held down.  To simulate an actual press of the button, select the key
   and press the 'A' button twice.
   When the shift key is pressed the shifted keys should be displayed on screen.

gp2xmess driver compatibility/notes

Unless a driver is listed here it hasn't been tested/tried yet.

a7800 (Atari 7800)

This driver runs at a decent speed but does suffer from some slow down. Optimization is on-going. Overclocking brings this driver almost to full speed.

       xmess will not run without a cartridge inserted in this system so a file
       selection dialog will appear before starting the emulation.  Here you will 
       choose the initial cartridge to use and after that the main menu can be 
       used for changing cartridge images.

coleco (Colecovision)

This driver runs quite well. Games tested so far run at close to full speed with the default frameskip.

  • The '1' button is currently mapped to the Start button on the gp2x.

ti99_4a (Texas Instruments 99/4A Home Computer)

This driver runs quite well. Games tested so far run at full speed with the default frameskip.

  • The '1' button is currently mapped to the Start button on the gp2x.
  • The '2' button is currently mapped to the Select button on the gp2x.

coco (Tandy Color Computer)

This driver runs OK, somewhat slow. Overclocking helps here. Color BASIC 1.0 doesn't seem to support disk commands so you can't run those. I did find some .pak snapshots that run such as pooyan.pak. I have yet to find a BASIC program that runs without syntax errors so I'm assuming that extended color BASIC would run these.

Odessey 2

Driver works but compatibility with the current mess source low. I was able to get golf, hockey, bowling, skiing, and few others to work fine. KC Munchkin and Pick Axe Pete do not. Collision detection seems to be spotty also. I have downloaded the specs for the intel 8048 and other related odyssey2 docs and hope to work on the actual driver.

Apple II

Got the apple2 screen centered and looking good. Had to go to an even multiple of 320x240 to get a good looking display. The gp2xmess menu rect is missing the left side, but it still looks good.

These drivers run somewhat slow but so far compatibility seems very good. Overclocking helps w/ emulation speed. Your best bet for compatibility is to try the 2e and 2c drivers first.

This release (0.9) is also the first one using paeryn's awesome HW accellerated SDL which was necessary for the Apple 2 driver to even run. The virtual keyboard w/ the scaled resolutions doesn't look as crisp as the systems that are at or below 320x240. I'm working on that and hope to have it resolved soon.

Personal tools