Release DBGL + DosBox with 3Dfx


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,306
Age
51
Location
France, near Lyon
Here is DBGL, a DosBox launcher in java, plus latest version of Dosbox with 3Dfx hardware wraper
preview1.png

The DosBOX version is quite fast, and Dos4GW software are somewhat useable on the Pandora. 3Dfx hardware emulation is included, and is using OpenGlide (+gl4es). The required Glide2x.ovl will be availbale in the DosBox virtual drive and shuld replace orginal Glide2x.ovl supplied with the game. I f you don't find any OVL file, chanses are that the game was staticaly linked with Glide and will not work with the wrapper.
OpenGL rendering is avalable (to have scaling).

DBGL build 02 is featured in a nice and long article on pandoralive: http://pandoralive.info/?p=5384

History log
=========

Build 06
-------------

  • dosbox: fresh build, with updated sources and libs
  • MT32: faster build
Build 05
-------------

  • dosbox: fresh build, with updated libs
  • glide: Some small optim in 3Dfx emulation
Build 04
-------------

  • dbgl: Tweaked all config screens to make them fit Pandora screen
  • dosbox: added netpeek: tool that allows to create game map with third party tools like Grid Cartographer (David Walter+pickle)
  • dosbox: added wizpopfix, to fix poping sound for Wizardry 6 & 7 (David Walter+pickle)
  • dosbox: added Amstrad PC1512 video mode (jmk + ykhwong)
  • dosbox: added PS/1 Sound card (jmk + ykhwong)
  • dosbox: some optimisations mainly on draw code (Tramboi)
  • dosbox: added more refined S3 Trio hardware driver
  • dosbox: Some optims to dynarec ("inlined" the memory read/write)
  • dosbox: Added "cyclesmin" to define a minium cycles (it's 200 by default in the code)
  • dosbox: OpenGL mode now is 4x3 most of the time
  • dosbox, various many more little things...
  • glide: made some changes in glshim to speedup some texture conversions
Build 03
-------------

  • Fixed the 1st start that was not working (was ok with beta only)
Build 02
-------------

  • Fixed TombRaider that failed to launch
  • Fixed MP3 CD track
  • Optimised and centered OpenGlide (don't use read or full mode, only write of none)
  • Added MT32 emulation with optimised Munt
  • Added DOSbox-074-HW wrapper to use omapdss SDL driver (don't use with opengl)
  • Added touchscreen parameters in DOSbox and DBGL
Build 01
-------------
  • Post beta build
  • Reduce font size for DBGL.
  • Fixed rendering issue for Carmaggedon in DosBOX
  • Compile with all optimization options (arm dynarec, lto...)

Diff and addition source file (to be apply on vanilla svn sources) are here: dosbox_pandora.tgz
Changes to the latest cvs version of OpenGlide are here: openglide_pandora.tgz
Changes to git sources of Munt (best to compile with "-flto" and as a static lib for best optimisations) are here: munt_pandora.tgz
 
Last edited:
nice..very fast!

is there a way to use the touchscreen as mouse within dosbox (ie to fix the offset)?
 
Hi i found in another Project some interesting Informations about Glide Emulation/Wrapping:
Frome the DGVodoo Project:

Accessing Linear Frame Buffer means reading and writing
directly from/to video memory. If an application accesses
LFB directly then a conversion has to be done between the
(one of the) 3Dfx format and the actual format of the DirectDraw
buffer if necessary. The main problem here is that the DirectDraw
buffer must be read (for the conversion) in most cases even if
the application wants only to write to the LFB. Format conversion
is fast enough, no significant performance penalty, but reading
video memory itself is extremely slow. dgVoodoo tries to avoid this by
caching the buffer content but there are a lot of cases when caching
is not usable.
Unfortunaly is the old HXDosExtender Project Death.
This was an interessting Project to run Windows Applications and Games in MSDos and Dosbox.
HXDos Extender was maybe able to run Windows95/98 3dfx Games from Dos with your nice Dosbox Version.

Maybe this little Information what i found will help you :)
(and btw..little late from me...Happy new Year to all xD )
 
Tanks again. I didn't know that there were dos games with 3D acceleration.

Right now I have got a few questions questions:

Whenever I create a profile I get the message "/mnt/utmp/dbgl/.dbgl/profiles/2.conf (No such file or directory)". How do I solve this?

Same message appears when trying to run a setup file. Then when I close dbgl the profile is not there.

Second question, do GOG versions work? I want to try tomb rider carmageddon and redguard. Even if performance sucks (I will just wait for pyra).

Another one. How do I change key mapping? Can't write ":" so I can't change the unit I'm in.

That's all, yes I'm total noob with dosbox.
 
I had the "/mnt/utmp/dbgl/.dbgl/profiles/2.conf (No such file or directory)" problem as well. I fixed it by creating the "profiles" folder in that path.
Most GOG games that were not released on Windows are using Dosbox to run the games. If that's the case, it should work with this one.

For the key mapping, you can press ctrl+F1 to enter the DosBox keyboard mapper.

I am not sure if Crusader: No Regret is fullspeed or not. I'll have to do a side by side comparison to check if that's the game normal "jerkiness" or not.
But Covert Actions runs great. I had trouble with setting up the d-pad as joystick in other Pandora Dosbox versions, but here it works great. Fantastic game, I'm having a lot of fun.
 
Thanks. Solved some problemsa and even got carmageddon running with gl acceleration. It doesn't reach even the level of a slideshow it must be below a single frame per second. Don't know if this expected or I'm doing something wrong.

By the way I can confirm that tomb raider and carmaggedon versions from gog are the msdos version, still can't get tomb raider working.
 
Thanks. Solved some problemsa and even got carmageddon running with gl acceleration. It doesn't reach even the level of a slideshow it must be below a single frame per second. Don't know if this expected or I'm doing something wrong.

By the way I can confirm that tomb raider and carmaggedon versions from gog are the msdos version, still can't get tomb raider working.
Carmageddon use a lot of FrameBuffer access, so don't expect it to be fast (it will be faster in software, but still too slow) unfortunatly.

TombRaider, on the other hand, doesn't seems to be using FB, it should be fast and playable (a tuto with screen shot and so on would probably be a good idea on how to instal TR + 3Dfx patch on DBGL).
 
In order to use profiles, you have to create a "profiles" folder in:

pandora/appdata/dbgl/.dbgl/profiles

When you execute the DBGL program, the "pandora/appdata/dbgl" folder and all of its subfolders get mounted below "/mnt/utmp", which makes the error message about the missing "profiles" folder a bit confusing, since the error message is not indicating the true location of the missing folder. The next revision of the PND should create this "profiles" folder automatically for you.

When you attempt to run a profile for a particular program, the profile by default tries to run a program in the "Mounting" tab named "DIR.EXE", which might not exist. You simply return to the DBGL screen if you attempt to run this non-existent program. You have to change the name of this program to the one that you want to execute.

I created a folder, "pandora/appdata/dbgl/games", in which I put my MSDOS games and other programs that I want to run. In the bottom of the "pandora/appdata/dbgl/.dbgl/.dosbox/dosbox-0.74.conf" file, I put the following lines:

mount c /mnt/utmp/dbgl/games
c:
dir


Unchecking "Autolock" in the "I/O" tab of a profile or setting "autolock" to "false" in the DOSBox configuration file in "pandora/appdata/dbgl/.dbgl/.dosbox/dosbox-0.74.conf" seems to improve the accuracy of the touchscreen for controlling the mouse.
 
i noticed there is a file all.tgz with the profile dir and default template in the /mnt/utmp/dbgl - maybe this should be extracted??

anyway, it would be nice to have a way to right click using the touchscreen with the (left shoulder as) modifier...
 
Theres one more thing that can be done to get some more speed out of dosbox and get hw scaled aspect correct view.
I planned to incorporate into my package, but the frontend i had was not stable and I didnt finish my own python frontend before this was released.
But I did some playing around with this package and it can be made to work with dbgl. Here are some steps to get it setup.

1. First a text file named 'dosbox' (yes theres no ext) needs to created, this could go anywhere, i put it in appdata/.dosbox

Code:
#!/bin/bash

export SDL_VIDEODRIVER=omapdss
export SDL_OMAP_LAYER_SIZE=scaled
export SDL_OMAP_FORCE_DOUBLEBUF=0
export SDL_OMAP_VSYNC=0
export SDL_OMAP_NO_TS_TRANSLATE=1

/mnt/utmp/dbgl/DOSBox-0.74/dosbox $1 $2 $3 $4

2. Assuming you have run the package and dosbox at least once, make a second copy the default dosbox-0.74.conf file in appdata/dbgl/.dosbox
I would name it something like dosbox-hw.conf.
Open the new conf and change [render] scalar=none.
I would also recommend changing:
[sdl]
usescancodes=false
[cpu]
core=dynamic
cycles=max

3. Now a dosbox version has to be setup in dbgl. Do this by selecting the DOSbox versions tab.
Now push the button 'Add Version'
Give it a name like dosbox-hw
Select the path where you put the dosbox script we created in step one.
Select the conf which you created in step 2
Click ok

4. To use this setup now either by creating or editing a game profile, click the General tab
Your dosbox-hw should show up the drop down for DOSbox version. Select it.
Click the reload settings button, this resets all the settings according to the hw conf.
---- If you dont want to lose custom settings just set the scalar option to none, its the same as above.
Set an other custom setting like mounts and executable

5. Run your profile, now if its a 320x200 game it will be 640x400 hw scaled to fit most of the screen.

Note: this may break mouse/touchscreen

ptitSeb feel free to use any these ideas or improve on them, maybe something can be setup in your pnd by default.
 
Ah yeah, interesting Pickle. I tested dosbox with omapdss driver and for DOS games, the automatic scaling it's really intersting (but indeed, touchscreen will be not usable).
Be sure to not use 3Dfx or OpenGL scaller with it, as it's not compatible.

I'll try to integrate something in next release, by creating a new (fake) Dosbox version maybe.
 
Pickle, I understand you get the correct aspect ratio and full screen this way, but why would you get "more speed" this way ?

You get a little more speed because dosbox doesnt have to do 2x scalar with software (cpu time), its effectively rendering at 320x200 and we can use Notaz's hw SDL to aspect scale it to fit the screen.
I find it helps with VGA titles the most.

I did some more testing and the mouse pointer can be usable through the nubs. Sometimes I had to cause some kind of readjustment of the mouse coordinates by using the touchscreen in the upper left corner.
 
You get a little more speed because dosbox doesnt have to do 2x scalar with software (cpu time), its effectively rendering at 320x200 and we can use Notaz's hw SDL to aspect scale it to fit the screen.
I find it helps with VGA titles the most.

I did some more testing and the mouse pointer can be usable through the nubs. Sometimes I had to cause some kind of readjustment of the mouse coordinates by using the touchscreen in the upper left corner.

I tested it myself last night and among 3-4 games I tried, I would lose the mouse pointer position (i.e. stuck in a small screen area, just like before) with the nubs. It's unfortunately unusable in that stage since this issue happens repeatedly. So, your fix is great for joystick-based games, but I would not recommend it for any mouse-driven game.
 
maybe i should ask this in the development forum, but is there anything special to do to compile dosbox??

Iam trying to build it with codeblocks(vague plan to look into the touchscreen issues:oops:), builds fine, but the executable bombs out with a segmentation fault during init or very short thereafter. itried varying compile flags, build options, some config file options, nothing so far..its also a seg fault with a messed up backtrace, so no wiser from gdb...
 
i didnt think dosbox supported codeblocks, did you build the project yourself? If so you could be building with bad preproc defines.

the only supporting way and the way ive always used is the configure script (autotools). I usually have to massage the config.h to get the right settings for the arm dynarec, but maybe thats just me not completely using the configure script right. I also cross compile, i suppose things might be better auto detected comping natively.
 
Back
Top