Jump to content

Raine + DOS = bad sound


theelf

Recommended Posts

Not sure for both I'll check the code
By the way in case you didn't notice there is a 0.64.8-4 dos binary with the changes For frame skip

 

Ok, here is the more precise answer :

1st for the timing : if you use the rdtsc (that means, you have at least a pentium and use_rdtsc = 1 in raine.cfg which is the default), then raine uses the timing indicated by the fps counter, so for cps2 it must be 59.62 fps if I remember correctly.

If you set use_rdtsc = 0 then the timing is rounded to an int, and probably badly rounded, it probably takes 59 fps here. Don't do that.

 

For the vsync : it relies on the allegro hacks, which I didn't write and didn't test much, in 2000 I was more interested in linux stuff already and these are mainly for dos, and before that there were very few games which had tearing (I can remember armed police batrider during its demo and its giant horizontal scrolling of course). Except that maybe there were small tearings in a few games but I didn't notice.

Anyway these hacks mainly disable any vsync wait as much as they can. Apparently the main vsync still works but in only 1 place, and I suspect there is more than one place where it should work. In doubt I can try to compile an allegro without these hacks at least for the vesa modes if you are interested in testing, it might be slower though, your choice, it wouldn't take much time for me to do a test build.

Edited by Tux
  • Like 1
Link to comment
Share on other sites

Not sure for both I'll check the code

By the way in case you didn't notice there is a 0.64.8-4 dos binary with the changes For frame skip

 

Ok, here is the more precise answer :

1st for the timing : if you use the rdtsc (that means, you have at least a pentium and use_rdtsc = 1 in raine.cfg which is the default), then raine uses the timing indicated by the fps counter, so for cps2 it must be 59.62 fps if I remember correctly.

If you set use_rdtsc = 0 then the timing is rounded to an int, and probably badly rounded, it probably takes 59 fps here. Don't do that.

 

For the vsync : it relies on the allegro hacks, which I didn't write and didn't test much, in 2000 I was more interested in linux stuff already and these are mainly for dos, and before that there were very few games which had tearing (I can remember armed police batrider during its demo and its giant horizontal scrolling of course). Except that maybe there were small tearings in a few games but I didn't notice.

Anyway these hacks mainly disable any vsync wait as much as they can. Apparently the main vsync still works but in only 1 place, and I suspect there is more than one place where it should work. In doubt I can try to compile an allegro without these hacks at least for the vesa modes if you are interested in testing, it might be slower though, your choice, it wouldn't take much time for me to do a test build.

 

 

 

Hi tux! sorry the delay to answer i was working

 

 

Thaks for the build! im sorry i did not say nothing before, but i was not in home (not even in town), and i did not have my old good PC with my.... just a crappy Core i5 laptop with Windows 10... :msncry: .... i miss my celeron !!

 

 

The frameskip option works great, thanks. I was talking with other guys in a spanish forum, and they say they will test, because some people still have arcade cabinets with Pentium 1mmx/Pentium2 inside

 

 

About timming, im happy to know Raine use the precise one from CPS2, im totally unhappy because i cant do a vesa modeline that works well in Raine :rofl: i did modelines with 59.62 and 119.24, but still tearing

 

I will continue testing, but i think the only option will be to use vsync or tripple buffer, and this last option is.. not a option :msntongue: then vsync

 

About triple buffer, i was checking the code, and say this

 

/* if triple buffering isn't available, try to enable it */

if (!(gfx_capabilities & GFX_CAN_TRIPLE_BUFFER))

enable_triple_buffer();

 

 

I was reading alegro docs, but sadly not much info about DOS triple buffer... maybe allegro did not support tripple buffer in DOS?¿ i really wanna check what " enable_triple_buffer();" do.. i need to take a look in allegro source.. jeje

 

 

 

Ok, back to vsync, of course i will be happy to test any build you made, because this is something is not working well. The truth is for my now, my celeron will be not powerfull for CPS2 + vsync... but i think if someone have a pentium 3 800mhz, maybe wanna play games in 16bits and enjoy vsync too....

 

 

And of course, for neogeo for example, 16bpp+vsync will be nice, some games like you say before, use more than 256colors. By the way, 16bpp is not slower than 8bpp in my PC, for sure the AGP TNT2 helps a lot here

 

 

Thaks a lot for all

Edited by theelf
  • Like 1
Link to comment
Share on other sites

Hehe, poor windows 10 user ! ;-)

I guess it's for work, I thought companies had learnt the hard way to wait a bit before adopting new windows versions, but not all of them apparently !

Anyway...

 

On my side I resurrected my ps2 lately, to play again an old game that I liked very much, but it's heavily moded now, it reads its games from the network, from a samba partiton (windows share if you prefer) formated using zfs... ! I took quite a while to have everything working again, but it's working fine now !

 

Your new build (exe alone) : http://raine.1emulation.com/archive/rained.7z

It's just allegro recompiled inside without the hacks for vesa, so vsync should work, but I don't know if it will be slower.

 

No idea about the code you are referring, afaik, I was never able to enable triple buffer without these hacks and it seems they were broken at a point when upgrading allegro, and since there was poor testing at that time and poor maintaining of these hacks, it can't be fixed anymore. Antiriad wrote them originally, but I am sure he has forgotten everything now ! And since he is never on the forums anyway, you can't ask him. I send his mail by pm if you want to try your luck, but it's very unlikely to work !

Link to comment
Share on other sites

Just tried this latest version with my 233mmz setup.

 

GUS does not work, I have a classic and all I hear is some static. SB is OK but volume is low, dunno if there is a button for that - need to actually read the docs :rofl:

 

CPS-1 games run at ~40fps average - they do go to 50s and 33s at times

CPS-2 games are below 40fps

NeoGeo are better, metal slug 1 tends to stay above 50 almost all the times

simpler games like P-47 and gals panic are 60fps

suprisingly pang was below 20fps...

 

What roms do I need for this version? the latest mame ones? or some older version? I want to test some more games but I get rom errors...

All the above are with a riva128zx/vbe3 (or vbe2/linear) and SB16 @11khz (because there is a difference)

 

Really nice job on the emulator , I am truly impressed as I had no idea Raine had such a good DOS port! I know I can't expect much from my machine but even being able to play the classics is a big deal! Kudos on that!

If I can help in any way please tell me.

 

ps:

is it possible to make 400x300 resolution available for VBE2/3 extensions? it should help a little ... IIRC callus allowed that (yeah I was quite the big fun of bloodlust's emulation trio back in the day, it blew lots of us away) and it did help because fewer pixels is faster in old machines...

Edited by keropi
Link to comment
Share on other sites

The vbe resolutions depend on the vbe driver you use and your video card, raine just reads the available modes.

For the roms some are compatible with mame (cps1 & 2, neogeo and maybe a few others), some are older. Some sites still have compatible raine romsets, just search more and you'll find them !

 

Glad it works well for you, no idea why the gus doesn't work but I can't do anything about that.

Link to comment
Share on other sites

gotcha on the romsets :wink:

I assume you can't fix gus because you don't have one, right?

Also a question on VBE extensions, what is better to use if your vga support all VBE2/VBE2_linear/VBE3?

 

edit:

Solved the 400x300 deal with the freeware now univbe ... didn't get a speedboost tbh, not even setting depth to 8bit gave me a speed boost. I am cpu bounded apparently :matrix:

Edited by keropi
Link to comment
Share on other sites

For the gus I had one, it finished burnt a long time ago, but anyway it was an isa card, it couldn't be used in any modern computer.

And if it doesn't work it means it's a seal bug, and I don't know anything about seal so I can't do anything there. The source is opened though, but no way I could debug this now.

 

Yeah univbe is a good solution.

Linux also allows to create any video mode or almost with its modelines (for the xorg server).

Link to comment
Share on other sites

It would mean look into the sources of this mxplayer to see if they could be used for audio support in dos ?

Well who wants to be in charge of the dos version then ? ;-)

Because this time it's not something light which can be tested quickly !

 

On a side note this thing could be used to maybe add full neocd support to dos because it would allow to have some mp3/ogg/flac decoder.

Currently it's very limited, I think only games with data and audio in the same file could work, and I didn't even test it.

 

Anyway I might take a look out of curiosity later, but not sure I would try that.

Link to comment
Share on other sites

^ nice , a look is better than no look :matrix:

in the meantime I wanted to play an old favorite, Snow Brows... it loads fine but I get a repeated "free timers overflow!" message on screen, is there a way to bypass this?!

 

edit:

also Bubble Bobble doesn't have music?

Edited by keropi
Link to comment
Share on other sites

check that you didn't enable the hardware ym3812, in sound options for the dos version, buble boble has music but you won't hear it if you enable this and you don't have the real hardware.

Snowbros doesn't print any error message for me, even in dos, so re-test after disabling the hardware ym3812, if it persists I'll remove the error message.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...