libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
114 stars 61 forks source link

[WiiU] - Amiga CD32 and CDTV games not loading #578

Open mikesk8 opened 1 year ago

mikesk8 commented 1 year ago

Hi, I am unable to load any CD32 nor CDTV games (Prehistorik, Alien Breed Tower Assault, Cannon Fodder) neither with PUAE nor PUAE 2021. The CD32/CDTV OS loads (in case the CD32 its continuous loop with the language selection), but the games are not starting. I have tried both CHD and BIN/CUE files. The same games/system roms are working fine under Mac. Both Mac and WiiU Retroarchs are default configurations.

Thank you, m. IMG_8334 IMG_8333

sonninnos commented 1 year ago

Has it ever worked?

I'm guessing it has to do with this:

#ifdef WIIU
/* FIXME: write using wiiu semaphore */
#warning WIIU bad Hack rewrite me 
...

Which also means anything threading related is not working either. Hard drives, CD images, etc.

mikesk8 commented 1 year ago

Unfortunately, I cannot confirm it has been working before as I am new to the WiiU Retroarch scene. Is there any chance to fix it any soon? :-)

sonninnos commented 1 year ago

It has been that way for years, so unless some WiiU expert comes along it will stay that way.

Related: https://github.com/libretro/libretro-uae/issues/427

babosvabo commented 1 year ago

CD32 works fine on WiiU. I confirm that by playing Fire and ice (CD32 version), tried freshly today on latest Retroarch https://www.lemonamiga.com/games/details.php?id=545

You probably haven't set up/used right Kickstart

vaguerant commented 1 year ago

Unless the readme and core information screens are wrong, I have the correct CD32 Kickstart ROMs. I have also confirmed my disc rips match up with Redump's database of known good discs. For good measure, I just tested Fire and Ice for CD32, with the same result as the user in the original issue filing: I'm dropped at the CD32 boot screen. At this point, I can use the RetroPad B (bottom) button to open the NVRAM screen or the RetroPad A (right) button to open the language selection, but I'm not able to launch the attached disc image to the best of my knowledge.

I have tested the same Kickstart ROMs and disc dumps on a Windows PC where they work completely fine.

Here's a log of the core unsuccessfully running a CD32 game: retroarch.log

The log confirms that my Kickstart files are recognized, and I can confirm visually that the ROMs are running by the fact that the CD32 logo and animation play upon startup. In this log I'm using a cue/split bin dump of the game. I have also tried cue/single bin and chd with no change.

There is one line which appears twice in the log that I don't understand but which looks mildly alarmed: [libretro INFO] CD: unitsem0 acquire mismatch! cnt=2

@babosvabo, since you are in the minority who have it working, could you describe your process? i.e. Besides the Kickstart ROMs in the system directory, have you changed any core options like the model or other specifications? What disc image format are you using (e.g. cue/bin, cue/iso/wav, chd)? Are you loading those discs directly or starting the core contentless then attaching a disc image? Do you see the Amiga CD32 screen upon boot like mikesk8 and myself? If yes, for how long?

sonninnos commented 1 year ago

My hunch is that the previous user simply was using the WHDLoad CD32 version of the game, since this error has absolutely nothing to do with "right Kickstart". Then again WHDLoad and hard drive stuff shouldn't work either if semaphores are to blame alone..

Indeed this smells very bad

[libretro INFO] CD: unitsem0 acquire mismatch! cnt=2
[libretro INFO] CD32: using drive  (unit 0, media 0)

since it is supposed to say

[libretro INFO] CD32: using drive IMG:<path_to_image> (unit 0, media 1)

But at least it says [libretro INFO] IMAGE driver installed, ok=1 and managed to parse the TOC, so maybe there is hope..

But like I guessed at the start, this is a semaphore related thing, which clearly needs rework for that platform.