
0.95.5d / 29-05-2023
Raine
Accuracy
Performance
Features
Raine is mainly a M68000 and M68020 arcade game emulator focusing on Taito and Jaleco games hardware. It started as an experiment and is now capable of emulating some games which MAME can't emulate and more continue to be added quite frequently.
...
Most Recent Changes
--0.95.5-b/c/d--
It started by ffman1985 scripts. Found a way to make them compatible with the normal cps2 versions and not just the phoenix versions. Then he noticed the sound associations didn't work well in cps2, normal since they were never really tested. He says there is a site in the internet with re-arranged versions of the cps2 tracks which sounds very nice with the associations... so they are fixed now, it was much easier than neogeo, their major commands stay the same for all drivers. Then I used the cheats to convert some region bytes switches to some regions which can be changed in raine gui, it allowed to identify region clones, that is clones whose only difference is the region byte itself, and get rid of them since we can now change the region to whatever we want. Notice some games like choko don't have english texts for the non japenese versions, which is not a surprise. Then there was the problem of some long standing graphical glitches because of the dreaded priority masks. So I finally added some emulation for these priority masks, it's quite amazing that the driver worked quite well without them for all this time actually ! (and thanks go to mame for their code, even if I couldn't believe it for very long, they probably spent a long time to find this).
Except that:
- the list of games now using the console scripts from ffman1985 is longer, see his thread for details. Here it is : hsf2d, sf2cejc, sf2ce, sf2hfj, sf2hf, sf2j, sf2, sf2ad, sfa, sfz2ald, sfz2alj, sfz2al, ssf2ud, ssf2xjd, ssf2xj, xmcotar1d
- progear had been broken for 1 year ! It's now fixed.
- the ips files can now be bps files when referenced in a .dat file. If you don't know what bps files are, never mind !
- some minor fixes in the multiple files selector for "load ips dat files"
- since they never fixed sdl2_image 2.6.x which does not return palettes anymore for 256 colors png, I finally merged the right version of their load_png function to be able to keep the color cycling in the raine dialog on systems with a recent sdl2_image (linux only !)
- raine can optionally be compiled using clang, it's mainly useful for debuging
- add back button in game controllers to switch between dialog headers and main parts in the gui
- Plus some minor stuff... !
Also both appimage files, 32 bits and 64 bits have been updated to 0.95.5, and there was a small problem in the makefile which forced me to make a 0.95.5b version just for the linux packages.
--0.95.4b--
Fixed a bug specific to windows and which doesn't happen all the time displayed very weird script error messages. And the lua label was missing for the lua console script for sf2, that's all so it's sill 0.95.4, just an update.
--0.95.4--
Yeah, ffman1985 was making bigger and bigger scripts which were harder and harder for the old script system, so I tried an lua interface instead, and it made wonders, I can have 0% in Misc with a console script active in linux with the 32 bits version constantly !
The console scripts are available for xmcotar1d, sfz2ald, sfad, af2, af2j, sf2hf, sf2hfj, sf2ce, sf2cejc. For now the old normal version is still available for comparison, but since we couldn't find any bug it will probably be removed next time. The lua version has [lua] at the end of its title. There is a perl converter to convert from the old scripts to the new lua syntax, but it's useful only for those writing scripts !
You can read more details about the crazy work from ffman1985 with these scripts there, and post something for him too
This means you get a new dll, it's included in the raine32 and raine64 zip files for now.
Except that :
some last fixes for the multiple files selector to preload ips dat files
a setting to disable ips files globally (at the top of the "preload ips dat files" file selector)
revert a neogeo optimization which made unibios crazy with its strange screensaver (a black screen when using their cheat menu)
a fix so that keys which open a gui dialog are not seen as always down when returning to the game
--0.95.3--
Fixes only this time, there were quite a few annoying ones, plus a surprise from long past, a fix for 64street & chimerab attract mode! For these 2 to say the truth the fix itself was found by Haze for mame around version 0.170 so quite a long time ago already, and then found in the github web interface by Antiriad, and finally adapted by me to raine ! This bug made me crazy, such a simple memory map for such a crazy effect, no move during attact mode... It turns out it's something very similar to the nmk driver, they push what they can do with the 68000 to the limit, write bytes are mirrored to words in their main ram ! Actually this bug had been here since 0.28 and before, but I saw it only when testing the turbo key behavior, so it's a very special bug !!!
Anyway except that the more classical bug fixes are :
better message for broken ips .dat files
Ignore repeated keys ! I had some trouble with the turbo key DEL, which must be held down as long as you want the acceleration to occur, but after a while it created havoc. It's because sdl2 handles key repetition and I missed it completely ! It's fixed now.
console : fix breakpoints for 68k cpus which I had stupidly broken when adding the z80 breakpoints !
The multiple files selector used for ips dat files doesn't loose its selection anymore when resizing the windows
Still for ips dat files : when no dat files are selected delete the corresponding ini file when leaving the directory or closing the dialog
some more fixes to this multiple files selector... !
a fix for a crash I got in the console while copying and pasting info from the console
--0.95.2--
I was contacted by someone who couldn't make the appimage from about 1 year go to work, it was 0.93.x version, with very old dependencies... So this time I took the time to create a virtual machine to test this in mint 21.2 (which I don't like a lot !), and the appimage got a few updates (only the 64 bits version is updated, I have currently no setup to build the 32 bits version so I must restart it from scratch and it would take too much time). The audio seems slightly delayed in the VM, but except that everything seems ok now, couldn't contact internet archive but it was a VM problem, I should add a cancel button to the curl dialog but it will be for another time ! By the way this fat archive weights 16 Mb which is about 8 times the size of a normal release !!! At least you get all the optional data files + the dependencies inside, and it should work on any linux distrib having at least glibc-2.29 (which is very old, it's bionic ubuntu). It's a last resort if you can't install any normal version...
And there were a few bugs in accessing some files in the appimage which pushed me to fix quite a few paths which were wrong also for windows, it's a miracle that some functions worked in windows, maybe I didn't test them enough, and it explains mer-curious problems with the ips files ! (and it's a crazy bug, sometimes a path with / is accepted, but sometimes not).
Anyway except the big heap of paths fixed, there is the 2nd fix for the default value of speed hacks in neogeo... !
Hoping it's the last time I cope with these silly bugs ! But the experience in the virtual machine was interesting anyway... !
--0.95.1--
A lot related to the new file selector for the ips dat files
supports some very basic editing of the .ini files in the ips directory, don't abuse it, these files are not supposed to be edited, but it should tolerate // at the beginning of a line and empty lines
Sample rate was wrongly initialized to 11 KHz if you launched raine without any config file (brand new install) and called the sound options dialog before loading any game. Most users would change manually this frequency rate in this case, but anyway... ! Now the sample rate take is the one returned by SDL_GetAudioDeviceSpec in all cases.
speed hacks are disabled by default in neogeo options, too tiresome to track the list of games which don't support them.
The music which was gone during the neogeo logo for aodk is back ! It was related to some very technical neogeo hardware initialization, see the source if you want details.
--0.95.0--
This one kept me busy for a few days, the windows version looses time in the conversions between double numbers and ints. It doesn't happen in linux, and I don't know the exact reason, it's probably related to mingw32, but anyway the fix is to merge muparser into raine and change its base type to "unsigned int". The consequence is that float numbers are not recognized anymore in the console, I'll just hope that no script used them, but I don't think any did.
It goes with a dll update, a few dlls were updated including sdl2, so it's advised to update for all windows users, the new packages are dlls32-0.95.7z for 32 bits and dlls64-0.95.7z for 64 bits.
The linux version didn't have this problem, but since I don't want to maintain 2 different versions the merge is done there too, and so raine doesn't need muparser to be installed anymore in linux. We get a very small speed improvement in linux too because it allowed me to make a few more optimizations since no type conversion is needed anymore now.
Except that there were a few small bug fixes for the recent 0.94.12b, but the really big thing is the merge of muparser inside raine and the gain of speed it brings.
--0.94.12b--
Mostly for using SLASH[0] instead of '/' to separate directories otherwise it isn't compatible with windows, but except that I had the time for :
Fixed a few stupid segfaults in the console due to the recent script changes
I had forgotten to include some cheat file for the new kof2002 clone, it's fixed.
while I was at it I added an experimental script to block the selection timer in kof97 since it seems it's impossible to find an ips which doesn't conflict with the training mode to do it. It works, but once you have selected your character you must disable the script otherwise the game will never start !
--0.94.12--
Yeah this version is mainly about the support of these ips files found on the net, the best source so far was found by mer-curious, see his topic on the subject in the forum if you are interested. So the dat files and the ips must be placed in an ips directory that raine will create next time you run it, or you can create it yourself (for linux it's in ~/.raine/ips ). The format is the one already used by these packs of dat files you can find on the net, subdirectories with the short name of the game containing the dat files + ips files related. A word of caution : it's the crazy bootleg world, some patches are not stable alone, and you add to the risk if you enable more than one, raine will warn you about conflicts it finds while applying the patches though.
So the 2 ways to apply them are through the command "preload ips dat file" which appears at the top of the main menu if no game has been loaded. It opens a file selector where you can select any dat file you want to add for a particular game in the ips directory. Your choice is saved in this same ips directory in an ini file with the short name of the game. You can either return to this function later to uncheck the dat files you chose if you don't want them anymore or just delete the ini file. Raine will check for conflicts when you load the corresponding game and will warn about them at the end of loading.
And the other is once the game is loaded, it can be applied only to code roms, from ips files only, not dat files, and it works only when the rom patched is in the right format, it's very specific and it was the only thing I wanted to add at first before being convinced to add the rest.
Except these ips features, you'll find :
new kof2002 clone, kf2k5uni which was mainly added to test an ips dat file... !
new setting to choose to have the profiler (f11 key) to display its % based on sdl2 performance counters instead of the rdtsc. It's a good option if the frequency of your cpu changes all the time, it's a good try if you have doubts about the results anyway.
new script command : stop, see help in the console for details.
--0.94.10--
The big focus of this one is the fix around the cps2 driver for the win64 binary, but since these are some bugs which can affect all the versions even if it's less obvious for the others, everyone should update. See the forum thread for the gory details about this bug.
Except that :
added some rnd() function to the console to get some random number, help included, I also added some help for the basic peek/dpeek/lpeek functions.
New GUI options : "background animation" to eventually stop the background animation for those who suffer from motion sickness, and "Autostart drivers", essentially for me, when I don't want the driver to start in the background as soon as it's loaded.
some minor text changes "Action Replay cheats" -> "Game cheats".
Oh yeah there is an optional update for the dlls, I removed 4 dlls from the big list by tweaking the build settings for freetype, these are not the biggest ones, but they sure were useless in windows, so it's a little better. You can keep the old version, the update doesn't bring anything except removing these 4 dlls, and I should probably rename the dlls to some other package because I am bound to have some incompatibilities with old versions, but it will be for next time... !
And I finally used a script to update the windows binaries to avoid the kind of mistake of last time !
--0.94.9--
Bigger archive than usual because new sdl + new muparser + new history.dat inside !
Except that
it's mostly the big update of the translations. I couldn't contact the spanish or the italian translator, so only the french and brazilian ones are really updated, for the others it's just the minimum updates so that they continue to work. mer-curious sent more patches to change some texts in the english GUI too.
added some console functions to handle save states from a post in the forum, we'll see if it's useful or not
added the ability to choose a japanese font, see the thread about that in the forum for details (it's optional). For the drivers which had a japanese name, you can now see it from the About dialog, "Driver information"
fix a weird crash in windows 64 bits only when using -nogui and a cps2 game (probably related to gcc, used a dummy statement to work around it), and fix another bug related to -nogui when you call the cheat dialog using the keyboard shortcut despite the fact that you started with -nogui !
arkangc : finally discovered that the 1st bit of the dipswitch is used for the initial ball speed in this version, it's now handled correctly (I used the cheats to control the ball speed with it so far).
fixed some bug in the controls related to mouse buttons, especially for the right mouse button (found out while trying to use the new trick to access the 50 last levels in "arkanoid returns", there is another topic in the forum about that)
fixed controller mapping while translating it : the joystick index was wrong, and the window to define the mapping only appeared the 1st time you used this function !
--0.94.8--
It's mainly to give a binary to those who don't compile from git, because there was a bad bug in 0.94.7 which broke the region switch in all the games which had one ! So basically, it's just this fix, + the fixes for soldam discussed in a recent forum's thread. Sorry, I had my share of problems this month, so no shiny new additions, just some official binaries for this important fix (it was because of mer-curious changes in the menus, but I should have noticed it, I wasn't careful enough).
--0.94.7--
There was a big bug related to cheats in 0.94.6, some games lost most of their cheats because of it, so that's the main fix of this version, and if you don't use them you can skip this update if you like ! Still about cheats the mouse didn't work in the cheats dialog and for some reason it took more than 1 year to get noticed, I know I use mainly the keyboard in raine, but it's strange nobody reported it earlier ! And the new kof clones get some cheats too.
Except that mer-curious continued his quest to fix the texts of the interface, since I didn't update the translations accordingly yet you might see some english text appear in some places if using one of the translations.
--0.94.6--
Finished galaga, savegames are more reliable and added a cheat to select the starting stage
revamped the "most played games" in the game selection dialog, now you can choose between "most played" and "most recent", which opens a new dialog with all the games you played. The list of "most recent games" is initialized the 1st time from the dates of the game files in savedata, if you kept them.
5 new kof hacks found by ffman1985. These are quite good hacks, it's for kof super fans only of course, and most of them can't be found in the internet archive (but kof2000ps2 can !).
few fixes for the console
mer-curious changed a few texts around the interface, and I updated the translations so they continue to work anyway.
--0.94.5--
Yeah galaga after all this time, talked about adding it long ago, I didn't forget, it just took me very long to find the motivation. Read the details and how to have the explosion sound there : LINK
It comes with an update to history.dat and hiscore.dat, which makes the archive slightly bigger than usual. There is also a cheat file.
except that : another fix for multiple cpu games which tend to hang (got the case with bublbobl, what a shame), I really hope it's the last time, it should. And another one for -nogui on the command line, when trying to load a neocd game (it worked with normal arcade games). This combination was probably not used by lots of people for sure. And a fix when taking screenshots from a window with an odd width (like 773), it could produce a very distorted image. I have no idea how my window reached such a width to produce this result, but at least it allowed me to fix one more bug !
And lots of improvement for the sound associations, new games supported, and improvements for quite a lot which were already supported, find the details in the forum if you are interested. There was also a fix for the automatic "skip silence" used for audio tracks which could eat the beginning of the actual track in some situations. (thanks to ffman1985 for all his tests and suggestions)
--0.94.4--
An amazing bug was fixed which made it impossible to run a game from the command line in windows... and it's been here for very long. Does it mean that nobody use frontends with raine anymore in windows?
Big acceleration in the console for mouse tracking (which displays some underlying text in reverse video), and scrolling speed once the window has reached its maximum size (actually you don't even see it scrolling anymore, but the result seems good). Also added some colors and sorted the commands for the help command.
Improvements for the sound associations for real bout fatal fury and samurai shodown, hoping it didn't break any other game... !!!
--0.94.3--
This one is mainly for linux since these leds emulation can't be done in windows, description in the forum there: check link for details
The other small improvements
fixed a big bug where games with more than 1 cpu of the same type like darius would break during the intro behind the menu. This one has been there for a long time, so either nobody played with these old games, or they didn't bother to report it !
Improvement to sound associations for rbff2
command.dat included is shorter which makes a smaller archive (removed useless stuff).
Also for some unknown reason, command.dat was bundled with the windows version, but not the linux version ! It's now fixed, and it's in git too.
I have hesitated quite a lot to add this leds emulation thinking it would not be very useful, but in the end it's fun to see working, and it was quite easy to do, so no regret, it's just too bad it's not used by more games !
--0.94.2--
In the gui only the left stick and buttons 0 & 1 are now handled
sound associations improvements for kof94/95, and enable this for samsho4 and real bout fatal fury 2.
the hiscore.dat file is smaller, got rid of a ton of useless stuff in it.
--0.94.1--
It's just the silly bugs reported in the thread of the previous version fixed, nothing more, no comment... !
--0.94.0--
Yeah not a big release, mainly small fixes but I had enough of 0.93 already.
Main changes:
- the new "most played games" feature, which shows the 5 most played games sorted by time in the game selection dialog. You can get details about that in the forum. It wouldn't be too hard to add a dialog to get the stats for all the games played and not only the 5 tops, eventually for later. More details on how it works can be found in the forum.
- A small fix for downloads with curl, if downloading a clone and the parent was not in the last rom directory tested it was downloading the parent even if it was already in another rom directory, should be fine now.
- A long overdue update for the profile display (the one where you get % times in the upper right corner of the screen). In all the time since I added support for sdl, I never realized that all the sound processing was done in a separate thread, so the profiling must be moved there. This makes the display more precise, also the results are rounded now instead of truncated.
- The slow down in kof97 for the 64 bits version was found and fixed.
- double buffer gets a "forced" option to ignore completely adaptive vsync, need more feedback on this from testers to see if it's really useful.
- a workaround for sdl-image 2.6.2 which doesn't handle png files with a palette anymore, preventing the colors from the raine logo to cycle ! I can't do anything about it for now, so in this case the logo is displayed statically without color cycling, but it's advised not to update the sdl2_image.dll for now (or equivalent in linux). It will help for linux distributions like arch where 2.6.2 is already the official version, I posted this to their bug tracker so we can hope a solution will be found.
- quite a few memwatch fixes, most of them were harmless, a few in the console might have been useful, I fixed them without investigating.
- kurikinj is removed because it's exactly the same romset as kurkint except for the region byte, making this version the 1st version which actually supports less roms than the previous one ! More details about that in the forum too.
- quite a few hiscores updates in the hiscore.dat file ! Now that it's bundled with the raine binary and in git too, it's easier to make our own updates on it. Actually I had added some scores in it for old games from the multi15 rom a long time ago, around 2019, but they were clearly lost in a hiscore.dat update, so I have put them back in, mostly for some pacman clones, adding xenrev which never had a hiscore entry before (the main goal of this version is to make the player lose !). Also battle bakraid finally gets a hiscore entry for its normal and unlimited versions.
There was an update for sdl2 to 2.0.24, nothing essential there, mostly things related to game controllers, maybe I should merge the binary update in the dlls packages. For now I left 2.0.22.
--0.93.5d--
Ok, this is becoming ridiculous. Change from yesterday : top is an index for displayed items and not for all items, so :
- for (index = top; index < nb_items; index++) {
+ for (index = menu_disp[top]; index < nb_items; index++) {
And now change from today : that's all good an nice, except that if the list is empty, then menu_disp becomes undefined, and you can't access menu_disp[] at all. So :
- for (index = menu_disp[top]; index < nb_items; index++) {
+ for (index = (menu_disp ? menu_disp[top] : 0); index < nb_items; index++) {
I don't see what else could go wrong in this stupid piece of code anyway. Maybe something else somewhere else, but not here ! Anyway, that's the 0.93.5d then, removed 5a, 5b, and 5c from the server.
Sorry I am still not in perfect shape so I am not really in mood to make some large scale tests... so it's a bet, but after so many failures it should work !
--0.93.5c--
The bug with mouse sensitivity forced me to change a function in the core of the gui, which is very dangerous, and I was almost sure there would be a problem... Maybe I should have taken more time to check things. Well I got a cold + some covid from a friend lately, so it's a little hard currently, I'll go and check for this covid a little later.
So the error was very limited, forgot a variable was linked to menu_disp and not to menu directly, which is normal since this code is almost never changed, I should just have waited longer to check things, blame the covid for that ! So it makes a new binary for a 1 line change only !
--0.93.5b--
Ok finally found mer-curious inversion problem, the 64 bits version doesn't have the same indexes for this dialog, so I check directly the labels now to work around that... !
And finally fixed the inputs dialog problem when using the mouse (index error).
--0.93.5a--
New binary uploaded : 0.93.5a, still shows 0.93.5 in the about dialog, it just fixes the disappeared "joysticks indexes" in the controls dialog.
--0.93.5--
Nothing fancy here, just some fixes and little improvements here and there. Actually 0.93.4 was using libmpg123 for mp3 decoding, and this version reverts to the decoder included in sdl2_sound, which makes quite a mess in the dlls. So the dlls are updated for this version, be sure to update from the right dlls package (32 or 64 bits).
The unofficial binaries I released in the forum had at least a bug to load any neocd game, that's why I finally release this binary with everything fixed and tidy. You can see the changes in git, nothing exciting here as I said, I started to remove the old analog input section from inputs which has been broken for ages, but so far the new way to handle this works only for chasehq & contcirc. I had planned to add a new driver with something more consequent for these new inputs, but I missed time and motivation for that sorry, I lost a dog who shared my life for 15 years at the end of march, then some family problem, then the heat in the beginning of june... ! Anyway raine is not dead at least, and you get this new binary. I tested it in linux only but everything should be fine.
--0.93.4--
This binary is only about the sound associations, particularly those related to kof2001, so if you are not interested in this, you can skip this one because it changes the colors encoding so if you load it with a previous config file you'll need to use the "revert to" command from the colors menu in options. It also includes a new dll for libmpg123, which is included in the archive for this version, it will go to the dlls package soon for the next versions.
--0.93.3--
Yeah, annoyed by a nasty thread bug in 0.93.2 for those who installed without a previous config file, so here is a fix.
Not a few changes except that, 0.93.2 was only 2 days ago, but :
- curl should now know how to download a parent set when needed (not totally sure it will work all the time, but it should).
- A fix for the sound dialog which got some strange strings inside when you tried to change the driver
- And all the rest are memory leak fixes, most of them harmless, but the file selector leaked quite a lot of memory and I hadn't noticed, since it's not used very much it was not a very big deal, but still it's better like that. these fixes are thanks to https://sourceforge.net/projects/memwatch/
Notice that this annoying bug could be worked around by simply quitting raine once using the quit command so that it writes its config file, so it was not so disastrous, but here is the fix anyway... !
--0.93.2--
Yes, 0.93 was for gauntlet in case you didn't know, and finally the 32 bits and the 64 bits version work, actually the 32 bits version even has the attract mode sounds working, which even mame has not, but this game is crazily programmed anyway, and there's no reason to be proud of that. I am not 100% sure everything works because I only tested in single player, but afaik gauntlet 1 & 2 are both working, the code is slightly different from what there was in this famous mge since I use the old excellent slapstick emulation from mame, and I am still not 100% sure it will work everywhere, but it should be good normally.
Except that a few interesting changes :
- finally fixed the annoying black zone which appeared when jumping in some super street fighter 2 games in cps2 drivers. The reason was again the cps2 rasters, it allowed me to fix a few bugs in the previous emulation. I didn't retest the other places using rasters, I'll just hope for the best !
- Also since most of these cps2 games used finally a 4:3 screen despite their 16:9 resolution, there is now the option to display them in 4:3, see the new "fix aspect ratio to 4:3" option in renderer options for opengl, it has now a new option "always" to force any game to 4:3. This is discussed in detail in the 0.93.1 thread here.
- A fix when loading some games in the same session, like multi pang after super pang, it was because of something badly done when adding the new sound chips recently, it probably affected quite a few games, not these 2 only.
- Some cheats had some serious syntax error, finding a variable which didn't exist and displaying the error message in a loop. The conversion was updated, and the cheats fixed (at least those I could detect).
- For those using the "controller mapping", I had forgotten the case when more than 1 controller is using these special mappings, it's fixed.
- And fixed a weird bug when trying to run the windows version of raine in wine.
--0.93.1--
- gauntlet finally works with starscream (you'll get 4 welcome when you start the game, but after that everything seems fine). Gauntlet 2 doesn't work though (with starscream), still some problems with the slapstick there... (it means it works in the 32 bits version !).
- fix for timers badly saved in savegames made with the optimized builds ! This one was quite a surprise, and it's suprising nobody noticed before that, but anyway. You got a strange warning about a bad id in the savegame with previous version, for all the games which used timers, and there are quite a few. (I didn't notice because it happens only on optimized builds, and I use a debug build most of the time !).
- Finally merged the controllermap program from sdl2 inside raine ! It's because of the findings from mer-curious. Anyway most people shouldn't need this, it's in case where your game controller doesn't behave normally at all, as a last resort. You can try it by curiosity if you want... ! The command is in the inputs menu, "Controller mapping", and it saves its settings in config/userdb.txt. By the way I could only test this with a controller which was already recognized as a game controller, for those who have a beast which isn't even recognized as such, you might have to quit raine and restart it after using this so that it reads the new gamecontroller configuration. I can't test all the possibilities here... !
--0.93.0--
Ok, particular version since it adds 3 gauntlets games (the main one, the spanish version which doesn't speak spanish so it's not really interesting, and the 2) which work perfectly with the C cpu cores (64 bits version), but not well at all with the asm cpu cores (32 bits). I might return to that with new ideas later, but since the changes are already becoming quite big, it was probably a good time to release this. These games are really a playground for hackers with all the crazy stuff inside, I might play more later then... ! About the games themselves, these are really multiplayer games, you can test this in solo, but you won't get far. By the way, big thanks to the advancmame team which maintained an old version of mame which can still be compiled nowdays, I used this for testing stuff while trying to understand how things worked, very convenient... Again the new games can be played only in 64 bits, they can be launched in 32 bits, but don't complain if there are problems ! They were some big beasts finally, adding 2 new sound chips + the slapstic support. Ah also despite the original hardware having a 68010, I found they work very well with a 68000 only, so I left the 68000, it's easier.
You'll notice the binaries are 1 Mb bigger than usual, that's because they contain an update to sdl2 (I'll update the dlls package later), the updated history.dat file (which won't be in all releases but this time it was updated with the new games info). There are also some new cheats for the new games but these are small.
Except that, a lot of fixes as usual, this version is smarter with internet archive so it's able to get its files from more directories so it's already able to get the gauntlet roms and the updated toaplan2 ones. It also removes the ssl verification which gave me an error when I tested this in windows (I wonder if it ever worked in windows, I don't think I tested this in windows ?). Other fixes for the ksystem games which were still trying 8bpp functions (kikikai, knightb and kicknrun, very old games too), for toaplan2 (there was a high probability of crash if loading more than 1 toaplan2 game in the same session), the gui (mouse wheel support was not perfect), the console (basic support for the 6502 which also allows to use cheats for games using only some 6502, never noticed they didn't work before, too many things to test, really... ! And some fix for the 68000 breakpoints too).
That's all ? Yeah I think... Ah I had a problem when testing the windows binaries in wine, but they work well in my native windows 10, so I released them anyway, I'll make some more tests with wine later. And the linux binaries will be updated soon too...
edit1: for the linux binaries there was an update to muparser in arch just now, my 64 bits version is now 2.3.3 while the 32 bits version is still 2.3.2 ! So well the 32 bits version can't be compiled for now, I'll fix that tomorrow.
edit2 : finally I updated my 32 bits libmuparser manually so that I can compile this. The pkgbuild and the archive are posted, but you won't be able to compile this on your side without muparser-2.3.3 in 32 bits ! You can use the archive though (.tar.xz), should be binary compatible with 2.3.2.
--0.92.6--
Anyway it's just a quick fix of 0.92.5 problems : crash if opening the sound options dialog, leaving it, and opening it again (!)
Bad playing frequency of external audio tracks (except the raw format ones !)
And there was a bad entry added to the hiscore.dat hosted here, it's probably me who added it, but a very long time ago, it was for viewpoint, and the syntax was a mix between the old format and the new one, and the hiscore parser didn't like it (what a surprise !). Since this file was here for more than 1 year, I fixed the parser to accept this syntax too, even if it's the only entry of this kind in the hiscore.dat !
And I added the hiscore.dat to all the binary packages, linux & windows (going from 2.5 Mb to 2.6 Mb, what a deal... !).
--0.92.5--
Except that a few more fixes, the more outstanding one at least for me was a bug in the hiscores which could wrongly reset its status for some game, I found out on some very old one, "ms pacman attacks", which is available from "multipac 1.5", it lost its hiscores a few seconds only into the game ! It probably affected some other games too.
Lots of small fixes for emudx games, it's been a long time since I didn't touch this, by the way the initialization of emudx games crashed in 0.92.4, so if you want to test that you need this version !
Also a lot of sound chips now correctly save their state in the savegames, games like batrider now restore correctly their sound finally (yeah it should have been done long ago... oh well !).
--0.92.4--
Finally more time to finish this one... I even thought about adding something new to emulate for a while, but too many things to do for that for now, maybe later... So the main fixes are around the game controllers, and the dead zone of some which canceled the moves from the d-pad. Also there are about 100+ new recognized game controllers for linux, and 400+ for windows ! (more people would use windows ? What a surprise !). All these new controllers mappings come from there : http://raine.1emulation.com/download/latest.html
The other big part is the improvement for cps2 rasters, and the priorities in xmvsf, notice the priorities are still not perfectly emulated, there are probably places left in some cps2 games where there are problems.
Except that most of the emulated games are now rendered in 16bpp because most of the emulated games have color palettes of 16bpp or less. 2 exceptions : the taito f3 games, and macross +, for these 2 it's still 32bpp, for all the others it's 16bpp. The reason ? Smaller bitmaps, so it's faster to draw and faster to render to screen.
And there were problems with some taito f3 games, especially in 64 bits, but even in 32 bits there was a black screen for puchcar on boot because of a recent fix. All this should be fixed now... It's almost a Christmas version this time !
--0.92.3--
Yeah I think I can call it like that, that's him who reported all the bugs to fix, with great descriptions to be sure to be understood, he was perfect on this one, even if I was a little disappointed to see 0.92.2 disappear so fast ! Anyway here are the fixes this time :
- the sound associations were deleted if you loaded any game which had some. This reason alone was enough to make a new binary to avoid that people delete all their associations !
- yet another gui problem where the loading dialog was zoomed too much. Fixed, and the default is now to use opengl for rendering, which makes much more sense since it has more options and is much more tested.
- cps2 rasters are better, see the details in the 0.92.2 thread if you want to know how.
- and the joysticks configuration changes again, which obliged me to reset again the keys configuration since they are saved with the keys. Sorry, it should be the last time I do that. This fixes a conflict between the hat of a gamepad and a stick direction if the gamepad was not recognized as an sdl2 game controller. This one was hard to precisely pinpoint, but anyway it's fixed too.
--0.92.2--
It's still mainly about fixing the sdl2 issues, the only emulation change is the addition of some rasters emulation for cps2, finally, but I didn't test that a lot (actually only on the lava level in attract mode for msh !), so don't expect miracles. It's easier to emulate than the neogeo rasters though, so it's fast. Except that :
- mouse wheel fixed again
- the gui handles some strings too long to be displayed properly (they are cut now, but the default is still a small 640x480 window for raine, so just change that to fullscreen or anything bigger before complaining !)
- fix broken screenshots in opengl
- some experimental game controllers mappings for mer-curious, we'll see how it goes...
- the option to use the dpad for movement only or to be able to remap it when the dpad is recognized (game controllers)
- and some little details (more default inputs for the joysticks, the hats are handled again natively for unknown game controllers...).
--0.92.1--
t's mainly something to fix the little problems of 0.92... The dlls change again to address the incompatibility with xp of the previous set in 32 bits (there seems to be other problems with xp related to the 3d, but at least it's not a stupid message from microsoft to tell you are not allowed to run this in xp anymore !), and it's changed too for the 64 bits version because it allows me to make both versions the same way, + it's almost half the size of the previous archive. The only dlls packages listed in the download page are the ones required for the latest version, so just update and it should be ok.
Except that, mostly fixes for 0.92 as I said. The key codes change again, we switch to all scancodes to be able to have default keys which don't change with each international mapping, but you have nothing to do here, it will overwrite all the keyboard configuration if it reads an config file from the previous versions. The joysticks use some saner defaults too but for them I didn't overwrite the config sections in case you have something fixed on your side which is different from the default. The famous bug found by mer-curious which prevented special moves from the right side in msh is fixed, and there was again a problem with merged inputs which should be fixed for good this time. Also you have the option of integer scaling in opengl. I tested it, and I am not convinced, there's no real improvement in the scaled image for me, but I left the option, you can test it and report in the forum. (The option is in "renderer options" for opengl).
Also sdl is updated to 2.0.18, actually they mostly add new functions, it's very different from sdl-1.2 which was frozen in time, for now I don't use them, but updated anyway...
--0.92--
It was epic, with 2 months where I simply gave up about this before returning to it finally, anyway... !
What to say about it ? It's huge, it's probably the version with the most changes inside even if there are almost no changes on the emulation side, except for the bug fixes I made while testing things.
The 1st goal was to get rid of the opengl blits in windows while having a usable gui even in fullscreen, it's done. By the way it's a "desktop fullscreen" meaning it's just an invisible window using the whole desktop place, so it behaves exactly like a normal fullscreen and normally you don't see any difference. Also the games using rasters and the emudx games work correctly (didn't test all the emudx games, just 2, but the rest should be ok).
The keys configuration has changed, because keys constants have changed in sdl2, so even if it still reads its configuration from the same file, it reads the keys from a new section, with -sdl2 at the end of the name of the section. Sorry for those who had a lot of custom inputs, but there were too many incompatible changes, it's better to restart from scratch here.
New "game controllers" interface, so that you can plug or unplug a joystick during game play without problem, don't abuse this though, I tested it a little, but not sure I tested all the possible cases. And joystick 1 in raine won't become joystick 2 just because you plugged a new joystick. There is also a new command in the inputs menu "joysticks indexes" to change these joysticks positions if you have at least 2 joysticks plugged. There's a lot less changes in the configuration saved for the joysticks, maybe a few buttons will be different in configs which use more than 4 buttons though, just check and adapt... Also if you use a gamepad recognized by sdl2, the digital cross on the left should be automatically mapped to the left stick, so it can be used for movement without doing anything.
The sound has a new 48 Khz option which is almost useless, just added that for testing.
Opengl has the adaptive vsync now, check in "video info" after playing something to see if it works for you. Better vsync in windowed mode, but I double checked you can disable vsync if you want in "renderer options", yeah it works, but it didn't last night !
There is no video driver selection for windows anymore, useless normally. A new video renderer "sdl2 native", mainly for testing, not spectacular, and no specific options for now. Notice the opengl rendering is not super optimized yet, all the games are rendered in 32 bits, the simplest solution, but not the fastest one. It's enough for current hardware... Same thing for emudx, it could be remade using new functions for better performance...
The gui has the most obvious changes, a simple animation now runs behind the transparent menus, if you load a game it starts in the background behind the menus, but if you start to play it's paused when you return to the gui, like before.
While testing things the most obvious bugs fixed were :
- all the cps1 games using 6 buttons had lost their 3 1st buttons ! It's due to the code to include inputs from another game, went too fast on this one, this time it should be fixed for good.
- and bubble bobble has been broken in the 64 bits version since version 0.91.14, which was released about 9 months ago ! At least it's not a generic bug, it's something very specific to this driver, it's an old thing with non portable ideas inside which created a black screen on boot here, it's fixed anyway.
- commands displayed from the command.dat file (like the buttons of 1941 in the "controls" section) were bad for quite some time, it's fixed too.
There is a new index_roms file with this binary, it's to get the sizes of the roms from the internet archive so that the dialog is not inert while it's downloading since their server doesn't send the size of the file before the download starts. The 2 vera fonts have been replaced by DejaVu versions, which look about the same but contain more utf8 characters inside to be able to display more things without problems. they don't contain Japanese characters though.
There might be a few other things I forgot. Well it's so huge that I can't be sure there won't be any problem anyway, we'll see... !
Don't forget to grab the dlls32-0.92 or dlls-0.92 file depending on the version you are using, it's bigger with plenty of useless stuff inside, but it's the price of using precompiled packages in mingw32 and mingw64, it simplifies things and allows fast updates, but it's bigger on disk.
--0.91.21--
The biggest one is about the 32 bits asm functions which suddenly started to crash in windows. I didn't know because I test in linux and wine doesn't care about the memory regions protections ! What probably happened is that this new protection came with the update of gcc, like what happened in linux. The difference is there is no /proc in windows, making things more messy. If someone knows how to get the base address of the region containing a given function, tell me ! For now I just used some rough approximation... Anyway normally all this asm code works again, assuming I didn't miss anything.
The other big one is that I broke the init of all the neocd games in 0.91.20, sorry, it was easy to fix, but it made a lot of games unloadable !
And the last one is the return of the opengl blits : to fix the asm code I needed to test this in the real windows, and the gui is becoming almost unusable without this feature. So it's back, but this time it's optional, you can disable it in video options / Renderer options / Opengl blits. Like last time, it breaks emudx games and neogeo games using rasters, so it's not an ideal solution, but it's better than nothing, especially if you want fullscreen ! The real fix to that would be sdl2... ! They are enabled by default in windows, and it's saved in the configuration of course.
And I also added some test before saving the neogeo backup ram because mine was probably saved at a bad time and it corrupted it. You'll see a warning if it detects it can't save the backup ram. Afaik, it happens only from the test mode.
--0.91.20--
This is to address the bugs found by Augusto (some of them at least) :
- fix burning fight and "fatal fury 3" in 64 bits
- fix the inputs for irrmaze and popbounc : this is very specific to these games since they are the only neogeo games which can use a paddle. Originally there was a specific bios for these games, but in asian only and it's now unavailable. Unibios has a workaround built inside apparently, and so you'll need a version of unibios to run these games with the mouse (it might be possible to use popbounc with the joystick). For popbounc, you choose which input to use with the soft dips, you can change this in real time in the raine dialog for that, in "neo-cd/neo-geo options" once the game is loaded. Tested only with unibios 3.2 and 4.0, works with both, mouse is not recognized with the standard european mvs vers 2 bios. Hum, don't try to move the mouse while the game is initializing... !
- added some basic setting to slow down the modern mice ! You can configure that in the inputs dialog, the setting is saved when you quit raine (with the quit command as usual, closing the program by any other mean doesn't save the config). It can only be slowed down, modern mouses are already too fast for the low resolution of these games. This setting should be used by all the games using the mouse of course...
- a few misc fixes, like the break console command which didn't work anymore with starscream
- recent versions of curl forbid spaces in the urls so I had to work around that, this fix is useful only for linux, I didn't update curl for the windows version.
--0.91.19--
Sorry guys, I'm out of motivation to finish the sdl2 port, I have committed my changes so far to git but it's not finished. But as it is, the sdl-1.2 version can still be built without problem, and with the problems reported about the bad blits because of the opengl gui, it's a good time to release something. So the changes are:
new Brazilian Portuguese locale
curl now gets the rom from the full internet archive for raine instead of trying to guess where it can find it. As I said it's quite slow, but as a remainder, when Antiriad was working on the f3 emulation, it took him a whole night to retrieve one of these roms, so it's very fast compared to this !
And reverted the opengl gui, meaning you get the fullscreen bugs back for the windows version, but it also fixes the emudx games + neo turf masters (you'll probably have to disable the speed hacks in neocd options for neo turf masters). For those who prefer the opengl gui and don't care about these fixes, just stay with 0.91.18 !
Hey, it would make a very nice final version for raine I think. Lots of locale, can even get its roms from the internet, nice way to finish it.
If ever I find some new motivation I might finish this sdl2 port one day, but nothing is less sure for now...
--0.9.18--
I might have released 0.91.16 & 0.91.17 too fast, but this one finally holds its promise : all the cps2 games supported (at least those using qsound, gigaman2 being a bootleg without any z80 rom it's out of the list, I even added it to non working games !).
Except that I finally added some breakpoints in the console for the z80 which helped me a lot to finish this. And updated the help for the regs and break commands, still in the console.
Sorry for all the bad binaries lately, it should be finished this time !
--0.9.17--
Timely fix for the previous version !
The cps2 music detection was crap in the previous version, here is the fixed version !
This one is based on reading the code in the z80 rom and using directly a table which describes the sounds to play, so it's very reliable to detect if something is a music, but it doesn't work for all the roms, it works for the majority though. For those which don't work (mainly the oldest ones including cps1 qsound and the newest ones !) the sound commands dialog is simply disabled. Anyway it's good enough for me for now... sorry for the double release !
--0.9.16--
Just for the sound associations
Everything is in the title, it's a binary only for those playing with sound associations to play with customized musics, look in the forum for details. This version fixes the sound commands for matrimelee and adds support for cps2 games... yeah all of them, even the cps1 games using qsound. It's still quite experimental for the cps2, but it seems functional enough for a release...
It's almost only fixes, but there are quite a few:
NeoCD/NeoGeo
unlikely incompatibility between mslug2 & pbobblen, this fixes both this time.
there were some problems in neocd with speed hacks, they are now disabled for the kof games and kabukikl
still on neocd, there was a crash when reading an audio track merged with the main data track, this worked before, but anyway it's fixed.
old capcom savegames prior to some time in march 2020 couldn't be restored anymore, I added a callback to fix things on the fly, it might not work for all the games, I don't have savegames for all of them, but it should work for most of them.
the year is updated automatically now there was a strange "stack smash" on my laptop when opening the console, it happens only on this computer, which has exactly the same software setup as my main computer, so it's probably a gcc bug, but for now I disabled their stack protection to work around that, even if it's required only for 1 file related to the console, I disabled it everywhere.
cheats
the scripts can now handle more than 100 arguments, required for some cheats about the starting level !
fix pbobble2/2o/2x always on help line cheat
fix pbobble2 alternate world levels cheat
fix cheats comments containing ", and handle multi-line comments for cheats, the bottom line of the screen will "flash" if the comment is too long, just click on it to get the full comment. Example of such a cheat : the last one for strider.
and by the way finally update the default background color to be darker and less transparent, I did it here on my default settings a long time ago but I should have committed it, here it is, handy to be able to read these big comments for the cheats. (if you keep your settings while updating and want to try the default new color, just delete the bg_color line in rainex_sdl.cfg/raine32_sdl.cfg in the config directory).
----
one is about the speed of games like pang for the 64 bits version (they were too slow !), it's specific to the z80 emulation using the C version only.
and the other is quite original, a graphical glitch in some cps2 games like hyper street fighter 2 and some others which was unnoticed for more than 10 years ! You can see pictures along with the discussion there : https://github.com/zelurker/raine/issues/25#issuecomment-799135733
--
the main problem this time is in the 64 bits build, all the kabuki games were broken (pang, super pang, block, pengo, and quite a few cps1 games).
Also fixes chasehq and continental circus graphics. chasehq and night striker gain a region switch too.
And a last fix (hopefully !) for the sound associations with kof99, a song which never stopped during the intro.
--
Cabal (cabalbl) is finally fixed, graphics and sound. The kind of game which seems easy to emulate and which is tricky. This one is quite different in raine, we don't have at all the same way to handle the samples (but thanks for finding the crazy bitswap for the sound command !).
neogeo/neocd saves didn't contain the 68000 bank, it's fixed (problem hard to locate though !).
a last fix for the sound associations, the one included in the test build earlier.
sound associations fixes for kof98/99/garou and aof3, see mer-curious post
big toaplan2 update finally. Changes for the romsets : batridera becomes batriderja (mame name), added batsuguna (which is the old batsugun we had before if I remember correctly) and batsugunsp (which is really a special version and not a stupid clone), bgarreganv which was supposed to be a new version of battle garegga, but good luck to find what's changed inside, also bgareggat2 which is supposed to be "type 2", same comment, and bbakraidja which was the old bbakraid. kgpe becomes kingdmgp, same game but different crc for the rom and official mame name, comes with cheats so it's better. sstriker had been mistakenly removed from the list of drivers so it's back, with a new clone, sstrikerk. Also batrider and bbakraid gain the biggest region switch ever seen in raine with 25 countries inside ! Not 25 languages though of course, it's japenese or english for the language, but it's still impressive ! Also there are some new fixes for batsugun inside to handle the graphical glitches, it should be ok until the end of stage 3 if I remember wel, the big boss here is still too black but it's much better than before anyway !
peekaboo didn't run in 64 bits, specific problem to the emulation there, it's fixed but there are still emulation problems.
added new clone tetristh which is like tetrist but on some different taito hardware (taito h), but it's exactly the same game though, it's more a curiosity.
new cheats for the new clones, kingdmgp, tetristh, batsugunsp, sstriker (it's not a clone but it was gone !).
you couldn't disable the shaders without quiting in this 0.91 version, fixed now (at least in linux, but probably in windows too).
fixes again region switch for lots of games which got broken when changing something else lately. The list of affected games is big, found out for syvalion.
avoid deleting a rom when downloading with curl : if trying to get a clone which doesn't exist on the server but it is on the disk without its parent, then the clone was deleted ! Now it's not at least !
makaiden didn't load its correct gfx rom, so it looked exactly like its parent (very old bug since 2010 !).
And some big source changes to make rom structs more readable and a little smaller, it should have been done long ago, but there is always something else to do... !