Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Tux

Raine 0.90...

Recommended Posts

Finally building raine in 64 bits or for any architecture is possible !

More than 1 year to do this, after a long period of hesitation, switching to 64 bits or another architecture means doing without assembler, and raine is almost all assembler ! But finally after playing with musashi for a while, I decided it was worth a try, and here is a final binary...

Well it has quite a few fixes too, even some drivers updates, and the bubble bobble 2 prototype which is interesting in my opinion. Even a fix for fullscreen which was still using some code from the old dos days, it escaped from me for all this time... Now fullscreen always uses the full screen resolution instead of choosing some strange resolutions sometimes.

But the big change is the addition of the 3 pure C cpu cores.

The 32 bit binary and all its asm is still supported of course, you choose what you want by editing the makefile, it's just a matter of uncommenting what you want, if you choose NO_ASM, and you are on a 64 bit system, then you get this 64 bits binary without any asm.

Still some tests to do, and trying to build it for windows, I built only for linux so far, and it will be my first 64 bit build for windows (I'd prefer to avoid it, but I'll try it anyway !).

raine.png

Edited by Tux

Share this post


Link to post
Share on other sites

really appreciate all the work you've done over the years & brilliant for a 64 build for windows. can't wait to try.

first time i ever completed bubble bobble in the arcade i was so mad with taito that i had to include a friend it cost me loads of 10p uk currency extra lol

Share this post


Link to post
Share on other sites

Yeah but the idea was excellent at this time with arcades everywhere, now of course it's much harder to do ! :)

I am doing the initial testing and I already fixed a few bugs, probably the most serious ones, after this I'll release a 64 bits binary to get some help for the testing !

 

Share this post


Link to post
Share on other sites

Hum, the windows version is ready, but fullscreen support in SDL-1.2 is really broken if you change the video mode on the fly to set some flags like what raine does. It works perfectly in linux, in windows when you quit a fs game to the gui, you don't see anything. I tried a fix by forcing closing the video subsystem and re-initializing it, it works, but if you return to the game and to the gui a few times it finally crashes the emulator !

So I think I'll take some more to see all that... the obvious solution is to switch to sdl2, but switching is a real pain for raine, too many things are low level and would need to be rewritten or simply dropped. The "normal blits" don't make a lot of sense in sdl2, the yuv overlays are different, almost only opengl is ok.

The other solution is to just ignore windows, what I do most of the time, but it might be worth doing some more investigation this time...

Edited by Tux

Share this post


Link to post
Share on other sites

After some hesitation, here are the links for this windows 0.90 64 bits version :

https://mega.nz/#!nJVVVIyR!GG454XCE6ewkjIll7j-_SHZUPcUXyWXDsN33OIo1Sdk

and it requires some dlls here :

https://mega.nz/#!iU1xnIxb!jBJW6tOdsHKVWXFnrh371apmyt9-TcHB5IrkszcmOTM

For those who forgot the sorry state of fullscreen in windows like me, it's still the case, when returning to the gui sometimes you see nothing, and it might even crash when returning to the gui. So it's highly advised to stick to windowed mode.

The links are on mega because for some reason I don't know, my credentials on 1emulation don't work anymore, I get "530 incorrect login", the fastest solution is to use mega instead for now. Those downloading this can help to test things. Normally everything is working, but I might have missed some drivers. The big news except the new cpu emulators is the support for internet archive roms with curl, which means raine will try to download a rom from internet archive if it's not available on disk. A lot of things are missing, it's not done for collectors who want everything, but it's much better than the very few roms which are really free (f3demo and f2demo, that's all ?). Here you have all the neogeo roms, some cps roms, and a few roms like 64street.

drivers updates :

 - pbobble2 becomes pbobble2o, and add pbobble2 v2.30 (I didn't see any improvement to this one and I even wonder if it's really a newer version).

 - bubsymph & bubsymphu disappear and are replaced by the region switch for bublbob2 which is much nicer for me. Also :
the old bublbob2 which was version 2.50 becomes bublbob2o
add the new v2.60 as bublbob2
add the prototype as bublbob2p (it's an interesting prototype for once, it's like bublbobl but with the 68020 features).
The pixel layer emulation is redone because of this game in taito f3, you get better colors, and some experimental strange line scroll effect, afaik it's only visible in the buble boble 2 prototype, the values are strange I should look into it some more later.

 - syvalion was fixed, its mouse control was broken, making it almost unplayable

 - more cpu power to arkanoid2, just to make it more fun when the screen is covered with balls... !

 - prevent rodland & megablast to crash when loaded

There was a fix for garou in neocd which was reverted because it was creating to many problems elsewhere. Problem is I lost the details of the garou bug (and the savegame), so I tried a few things, for me it works but I can't be sure.

 - hiscore.dat : the new mame format is also supported (but the old one too, and at the same time !), and it tries to detect when its area is cleared (after a reset or service mode for example, and can survive it now).

Planned : I might try to switch to sdl2 for windows users and their fullscreen problem, but sdl2 is not an evolution of sdl1.2, it's more a new lib which happens to have a very few things in common with sdl1.2. Which means that if I add support for that, it will be like a revolution, I'll have to get rid of a lot of things and eventually re-add them later differently. So it will be a big mess. For now no promise.

If you get the source for this release from github, it now uses Musashi as a git submodule, which means the Musashi dir arrives empty from github. The makefile will update it to use my Musashi mirror, just make sure you have git in your path and everything should be automatic.

EDIT : just got an idea of a perl script which helped me to find about 25 games broken with musashi and easily fixable, so updated the binary with this, and here is 0.90.1 (don't expect any other update this fast !)

Edited by Tux

Share this post


Link to post
Share on other sites

Thank you :)

I had a problem like that with the FTP, but I found that something in my firewall (I don't know what) was causing the problem. So I switched to another computer and it worked.

Share this post


Link to post
Share on other sites
1 hour ago, Robert said:

Thank you :)

I had a problem like that with the FTP, but I found that something in my firewall (I don't know what) was causing the problem. So I switched to another computer and it worked.

Thanks, yeah that's the problem with the ultra secure ftp, you don't always get very clear messages. Yeah I am not on my usual connection, and I can't configure the connection differently for now, I'll test that again later but meanwhile mega will do !

Share this post


Link to post
Share on other sites

Decided to test this...

1. It calls itself Raine32 instead of Raine64

2. The Q-sound logo is corrupted (Alien vs Predator)

3. MS pacman (6 maps) is buggy - the 2nd screen is corrupt and you die at the start of the level.

4. Pacman/Mspacman - controls are laggy - keep missing a turn and it just goes straight

 

Seems ok apart from that. I only tried a few games.

 

Share this post


Link to post
Share on other sites

Thanks for the testing, tried puckman and didn't notice any problem, I'll have another look. For raine32 yeah I changed just the name of the exe, not the rest.

Share this post


Link to post
Share on other sites
13 hours ago, Robert said:

Decided to test this...

1. It calls itself Raine32 instead of Raine64

Fixed (raine.h only, I keep the config file raine32-sdl.cfg for compatibility).

13 hours ago, Robert said:

2. The Q-sound logo is corrupted (Alien vs Predator)

It was a bug in the video C functions, I didn't have a lot of opportunities to test them, so it could affect a lot of games actually, all sprites which are not 16x16 and which use flip (x or y) are affected. Fixed anyway.

13 hours ago, Robert said:

3. MS pacman (6 maps) is buggy - the 2nd screen is corrupt and you die at the start of the level.

2 things here, the buggy look of the level is the way it is, the most annoying point in my opinion are the invisible super pills, the ones that normally blink, here they show at the start of the level, then disappear but are still there... Also the moving bonuses can pass through walls sometimes ! Maybe I shouldn't have kept this one, but I was curious... it's playable anyway.

And your crash seems to happen only in windows, it's a read outside the rom limits, but I wonder how windows does its allocations, normally such a read should land in the gfx zone and so return a value without crashing anything, that's what happens in linux. Go figure... anyway it's fixed too, this kind of read affect mspacman and its clones, plus pacman25 (from the comments about it).

13 hours ago, Robert said:

4. Pacman/Mspacman - controls are laggy - keep missing a turn and it just goes straight

Seems the normal behavior for this driver to me. You push the stick before reaching the turn and release it only when the turn is done, it's a special handling, but you get used to it very quickly and it feels natural after a very short while.

Since the controls are not related to any special irq or anything like that, it's unlikely they could be improved, but it's not a problem for me at least. Some clones like xenrev are playing with this, making some zones where it's especially difficult to turn, I don't find that fun at all !

13 hours ago, Robert said:

 

Seems ok apart from that. I only tried a few games.

 

Yeah I just upgraded the binary to 0.90.2, you can try again to find some bugs if you feel lucky ! :)

Your mspacman bug was not actually specific to this particular 64 bits build, it was very probably in earlier versions too but happened only in windows and you had to reach the 2nd level, so nobody reported it !

I won't fix any long standing bug though like video priorities in some taito f3 games, their priorities seem linked to some alpha blending effect, it's horribly complex !

Share this post


Link to post
Share on other sites

Thanks, tried out the new version.

 

All seems fixed except MsPacman 6maps...  First time I played it, when I got to level 2 there was no map, both me and the ghosts could go anywhere. Also, the sounds were higher pitched. I eventually died, and then the green screen flashed up for a moment, then the game reset itself. I came back later and tried again, this time it worked correctly.

I happen to have this game in HBMAME (as mspac6m), and it works as expected, and also the power pills flash on the 2nd level.

Oh, one other thing I noticed on the pacman games, is the ghosts are invisible on the leftmost spot in the tunnels. It seems the sprite cutoff is just a bit out.

For your info, in MAME, when pacman reads unassigned memory, 0xBF is returned (as verified on hardware). No idea what Raine does, but you may want to check this.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...