|Status||Released and Playable|
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.
- Atari 7800
- Coleco Adam Home Computer
- Texas Instruments 99/4A Home Computer
- Tandy Color Computer
- Odyssey 2
- Apple II Family (][, ][e, //c)
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.
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 ti99_4a.zip.
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>
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 menu.
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.
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.
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.
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.