VOGONS


First post, by Virusek

User metadata
Rank Newbie
Rank
Newbie

I want to build experimental SVN version of dosbox, but cannot find patches like PhysFS etc. and some of patches seems to be quite old like Direct3d and glide, seem a 0.73 build with them is newer.
Can anyone send me newest possible versions ?

Reply 1 of 18, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

There may or may not be updated versions of the patches since it's up to
the patch authors to care for that or not. Grab the latest stuff you find from
the sourceforge page or the patches forum on vogons.

Reply 2 of 18, by Virusek

User metadata
Rank Newbie
Rank
Newbie

I can't find a patch to SDL that allows SDL_VideoDriver=directx with direct3d and glide. My build on fullscreen shows black screen, on console there are errors "D3D:Device Lost" ... Setting SDL_VideoDriver=windib fix this, but seems there is a SDL patch to this fix this error.
Also I create reverse diff from gulikoza's newest build source and dosbox 0.73 but there are many rejects if applied to SVN sources ... Now fixing it manually ...

Reply 5 of 18, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yeah, nobody said coding is easy.

The patch Qbix linked to is against SDL, just in case somebody wondered.
Should apply to one of the non-latest of their release which has a nice
different set of new problems.

Reply 6 of 18, by Virusek

User metadata
Rank Newbie
Rank
Newbie

Yes, I applied it but it do not fix black screen on fullscreen switch when directx is used. I'm using latest hg clone of SDL 1.2 branch.

This patch is only one ? Maybe versions 1.2.14 and newer are broken ?

Reply 8 of 18, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

yeps. 1.2.14 and the latest source at the time of creating the release of dosbox had a lot of problems at some of the testers computers.

Water flows down the stream
How to ask questions the smart way!

Reply 9 of 18, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie
Virusek wrote:

Setting SDL_VideoDriver=windib fix this, but seems there is a SDL patch to this fix this error.

Basically what I did in my SDL build is force windib when d3d is used. There's no advantage of using directx when D3D is used since it handles the drawing by itself and ddraw surface just gets in the way...

Virusek wrote:

Also I create reverse diff from gulikoza's newest build source and dosbox 0.73 but there are many rejects if applied to SVN sources ... Now fixing it manually ...

Yeah...I'm thinking the same thing 😉 Might get around to actually fixing it one of these days 😀

http://www.si-gamer.net/gulikoza

Reply 10 of 18, by Virusek

User metadata
Rank Newbie
Rank
Newbie

Basically what I did in my SDL build is force windib when d3d is used. There's no advantage of using directx when D3D is used since it handles the drawing by itself and ddraw surface just gets in the way...

So this can be done in dosbox ?

In sdlmain.cpp:

SDL_QuitSubSystem(SDL_INIT_VIDEO);
putenv("SDL_VIDEODRIVER=windib");
SDL_InitSubSystem(SDL_INIT_VIDEO);

before:

sdl.desktop.want_type=SCREEN_DIRECT3D;

Yeah...I'm thinking the same thing Might get around to actually fixing it one of these days

No that was not good idea, better was diff from rev 0.73 to rev 0.74 and apply it to your source - less rejects, and most reject was already patched (seems you CVS source is pre-0.74). I have now a working copy of 0.74 with all you changes. I will post it after some tests.

Do you have OpenGL-HQ patch for SDL that builds on Visual Studio ?
Because for best stability will be not mix different C/C++ runtimes.

Reply 11 of 18, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

My checkout was from July, a little over 1 month after the 0.73 release. When doing a new release, I usually go over all the patches and fix little things so the 0.73 -> 0.74 is not my way but I guess it can be done as well 😀

So this can be done in dosbox ?

I guess it can, but I like my SDL solution better since only the window handling is switched to GDI (actually the same codepath as OpenGL, just without the OpenGL context)...input subsystem then still uses the directx codepath. Using SDL_VIDEODRIVER=windib also uses different input codepath that used to be problematic at some time with dosbox 😀

Do you have OpenGL-HQ patch for SDL that builds on Visual Studio ?

No, but I believe the code should be buildable with VS. What is probably missing is the header generation...you should use mingw, compile, make sure asciidump.exe and hexdump.exe are built and all those SDL_openglhq_pass*.h headers generated. Then simply add these generated headers to the solution and build with VS. Or if you have time, add asciidump and hexdump building as a prerequisite in the solution and make sure they generate the headers before SDL is built.

http://www.si-gamer.net/gulikoza

Reply 12 of 18, by Virusek

User metadata
Rank Newbie
Rank
Newbie

So if SDL way is better, please tell me what to patch in SDL (maybe some diff ?)

EDIT: ok, after few days of searching for patches (thx gulikoza), compiling, and fixing errors, there is my build of dosbox.
I named it UBER BUILD because my main goal is to implement all patches in one build.

DOSBox svn r3623 UBER BUILD v1

WARNING: This is EXPERIMENTAL build, use at your own risk !!!
WARNING: This build will NOT work without SSE2 support !!!

System Requirements:
CPU with SSE2 support
DirectX Redist 43 (June 2010) from:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3b170b25-abab-4bc3-ae91-50ceb6d8fa8d&displaylang=en
Visual Studio 2010 Redist(x86) from:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=en

Included Patches:
All patches from gulikoza's build:
coreswitch, direct3d, glide, mt32, openglhq, physfs, NE2000, printer and oplpassthrough
Updated Glide patch by gulikoza to 24.11.2009
SDL_sound support
Some other small fixes (mostly VS2010 compatibility fixes)

Used libraries:
DirectX SDK 43 (June 2010)
OpenGlide 0.09rc9
Glide Router (glide2x.ovl) by gulikoza
SDL 1.2 hg r4567 with patches [directx fix and OpenGL-HQ]
SDL_net 1.2.7
FreeType 2.4.1
zlib 1.2.5
libpng 1.4.3
physfs 2.1.0 hg r1089
WinPCAP 4.1.2 (only headers)
SDL_sound 1.0.3 with compiled in:
libogg 1.2.0
libvorbis 1.3.1
libflac 1.2.1
smpeg svn r389

Build enviroment:
Microsoft Visual Studio 2010
MSYS with MINGW TDM-GCC 4.5.0
OPEN WATCOM 1.9

Notes:
D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY flag is pass to
ID3DXEffectCompiler::CompileEffect fuction for ps 1.x support
Only SDL 1.2 library is build using MINGW (because OpenGL-HQ patch is not compatibile with VS).

Compiler options are:
For MSCL: /Ox /Ob2 /Oi /Ot /Oy /GT /GL /GF /MD /arch:SSE2 /fp:fast
For MINGW -Os -pipe -march=i686 -msse2 -lto

Attachments

  • Filename
    dosbox.r3623+uber1-src.7z
    File size
    920.97 KiB
    Downloads
    1056 downloads
    File comment
    DOSBox svn r3623 UBER BUILD v1 [sources]
    File license
    Fair use/fair dealing exception
  • Filename
    dosbox.r3623+uber1.7z
    File size
    1.57 MiB
    Downloads
    2400 downloads
    File comment
    DOSBox svn r3623 UBER BUILD v1
    File license
    Fair use/fair dealing exception

Reply 13 of 18, by DougQuaid

User metadata
Rank Newbie
Rank
Newbie

thanks for your build, but I have some performance issues when running with direct3d output. I get average 66fps in quake1 benchmark and there are visible slowdowns during benchmark run, when using opengl output the benchmark gives 124fps (tested on different computers with nvidia/ati card)
with old gulikoza build with direct3d the result is 112fps

Reply 15 of 18, by Targaff

User metadata
Rank Member
Rank
Member

Is the SSE2 requirement builder's preference or genuinely required for one or more patches? Just curious.

Intel CC820 | PIII 667 | 2x128MB SDRAM | 3Dfx Voodoo 5 5500 @ Dell P790 | Creative SB PCI128 | Fujitsu MPC3064AT 6GB + QUANTUM FIREBALLlct10 10 GB | SAMSUNG DVD-ROM SD-608 | IOMEGA ZIP 100 | Realtek RTL8139C | Agere Win Modem

Reply 16 of 18, by SwissCM

User metadata
Rank Newbie
Rank
Newbie

It appears that glide is broken. The latest gulikoza build works however yours either crashes completely whenever glide is activated, or when running dgvoodoo it flashes "glidedll out of memory" for a split second and games don't detect it.

Reply 17 of 18, by Virusek

User metadata
Rank Newbie
Rank
Newbie
SwissCM wrote:

It appears that glide is broken. The latest gulikoza build works however yours either crashes completely whenever glide is activated, or when running dgvoodoo it flashes "glidedll out of memory" for a split second and games don't detect it.

Yeah, dgvoodoo seems crash with latests glide patch, but openglide and nGlide works fine in TR1/UB for me.
Note you MUST use glide2x.ovl included in this release, other one will crash (any change to glide definitions in glide patch == changes to glide2x.ovl, and older will crash because will not find correct definitions).

gulikoza build uses older glide patch, I used newest I found in here.