libretro-mirrors / beetle-saturn-libretro

Standalone port of Mednafen Saturn to the libretro API.
GNU General Public License v2.0
62 stars 42 forks source link

The core is very outdated 0.9.48 and the standalone 1.22.1 #129

Closed ToniBC closed 5 years ago

ToniBC commented 5 years ago

This core is very outdated and several versions of mednafen came almost with exclusive arrangements for Saturn.

Theoretically applied updates....

SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a lesser error error message in some circumstances, and made the error messages related to BIOS file misconfiguration more verbose (and hopefully more helpful ...). SS: Fixed at least one background layer graphical glitch in "Radiant Silvergun" (at the start of stage 2C). SS: Fixed the graphical glitch near the end of the intro in "Snatcher". SS: Added Japanese keyboard (HSS-0129) emulation. SS: Improved emulation of SCU DSP DMA to program RAM, per tests on to SS (still nowhere near perfect, the way it's implemented on hardware is kind of horrible, but it should work ok if games use it it's meant to be used); fixes graphical glitches in "Shining Force III - Scenario 2", and perhaps in the other "Shining Force III" games as well. SS: Flush the prefetched SCU DSP instruction when PC is set via PPAF, instead of when END / ENDI executes or when execution is forcibly stopped, per tests on SS. SS: Disallow SCU DSP LOP from being written in a looped single instruction unless it is the final iteration, per tests on a SS. SS: Allow SCU DSP LOP to underflow to 0xFFF with LPS and BTM, per tests on to SS.

Mednafen 1.21.3 (waiting for update)

SS: Added "House of the Dead (Japan)" to internal database of games to use the data cache read bypass kludge with, to fix a game crash on the gun calibration screen. SS: Added "Virtua Fighter Kids (Java Tea Original)" and "World Series Baseball" to internal database of games to use the data cache read bypass kludge with, to fix gameplay glitches. SS: Added kludge to fix layer offset problem in "Alien Trilogy". SS: Added "WipEout" to internal database of games to use the data cache read bypass kludge with, to fix a hang that occurred when trying to exit gameplay back to the main menu._

Mednafen 1.22.0 (waiting for update)

SS: Added support for directly loading <= 1MiB bootable cart ROM images, with the expected file extension being "ss", for debugging and testing purposes. SS: Added setting "ss.cart.auto_default". SS: Added "Fighting Vipers" to the internal database of games to use the data cache read bypass kludge with, to fix the problem of the computer-controlled opponent sometimes losing the will to not be a statue. SS: Emulated input devices' internal states were not being reset on virtual power toggle; fixed. SS: Reorganized SCSP DSP emulation code to make the lifetime of variables clearer, for a possible x86_64 dynarec in the future. SS: Fixed an emulation inaccuracy with the handling of the SH-2 "mac.l" instruction when saturation is enabled, per tests on a SS.

Mednafen 1.22.1 (waiting for update)

SS: Corrected line-scroll handling in double-density interlaced mode with non-zero LSS; fixes broken background graphics effect in Dural's stage in "Virtua Fighter 2". SS: Added "Linkle Liver Story" to the internal database of games to use the data cache read bypass kludge with, to fix a crash/hang when going to the world map.

Some of the faults may already be solved, but, for example, those mentioned in House of the Dead, in the calibration screen of the gun, because in Retroarch it remains black and Mednafen works correctly.

It would be nice to update the core with the latest changes to improve the emulation.

Mr-Jake commented 5 years ago

Looking at the source code, it seems relatively simple to update the internal database portion. The current 0.9.48 db.cpp would have to be replaced by the new db.cpp from the 1.22.1 release. There was also a namespace addition to the header file db.h.

hiddenasbestos commented 5 years ago

Getting there :)

Mr-Jake commented 5 years ago

@hiddenasbestos A big thank you for keeping the Saturn core up to date!

ToniBC commented 5 years ago

Thank you very much for updating it, then I will try to see if what was wrong now works.

hiddenasbestos commented 5 years ago

There are more updates to apply (currently at 1.21.2 iirc), but they don't seem to be quite as significant a change as 0.9.48 -> 1.21.0 was

ToniBC commented 5 years ago

Indeed some changes are minor or only affect the functioning of Mednafen in general, but as I put in the first post (updated), there are several improvements and errors corrected from various games.

In the following update they arrange to use the gun in House of the Dead and the calibration screen, which in the libretro version does not work and the crosshair (cross) remains fixed in the left part.

But thanks for the effort to update it, since it was needed.

hiddenasbestos commented 5 years ago

Update to 1.21.3 in #140

hiddenasbestos commented 5 years ago

Updated to latest version. Enjoy! (sorry in advance if I broke anything :) )

ToniBC commented 5 years ago

When it is available to download the test to see how, for now the cursor of the gun works. Thank you.

hiddenasbestos commented 5 years ago

The pull requests will need to be merged and then the nightly build run - that's beyond my control but perhaps @twinaphex can let you know.