libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.09k stars 1.81k forks source link

PS3 Retroarch port of Atari 7800-Prosystem not referencing Database.c values when loading games #3376

Closed underball closed 8 years ago

underball commented 8 years ago

@twinaphex

Although the Prosystem flags, region, pokey and type values from the Database.c source file are being processed via MD5 hash file detection and passed to the emulator core in the Windows and Android ports of Retroarch, this is not happening in the PS3 1.3.6 beta. This causes any games with non-standard Type, Flags, Pokey, or Region values to either crash Retroarch, or not function properly.

Games to test this include:

Commando (Atari - Doesn't load, crashes PS3 console and requires manual restart of console) Double Dragon (Activision - game doesn't load, black screen, however, you can return to the RA menu) Kung Fu Master (Activision - graphics are garbled, game is unplayable)

This is a known issue with the original version of Prosystem on Windows and Linux (non-Retroarch) if you remove the Prosystem.dat file from the install folder, so that the emulator can't reference the database and pass the appropriate values, per game.

All these games are working on the Windows and Android ports of Retroarch (and every other port of Prosystem in existence, when the Prosystem.DAT file is present in the install folder alongside the executable.)

Roms of these games can be found here for testing purposes: http://www.atariage.com/system_items...ItemTypeID=ROM

andres-asm commented 8 years ago

This isn't a retroarch issue, the core should look in the standard locations instead of looking at the application dir. Use this repo instead https://github.com/libretro/prosystem-libretro

underball commented 8 years ago

No, This IS a Retroarch issue. In every other version of Prosystem, The Prosystem.DAT db file is a separate support file packaged alongside the executable. In Retroarch, whoever ported Prosystem to Libretro "baked in" the Prosystem.dat file into Database.c, so it's no longer a separate support file, and gets complied as part of the emulator core. So in Retroarch, endusers no longer have the ability to point to this file, so if it's not working, the problem is in the Core SELF file.

The problem is this isn't working in the PS3 port of Retroarch, but it is working in the Windows and Android ports of Rrtroarch. The problem isn't with the Prosystem source. The problem is with the PS3 port of Retroarch, ONLY.

It's a Retroarch issue, not a source issue.

inactive123 commented 8 years ago

If it's in the core SELf file, then the problem is in the core, not in RetroArch itself.

These are two separate entities. Reopen this issue in the Prosystem issue tracker.

underball commented 8 years ago

The problem isn't in the cores of other ports of Retroarch, though. Just the PS3 port. I'm not sure that it's the core, since the Atari 7800 core works fine in the Windows port of Retroarch.

andres-asm commented 8 years ago

Even moreso if it isn't an external file. Most likely Database.c isn't being compiled on PS3 or something. RA doesn't have a single hack for a particular core in the codebase.

On Wed, Aug 10, 2016 at 11:30 AM, underball notifications@github.com wrote:

The problem isn't in the cores of other ports of Retroarch, though. Just the PS3 port. I'm not sure that it's the core, since the Atari 7800 core works fine in the Windows port of Retroarch.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/3376#issuecomment-238923301, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0GI2kK_Vrpa7SxE6jWOp-zsdLjN0ks5qefyJgaJpZM4JhJxx .

underball commented 8 years ago

ok, that makes sense. so where do I post an issue about something not being compiled on one port of Retroarch, but working fine on all others? There is no separate PS3 Retroarch GIT where I can post issues related only to that port. If it's just the PS3 port not compiling the database.c, then it's possibly something with the makefile target of the PS3 port? or an includes list is skipping it on PS3 compile?