Release DBGL + DosBox with 3Dfx

Discussion in 'Software Releases' started by ptitSeb, Dec 31, 2015.

Tags:
  1. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,336
    Location:
    France, near Lyon
    Here is DBGL, a DosBox launcher in java, plus latest version of Dosbox with 3Dfx hardware wraper
    [​IMG]
    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: Jun 7, 2017
    Tags:
  2. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    10,852
    Location:
    Somewhere off the coast of the EU
    Which versions of Java have you tested this with, out of interest?

    Edit: Or does it perhaps ship with its own java runtime?
     
  3. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,336
    Location:
    France, near Lyon
    It use installed Java, not shipped with any. I tried with a fairly recent 1.7.60, but any 1.7 should work.
     
  4. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,921
    Location:
    Melbourne, Australia
    Nice one :)
     
  5. sepulep

    sepulep Member

    Joined:
    Nov 18, 2008
    Messages:
    354
    nice..very fast!

    is there a way to use the touchscreen as mouse within dosbox (ie to fix the offset)?
     
  6. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,336
    Location:
    France, near Lyon
    I have not found a way to do that.
     
  7. ingoreis

    ingoreis Advanced Member

    Joined:
    Mar 7, 2012
    Messages:
    3,086
    Location:
    49.491276,8.423518
    Hi i found in another Project some interesting Informations about Glide Emulation/Wrapping:
    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 )
     
  8. asimov-solensan

    asimov-solensan Member

    Joined:
    Jan 8, 2010
    Messages:
    483
    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.
     
  9. ElPoco

    ElPoco Very Active Member

    Joined:
    Feb 16, 2012
    Messages:
    703
    Location:
    Paris, France
    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.
     
  10. asimov-solensan

    asimov-solensan Member

    Joined:
    Jan 8, 2010
    Messages:
    483
    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.
     
  11. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,336
    Location:
    France, near Lyon
    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).
     
  12. edlee

    edlee Member

    Joined:
    Dec 3, 2013
    Messages:
    76
    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.
     
  13. sepulep

    sepulep Member

    Joined:
    Nov 18, 2008
    Messages:
    354
    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...
     
  14. Pickle

    Pickle Mega GP Mania

    Joined:
    May 30, 2006
    Messages:
    5,448
    Location:
    Detroit, Michigan
    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.
     
  15. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,336
    Location:
    France, near Lyon
    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.
     
  16. ekianjo

    ekianjo Hardcore Member

    Joined:
    May 7, 2012
    Messages:
    8,261
    Location:
    神戸市、日本 (Japan)
    Pickle, I understand you get the correct aspect ratio and full screen this way, but why would you get "more speed" this way ?
     
  17. Pickle

    Pickle Mega GP Mania

    Joined:
    May 30, 2006
    Messages:
    5,448
    Location:
    Detroit, Michigan
    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.
     
  18. ekianjo

    ekianjo Hardcore Member

    Joined:
    May 7, 2012
    Messages:
    8,261
    Location:
    神戸市、日本 (Japan)
    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.
     
  19. sepulep

    sepulep Member

    Joined:
    Nov 18, 2008
    Messages:
    354
    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...
     
  20. Pickle

    Pickle Mega GP Mania

    Joined:
    May 30, 2006
    Messages:
    5,448
    Location:
    Detroit, Michigan
    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.
     

Share This Page

Loading...