zerox86 - Frequently Asked Questions

General

Is zerox86 a version of DOSBox?

No, zerox86 is based on my Nintendo DS x86 emulator DSx86. It is built from scratch, and has very little in common with DOSBox.

Will you release the source code of zerox86?

Sorry, but zerox86 is closed source. I have licensed my 386 emulation core (which also zerox86 uses) commercially to a third party, and I do not think it is fair if I would release the same openly for free. However, some parts of the source code are free and publicly available, for example you can get my AdLib emulation sources from here. If you want to see the sources for some other feature in zerox86, you can always ask. I generally have nothing against releasing small snippets of my source code.

Usage

How do I install zerox86?

Here is a step-by-step guide, specifically for May 5 2014 firmware (other firmware versions may have different directory structure).

  1. Copy zerox86.opk from my download page to the apps (/media/data/apps) directory on your GCW0, using FTP or similar file transfer utility. For more information, see the Installing New Software section of the GCW-Zero Quick Start Guide.
  2. Decide where in the GCW0 directory structure you would like to copy your DOS games. I personally use a separate FAT-formatted SD card for all my DOS games. This will show up as /media/Kingston on my GCW0. You are free to choose a directory on the internal SD card of GCW0, for example /media/data/local/home/DOS or something similar.
  3. Get the default zerox86.ini from my download page, and edit the RootDir in zerox86.ini to have the full directory path to this DOS games directory you chose in the previous step. I use RootDir=/media/Kingston, you could have for example RootDir=/media/data/local/home/DOS or something similar.
  4. Get 4DOS.COM from http://rpix86.patrickaalto.com/4DOS.COM or from another link on my download page here, and copy it to the directory on your GCW0 you chose for the RootDir in the previous step.
  5. Launch zerox86 from the GCW0 menu (it is found under the emulators category), and you should be presented with the familiar DOS prompt.

What are the configuration options in zerox86.ini?

Here is a table describing the configuration options. The configuration file zerox86.ini should have a [zerox86] section, a [default] section, and then a number of game-specific sections. The game-specific sections should be named after the "Running EXE" shown on the key legend area of the screen while you are running the game.

Section [zerox86]
Name Since Description
RootDir 0.01 Directory to use as the C:\ root directory in zerox86. If not given, defaults to the home directory $HOME. This directory should contain 4DOS.COM.
LogFile 0.01 File to use for error logging. This file gets appended whenever an Unsupported Situation occurs. If you send this file to me, it will help me in fixing the game-specific issues in zerox86.
 
Other sections
Name Since Description
ANALOG 0.05 This configuration key is used to choose which device the analog nub of GCW-Zero should emulate. The possible values are MOUSE (the default), JOYSTICK and CURSORKEYS.
CDROM 0.05 This configuration key is used to select a directory on your SD card to be used as the contents of a CD-ROM drive visible as the D: drive in zerox86. If not given, there is no D: drive available.
KEY_* 0.01 Configuration keys starting with KEY_ will map a physical GCW-Zero button to a PC keyboard key. The available keys are: KEY_A, KEY_B, KEY_SELECT, KEY_START, KEY_RIGHT, KEY_LEFT, KEY_UP, KEY_DOWN, KEY_R, KEY_L, KEY_X, KEY_Y. The value should be a hexadecimal PC Keyboard Scan Code to map to that physical button. You can also use special scancode values LMB and RMB for left and right mouse buttons (since version 0.02), and JOYB1, JOYB2, JOYB3 and JOYB4 for joystick buttons (since version 0.05).
MHZ 0.06 Set emulation speed to approximate a 80386 running at the given clockspeed. To emulate the original PC, values between 1 and 4 are most likely useful. Any value outside the range 1 .. 79 will not cause any slowdown to the emulation speed. Use only integer values.
MouseXScale 0.03 Scaling factor for mouse movement in X direction. Default speed is 1.0. Values between 0.1 and 10 should work fine, smaller or larger than those may result in problems moving the mouse.
MouseYScale 0.03 Scaling factor for mouse movement in Y direction. Default speed is 1.0. Values between 0.1 and 10 should work fine, smaller or larger than those may result in problems moving the mouse.

Audio

How do I know what address and port to set in a game for SoundBlaster audio?

You can use the DOS command set on the DOS prompt to print environment strings, including the BLASTER environment variable. The value will be BLASTER=A220 I7 D1 T3, which translates to address=220, irq=7, dma=1 and type=3 (SoundBlaster 2.0).