Playing DOS Games in X1 using DOSBOX

Nullstring

Retired Recognized Developer
Jul 15, 2009
1,177
245
0
Baguio
www.jaysonragasa.net
Hello guys,

Earlier, I thought of playing old dos games in X1 using DOSBOX.

Some of my favorite DOS games was

Heretic
Descent
Dave
Skyroads
Commander Keen
and specially Lemmings!!

All of them can be found in DOSGAMESARCHIVE.com

Anyway, my problem is .. SPEED.

So I thought maybe we could help each other to make things faster specially on 3D games.

here's my dosbox config
PHP:
# This is the configurationfile for DOSBox 0.73.
# Lines starting with a # are commentlines.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen.
#      rotateright: Alternate screen rotation.
#       mapperfile: File used to load/save the key/event mappings from.
#       kbdtoolbar: First toolbar.
#      gametoolbar: Second toolbar.
#       settoolbar: Third toolbar. Note: frameskip and cycles values are drawn there.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.
#      sensitivity: Mouse sensitivity.
#    touchpadmouse: Emulate mouse with stylus moves on screen. Can fix mouse behavior in games that expect only relative mouse movement.
#          clickms: When in touchpad mode, left-click is sent after single-tap. This sets the delay in milliseconds between emulated mouse button down and up events.
#  rightclickdelay: Touchpad mode. If you tap and hold stylus for this milliseconds, right-click will be send instead of left. 0 to disable.
#        dpadmouse: Emulate mouse with D-Pad. Make sure to set corresponding mapper values for this to work. Up, down, left and right keys are autorotated.
#     forcetoolbar: Sometimes where's no space on screen to fit even a part of toolbar. This forces it to display. Also a key and a zone can be set for toggling.
# forcetransparent: Forced toolbar area, overlapping active screen part will be semitransparent.
#        forcezone: X, Y, width and height of 'force toolbar display' tapzone. No spaces please. See also hand_force_tlbr setting in mapper.txt
#      forceheight: Forced toolbar will have this height.

fullscreen=true
rotateright=true
mapperfile=mapper.txt
kbdtoolbar=toolbar.dbk
gametoolbar=game.dbk
settoolbar=set.dbk
usescancodes=false
sensitivity=200
touchpadmouse=false
clickms=50
rightclickdelay=700
dpadmouse=true
forcetoolbar=true
forcetransparent=true
forcezone=0,0,10,5
forceheight=52

[dosbox]
# language: Select another language file.
#  machine: The type of machine tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
captures=capture
memsize=72

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
#    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,the scaler will be used even if the result might not be desired.
#            Possible values: qvga, vga.

frameskip=4
aspect=false
scaler=vga

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
#            Possible values: full, dynamic, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond. Setting this value too high results in sound dropouts and lags. Cycles can be set in 2 ways:
#              'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.
#                              (Example: fixed 4000)
#              'max'           will allocate as much cycles as your computer is able to handle
#            
#            Possible values: fixed, max.
#   cycleup: Amount of cycles to increase/decrease with keycombo.
# cycledown: Setting it lower than 100 will be a percentage.

core=full
cputype=auto
cycles=max
cycleup=500
cycledown=500

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 2048, 4096, 8192, 1024, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=8000
blocksize=2048
prebuffer=10

[sblaster]
#  sbtype: Type of sblaster to emulate.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat or old might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast, old.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 22050, 49716, 44100, 48000, 32000, 16000, 11025, 8000.

sbtype=sbpro1
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=fast
oplrate=8000

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=8000
tandy=auto
tandyrate=8000
disney=true

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. (false is old style behaviour).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=true

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=auto

[autoexec]
# Lines in this section will be run at startup.
mount c "\Storage Card\DOSDrive\emu"
#imgmount c "\Storage Card\DOSDrive\EMU\Win98\W98.IMG" -t hdd -fs fat -size 512,63,16,518
C:
please wait .. uploading sample videos ..
 

indycar

Senior Member
Apr 10, 2010
531
75
0
Bohinjska Bela
tried nhl94 runs slow as hell keys are messed up and lacking "ALT", "ALT_gr" keys

tried to edit mapper.txt but no success with keys
tried to fine tune dosbox.conf no major progress made
 

indycar

Senior Member
Apr 10, 2010
531
75
0
Bohinjska Bela
this is the best what i have made so far
dosbox runs great gameplay on faceoff is quite smooth (some video lag)

Code:
# This is the configurationfile for DOSBox 0.73.

# Lines starting with a # are commentlines.

# They are used to (briefly) document the effect of each option.


[sdl]

#       fullscreen: Start dosbox directly in fullscreen.

#      rotateright: Alternate screen rotation.

#       mapperfile: File used to load/save the key/event mappings from.

#       kbdtoolbar: First toolbar.

#      gametoolbar: Second toolbar.

#       settoolbar: Third toolbar. Note: frameskip and cycles values are drawn there.

#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

#      sensitivity: Mouse sensitivity.

#    touchpadmouse: Emulate mouse with stylus moves on screen. Can fix mouse behavior in games that expect only relative mouse movement.

#          clickms: When in touchpad mode, left-click is sent after single-tap. This sets the delay in milliseconds between emulated mouse button down and up events.

#  rightclickdelay: Touchpad mode. If you tap and hold stylus for this milliseconds, right-click will be send instead of left. 0 to disable.

#        dpadmouse: Emulate mouse with D-Pad. Make sure to set corresponding mapper values for this to work. Up, down, left and right keys are autorotated.

#     forcetoolbar: Sometimes where's no space on screen to fit even a part of toolbar. This forces it to display. Also a key and a zone can be set for toggling.

# forcetransparent: Forced toolbar area, overlapping active screen part will be semitransparent.

#        forcezone: X, Y, width and height of 'force toolbar display' tapzone. No spaces please. See also hand_force_tlbr setting in mapper.txt

#      forceheight: Forced toolbar will have this height.



fullscreen=true

rotateright=true

mapperfile=mapper.txt

kbdtoolbar=toolbar.dbk

gametoolbar=game.dbk

settoolbar=set.dbk

usescancodes=false

sensitivity=200

touchpadmouse=true

clickms=50

rightclickdelay=700

dpadmouse=true

forcetoolbar=true

forcetransparent=false

forcezone=0,0,10,5

forceheight=12


[dosbox]

# language: Select another language file.

#  machine: The type of machine tries to emulate.

#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.

# captures: Directory where things like wave, midi, screenshot get captured.

#  memsize: Amount of memory DOSBox has in megabytes.

#             This value is best left at its default to avoid problems with some games,

#             though few games might require a higher value.

#             There is generally no speed advantage when raising this value.


language=

machine=svga_s3

captures=capture

memsize=32


[render]

# frameskip: How many frames DOSBox skips before drawing one.

#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.

#    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,the scaler will be used even if the result might not be desired.

#            Possible values: qvga, vga.



frameskip=3

aspect=false

scaler=vga



[cpu]

#      core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.

#            Possible values: full, dynamic, simple.

#   cputype: CPU Type used in emulation. auto is the fastest choice.

#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow.

#    cycles: Amount of instructions DOSBox tries to emulate each millisecond. Setting this value too high results in sound dropouts and lags. Cycles can be set in 2 ways:

#              'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.

#                              (Example: fixed 4000)

#              'max'           will allocate as much cycles as your computer is able to handle

#            Possible values: fixed, max.

#   cycleup: Amount of cycles to increase/decrease with keycombo.

# cycledown: Setting it lower than 100 will be a percentage.


core=full

cputype=auto

cycles=max

cycleup=500

cycledown=500


[mixer]

#   nosound: Enable silent mode, sound is still emulated though.

#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.

#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.

# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.

#            Possible values: 2048, 4096, 8192, 1024, 512, 256.

# prebuffer: How many milliseconds of data to keep on top of the blocksize.


nosound=false

rate=8000

blocksize=2048

prebuffer=10


[sblaster]

#  sbtype: Type of sblaster to emulate.

#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, none.

#  sbbase: The IO address of the soundblaster.

#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.

#     irq: The IRQ number of the soundblaster.

#          Possible values: 7, 5, 3, 9, 10, 11, 12.

#     dma: The DMA number of the soundblaster.

#          Possible values: 1, 5, 0, 3, 6, 7.

#    hdma: The High DMA number of the soundblaster.

#          Possible values: 1, 5, 0, 3, 6, 7.

# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.

# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.

#          Possible values: auto, cms, opl2, dualopl2, opl3, none.

#  oplemu: Provider for the OPL emulation. compat or old might provide better quality (see oplrate as well).

#          Possible values: default, compat, fast, old.

# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).

#          Possible values: 22050, 49716, 44100, 48000, 32000, 16000, 11025, 8000.


sbtype=sbpro1

sbbase=220

irq=7

dma=1

hdma=5

sbmixer=true

oplmode=auto

oplemu=fast

oplrate=8000


[speaker]

# pcspeaker: Enable PC-Speaker emulation.

#    pcrate: Sample rate of the PC-Speaker sound generation.

#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.

#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.

#            Possible values: auto, on, off.

# tandyrate: Sample rate of the Tandy 3-Voice generation.

#            Possible values: 22050, 44100, 48000, 32000, 16000, 11025, 8000, 49716.

#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).


pcspeaker=true

pcrate=8000

tandy=auto

tandyrate=8000

disney=true


[joystick]

# joysticktype: Type of joystick to emulate: auto (default), none,

#               2axis (supports two joysticks),

#               4axis (supports one joystick, first joystick used),

#               4axis_2 (supports one joystick, second joystick used),

#               fcs (Thrustmaster), ch (CH Flightstick).

#               none disables joystick emulation.

#               auto chooses emulation depending on real joystick(s).

#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.

#        timed: enable timed intervals for axis. (false is old style behaviour).

#     autofire: continuously fires as long as you keep the button pressed.

#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.

#   buttonwrap: enable button wrapping at the number of emulated buttons.


joysticktype=none

timed=true

autofire=false

swap34=false

buttonwrap=true


[dos]

#            xms: Enable XMS support.

#            ems: Enable EMS support.

#            umb: Enable UMB support.

# keyboardlayout: Language code of the keyboard layout (or none).


xms=true

ems=true

umb=true

keyboardlayout=auto


[autoexec]

# Lines in this section will be run at startup.

mount c "\Storage Card\"

c:
 

[email protected]

New member
Jul 22, 2008
3
0
0
my problem is messed up keys ie. left right up down
but so far i only tried faceoff (hockey) maybe i need to try some newer game
I'm not sure about the X1, but on the LG Fathom, you just need to edit MAPPER.TXT in the DOSBOX folder and swap key_up, key_down etc
- so I think I'm right in saying that you need to swap

key_up <> key_right
key_down <> key_left
key_left <> key_up
key_right <> key_down

I know this post is from a while back, but I just want to post that for anyone looking. I am going to use Windows Mobile as long as I can and I hope others will continue to use it too!
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone