VOGONS

Common searches


First post, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

Hey guys,

great work, this program. I could enjoy some great oldies. Very nice!

But I wanted to go a step further and get some Glide support. My system is a eee 900 pc with Ubuntu 8.10 (or better: eeebuntu 2.0 Standard) installed.

Anyway, I think I've got all build dependencies. I thought. But I am confused. I have followed the instructions in this thread, but they are confusing me a little. Why? A few questions.

Well, which gcc is required to build dosbox officially, I am using 4.3?
Why can't I build OpenGLide (it asks for glide.h - where do I get that)?
Do I have to build OpenGLide? Or do I just need to copy the sdk*.h files into... yeah, well, where to??
Why is the dosbox build (v 0.72, patched with the patches out of the thread earlier mentioned) not running through (it says it can't find sdk2_glide.h, but I copy the *.h files out of the OpenGLide repository into the include\ directory)?

I've been trying to compile dosbox for some two days now, so any help would be greatly appreciated. Or is the Glide patch dead, maybe?

BTW, I am not taking any other pre-patched packages because there are more errors with gcc then. I just want to add the Glide behaviour.

Regards,

Tobias

http://www.tobiasmaasland.de/

Reply 1 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

glide.h? That should be sdk2_glide.h...probably an error in cvs (I did a quick search, gbanner.cpp indeed wants to include glide.h)
yes, you need to build openglide, sdk2* files will be copied to system include dir when you do make install in openglide

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

Reply 2 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

Alright, I've altered gbanner.cpp and rebuild. Now I could at least build OpenGLide with gcc 4.3

After some heavy patching of dosbox 0.72 with your Glide patches and other gcc 4.3 patches found somewhere in the net I've got now a dosbox version with Glide support (and debug logging) up and running. I thought so, at least. Now, when I want to start a game as 3dfx-Version, I get the error

glidedll:Cannot determine glide port, are you sure GLIDE is supported?

After a look in the glidedll.c I saw that the library is looking for the environment variable GLIDE. So I checked the variable in dosbox, it says GLIDE=600

But now I cannot do any debugging, because I am on a Linux machine and there is no wcc386 - I can't enable debugging for the ovl file. How can I convince the ovl file to continue?

Regards,

Tobias

http://www.tobiasmaasland.de/

Reply 3 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

The getenv() used by the ovl is dependant on some dosbox define. I couldn't write a better one, sorry 😀
The best would be, to use the sources from around september 08, 0.72 is quite old. Or you could try your luck with 0.73, I don't think there were any changes there (I might update the patch for 0.73 in a few days if time permits).

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

Reply 4 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

I understand. How could I get the sources from September 08? As far as I know the sources in the dosbox repository are only tagged by version. Or is there a command I don't know to checkout a date?

It would be terrific if you could do the patch for 0.73, as the code structure might have changed. If things work out, I could provide then a patch for gcc 4.3 and a small step-by-step tutorial for Ubuntu / Linux users.

Oh, and somehow I get the feeling that the patches should have a description for which version they are or for which cvs date. That could clarify some things.

BTW: Is there someone in this board who could enable dosbox with glide support on Linux? Which wrapper is used? Is wine also required?

Thanks anyway,

Tobias

http://www.tobiasmaasland.de/

Reply 5 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

cvs can do this:
-D date Check out revisions as of date.

Wrapper is openglide of course. No wine is not needed for native version, although you could try your luck with windows version.

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

Reply 6 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

Cool, thanks a lot for pointing me into the right directions.

With the repository from 2009-09-14 the glide-patch could be applied easily and after updating to compile with gcc 4.3, everything went through.

In dosbox, e.g. Screamer 2 says: 3DFX chip not found! (Which makes sense, of course).

And in the console I am getting the error:

gd error (glide): Can't find or access Banshee/V3 board

I've installed OpenGLide with make install and compiled dosbox against it. So it's there. I wonder where this error might come from? I thought the wrapper would take it from here.

What am I missing?

Regards,

Tobias

http://www.tobiasmaasland.de/

Reply 7 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Check if there are any other glide2x.ovl files present in gamedir or somewhere else. The only glide2x.ovl has to be the one included in my build (if it is in the dosbox directory, it will be added to the Z: drive, on linux I guess it is better to copy it to the game directory)

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

Reply 8 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

No success. The glide2x.ovl is securely loaded. I've recompiled with the DEBUG define set in glide.cpp (I've added two messages):

GLIDE:LFB access: read-write
Glide:glide2x.ovl loaded
Glide:glide2x.dll/libglide2x.so loaded
Glide:Memory allocated at 0xc9e40 (segment: 51684)
Glide:Port read. Returning 51684
Glide:Port read. Returning 201
Glide:Processing call grGlideGetVersion (141), return address: 0x0
Glide:Processing call grGlideInit (142), return address: 0x0
gd error (glide): Can't find or access Banshee/V3 board
Glide:Processing call grSstQueryHardware (165), return address: 0x2cae48
Glide:Port read (165). Return address: 0x2cae48, value: 0
Glide:Processing call grGlideShutdown (145), return address: 0x0
Glide: 1 calls function grGlideGetVersion (141)
Glide: 1 calls function grGlideInit (142)
Glide: 1 calls function grGlideShutdown (145)
Glide: 1 calls function grSstQueryHardware (165)
Glide: 0 framebuffer locks (0 read, 0 write)

I am puzzled and ask myself what might be wrong and I am not seeing it. Gulikoza, could you provide two glide2x.ovl - one with DEBUG enabled and one with HEAVYDEBUG? Since I have no Windows I can't compile them for myself.

http://www.tobiasmaasland.de/

Reply 9 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Glide2x.ovl can be compiled inside dosbox with openwatcom compiler. It's a bit tricky to set it up, but I compile it inside dosbox as well.

"gd error (glide): Can't find or access Banshee/V3 board"

I don't know where this error comes from. It's not from glide2x.ovl and it's not from dosbox or openglide. Do you perhaps have another libglide2x installed (real linux glide?) and is being loaded instead of openglide?

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

Reply 10 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

You were perfectly right. For some reason or another, Glide support is compiled into this Ubuntu version - which is in /usr/lib. After doing

export LD_LIBRARY_PATH=/usr/local/lib

(because OpenGLide installs itself to that path) and then starting the game with S2_3DFX it started without problems!

Thank you so much, I really appreciate your help here and your nice work patching those files! Now I will try some other games and see how it works out.

Regards,

Tobias

http://www.tobiasmaasland.de/

Reply 12 of 24, by weirdnose

User metadata
Rank Newbie
Rank
Newbie

Hey Gulikoza,

thanks to your help I could check out many great games of the past to find out that the eee 900 is way too slow to manage those games at a sufficient framerate. 😦

Anyways, I was planning in getting a new computer so this is not too bad. I have now written a step-by-step tutorial for dosbox with Glide under Linux, hopefully helping someone out there.

Only one thing came to my attention: If you compile dosbox with the logging (or debugging) parameter, you get the option [log] in your dosbox.conf. There are many options to set to true or false, meaning if I want to see log output or not.

If I now put in the [log] section glide=false, the whole wrapper gets disabled even if in the [glide] section is a glide=true (seems to happen only if the [log] section comes after the [glide] section).

Alright, I am going to enjoy some more games 😁,

Tobias

http://www.tobiasmaasland.de/

Reply 13 of 24, by robertmo

User metadata
Rank l33t++
Rank
l33t++
weirdnose wrote:

If I now put in the [log] section glide=false, the whole wrapper gets disabled even if in the [glide] section is a glide=true (seems to happen only if the [log] section comes after the [glide] section).

It is a bug of dosbox that it doesn't handle [log] section if you don't run a debugger. It should be fixed by dosbox authours in my opinion to ignore [log] section if you don't run a debugger. Actually dosbox should be able to ignore all [xxx] sections that are not handled by it.

Reply 15 of 24, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Actually I looked into this yesterday and I don't know why this happens. Would section->Get_bool() return result from a different section? If [glide] section contains bool glide and [log] section contains bool glide, these 2 should be separate, right?

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

Reply 16 of 24, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yes they are different afaict (like the rate= setting previously for [mixer]
and [sblaster] specified independent settings).

Can you put up a small test using a strip-down of your files?

Reply 17 of 24, by robertmo

User metadata
Rank l33t++
Rank
l33t++
wd wrote:

It's a regular section but the effects are only needed for debugger output.
Don't see any sort of bug that needs fixing.

just make such a dosbox.conf
[dos]
xms=true
ems=true
umb=true
[log]
xms=false
ems=false
umb=false

the result will be that dosbox will have no xms, no ems and no umb

Reply 18 of 24, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well yes. because [log] is an illegal section name. dosbox keeps the old.
While it might be a bug. I have little motivation on fixing it.
Easiest would be simply to rename the glideoption in log.

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

Reply 19 of 24, by robertmo

User metadata
Rank l33t++
Rank
l33t++

gulikoza rename glide to glidelog

Qbix i think you should rename all other log entries that are the same - i only looked in a [log] from a year 2006 and i saw there is a dma line so it should be changed to dmalog.