libretro / mame2003-plus-libretro

Updated 2018 version of MAME (0.78) for libretro. with added game support plus many fixes and improvements
Other
186 stars 108 forks source link

Biofreak dosen't work on PS3 #883

Open crystalct opened 3 years ago

crystalct commented 3 years ago

It works on x86. Is mame2003-plus-libretro Big/Little endian issues free?

mahoneyt944 commented 3 years ago

Plus handles little / big endian accordingly as far as I know. It checks for it anyhow throughout the libretro-common / libretro-deps. Issue free? Hard to say. Emulation is never without it's issues.

When you say it doesn't work. How so? Doesn't load at all? Crashes, freezes, glitches?

crystalct commented 3 years ago

image

image

Then only 2 pixel visible... image

It's seems classic Big Endian issue.....

crystalct commented 3 years ago

I will test all CHDs games on PS3. Area51 family works fine.

mahoneyt944 commented 3 years ago

It also looks like you're running on an older version of plus. You should update from source before testing further. We fixed some bugs since the commit your using. But probably unrelated to this issue.

crystalct commented 3 years ago

Last official plus SELF file is 15 August 2020 old.... let me compile last commit...

crystalct commented 3 years ago

Meanwhile i tested Blitz on x86 ... it stop here: image

RetroArch x86 is updated: image

mahoneyt944 commented 3 years ago

Typically I wouldnt mention to update unless it was specific to the issue. But one of the updates was to dcs which is used by many midway games such as biofreak. Probably won't fix anything but it's good to test the current build.

crystalct commented 3 years ago

image image image image

mahoneyt944 commented 3 years ago

Screenshot_20200914-062758_1

It's set as big endian

mahoneyt944 commented 3 years ago

Looks like you got further in biofreak this time? I wonder if it has anything to do with the CMOS errors.

crystalct commented 3 years ago

Other infos: Beatmania family works fine. Biofreak, calspeed and carnevil same issues at start. cryptklr stop here: image All, except blitz, work fine on x86 (used same files, of course).

crystalct commented 3 years ago

Screenshot_20200914-062758_1

It's set as big endian

Maybe in some drivers was forgotten to consider big endian machines..... Maybe @vaguerant is able to read this comment.... let's try. @vaguerant could you try to test this/those games on WiiU?

mahoneyt944 commented 3 years ago

Well these are all Seattle driver games so that's where we need to look first I'd say.

vaguerant commented 3 years ago

Hey folks, just checking in thanks to @crystalct, but I'm not going to be much help based on my progress so far.

I tried loading up biofreak.zip (with biofreak.chd) on RetroArch for Wii U, another big-endian PPC platform, but it failed with the following in the log:

[libretro INFO] [MAME 2003+] Opening ROM file: sound102.u95
[libretro INFO] [MAME 2003+] Opening ROM file: biofreak.u32
[libretro INFO] [MAME 2003+] Opening disk image: biofreak.chd
[libretro INFO] [MAME 2003+] Opening differencing image: biofreak.dif
[libretro INFO] [MAME 2003+] Creating differencing image: biofreak.dif
[libretro ERROR] [MAME 2003+] biofreak.dif: CAN'T CREATE DIFF FILE
[INFO] [Environ]: SET_MESSAGE: Required files are missing, the game cannot be run.

I don't really have any experience with these games at all, so I'm not sure exactly what I'm doing wrong. It's possible my problem is related to directory creation--there was previously an issue in the FBNeo core where directory creation was nonworking on Wii U, so I had to create a certain directory manually and then everything worked fine.

If that's the issue, then it might be resolved if I can create the directory that biofreak.dif is expected to be written to. Can anybody advise as to where that would be, or any other issues they see in what I'm doing?

In the meantime, I'll see if I can manage any more success with blitz.

EDIT: Same behavior with blitz:

[libretro INFO] [MAME 2003+] Opening ROM file: sound102.u95
[libretro INFO] [MAME 2003+] Opening ROM file: blitz1_2.u32
[libretro INFO] [MAME 2003+] Opening disk image: blitz.chd
[libretro INFO] [MAME 2003+] Opening differencing image: blitz.dif
[libretro INFO] [MAME 2003+] Creating differencing image: blitz.dif
[libretro ERROR] [MAME 2003+] blitz.dif   : CAN'T CREATE DIFF FILE
[INFO] [Environ]: SET_MESSAGE: Required files are missing, the game cannot be run.
crystalct commented 3 years ago

@vaguerant, dont worry, the problem is the right chd. I had same problem. For right and working CHDs (v3 CHDs) search inside Youtube (not google) "mame2003" and go to "ROMSET COMPLETO - MAME 0.78 (2003)" from Azvarel RetroGamer channel (not mame 2003 plus cause CHDs not working). Follow link to his site and there are links to google drive for CHDs. Passowrd is in the youtube page and it is: azvarelmame Eventually, drivers zips can be downloaded from archive.org (search "MAME 2003-Plus Reference: Full Non-Merged Romsets")

vaguerant commented 3 years ago

OK, I reobtained the biofreak and blitz CHDs from the links you suggested, which took forever since the downloads were provided as a split RAR fullset, but the result was 100% identical to the issues I had with my original files. Are you absolutely sure this was the same issue you had? The errors being reported in the RetroArch log don't say anything about the CHD files, they relate to the creation of DIF files.

crystalct commented 3 years ago

Retroarch must write diff file, of course. So... in my x86 installation it writes here: C:\RetroArch\saves\mame2003-plus\diff

On Ps3: /dev_hdd0/game/SSNE10000/USRDIR/cores/savefiles/mame2003-plus/diff

From my experience on PS3 about Retroarch, to keep directories configuration to <Default> was always a problem. Check "Savefile" configuration of "Directory" menu. On PS3 is /dev_hdd0/game/SSNE10000/USRDIR/cores/savefiles and it exists, of course.

Wilstorm commented 3 years ago

It probably won't help much but I tested these two games running RetroPie on a Pi 4. The diff file writes to /home/pi/RetroPie/roms/mame-libretro/mame2003-plus/diff. They both run CHD version 3 from around 0.130 the latest CHD's won't work.

Biofreak runs ok but it's unplayable slow at 17 FPS on a Pi 4.

Blitz crashes on a Pi 4 with the following Libretro errors in the log file:

[libretro ERROR] cpunum_get_localtime() called for invalid cpu num!
[libretro ERROR] cpunum_get_localtime() called for invalid cpu num!
[libretro ERROR] [MAME 2003+] cpu_gettotalcycles() called with no executing cpu!
Wilstorm commented 3 years ago

TO clarify Blitz is more of a lockup at the intro screen rather than a crash at the same screen @crystalct posted above.

mahoneyt944 commented 3 years ago

I think the log should report the active cpu. Does it for blitz?

Wilstorm commented 3 years ago

&mahoneyt944 - I can’t check right now but will post a full log tomorrow if it will help. I should have posted the whole thing when I had it! =\

vaguerant commented 3 years ago

Thanks Wilstorm and crystalct for the hints re: diff path! I was able to get those directories created manually; on Wii U it was located at the following path:

sd:/retroarch/cores/savefiles/mame2003-plus/diff

I had to create the mame2003-plus directory as well as the diff directory. I also manually created cfg and nvram directories at the same time since it seems like those are supposed to be generated as well. I will file a separate issue shortly re: broken directory creation, but in the meantime, I was able to launch biofreak and blitz.

My MAME 2003 Plus is 270fb0fb, the same commit crystalct was testing, and neither game works on Wii U. On biofreak, I got the same result as crystalct had initially, a black screen with two white pixels. On blitz, just a black screen.

crystalct commented 3 years ago

On x86 and retro Pi they start.. on PS3 and WiiU don't start. First are Little Endian, PS3 and WiiU are Big Endian.... we have a suspect.

mahoneyt944 commented 3 years ago

@vaguerant to clarify, you got blitz and biofreak to work successfully by manually creating the correct mame2003-plus/diff directory on the WiiU (big endian system)?

If so we just need to verify why these directories were not created automatically

vaguerant commented 3 years ago

I didn't get the games to work successfully, I was only able to get them to launch by manually creating the mame2003-plus/diff directory. Once they launched, I seem to have the same problems as crystalct did which prevented the games from being usable. I believe there are two unrelated issues here: mkdir failing on Wii U, and some big-endian or other issue that affects PS3 and Wii U in the same way.

Here is the issue for broken mkdir on Wii U. FBNeo has a workaround to allow it to work, so possibly MAME 2003 Plus could adopt the same workaround until the issue gets a proper fix upstream.

mahoneyt944 commented 3 years ago

@vaguerant ok. So once you created the directory manually. Did the diff file save there? Theres a fix in place for loading / saving as seen here:

  /*fix trailing slash in path*/
  for(i = 0; options.libretro_content_path[i] != '\0'; ++i);
  if ( options.libretro_content_path[i-1] == '/' || options.libretro_content_path[i-1]  == '\\' )
   options.libretro_content_path[i-1] =0;

But I believe we need to implement this in the creation of the directories too to fix this.

vaguerant commented 3 years ago

Yep, the files seem to be writing out correctly. After testing both biofreak and blitz, I've got two files in mame2003-plus/diff: biofreak.dif (31.39 MB) and blitz.dif (6.31MB).

mahoneyt944 commented 3 years ago

Ok. Perfect, I'll look into the directory creation and get this going.

mahoneyt944 commented 3 years ago

@vaguerant ok I implemented a fix for the filepath. Delete the directories you made then update from source and see if they are created properly. Let me know how that works then we'll look into the endian issue a bit more.

mahoneyt944 commented 3 years ago

@Wilstorm I wonder if the system clock was ever set for rpi4, or the PS3 for that matter. Might be where the one error comes from in the log.

I think it's defined here but I don't see rpi4 or PS3 https://github.com/libretro/mame2003-plus-libretro/blob/5bb423920934ae064f56567a58a5cc2e3254c6ba/src/libretro-common/features/features_cpu.c#L38-L110

crystalct commented 3 years ago

#if defined(__CELLOS_LV2__) -> source code for PS3 using Sony SDK (version of Retroarch really working on PS3) #if defined(__PSL1GHT__) -> source code for PS3 using freeware SDK PSL1GHT (version of Retroarch incomplete and bugged)

mahoneyt944 commented 3 years ago

oh I see, yeah... I'm not familiar with anything ps3. So what about rpi4? Does this piggyback rpi3 system clock definitions or is it different?

crystalct commented 3 years ago

And i'm not familiar with RPI development :P

Wilstorm commented 3 years ago

@mahoneyt944 - Here's the full verbose log from blitz.

Parameters: 
Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/blitz.zip" --verbose --appendconfig /dev/shm/retroarch.cfg
[INFO] RetroArch 1.8.5 (Git 8bcd74b)
[INFO] Redirecting save file to "/home/pi/RetroPie/roms/mame-libretro/blitz.srm".
[INFO] Redirecting savestate to "/home/pi/RetroPie/roms/mame-libretro/blitz.state".
[INFO] === Build =======================================
[INFO] Capabilities:  NEON VFPv3 VFPv4
[INFO] Built: Apr 20 2020
[INFO] Version: 1.8.5
[INFO] Git: 8bcd74b
[INFO] =================================================
[INFO] Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so"
[INFO] [Overrides] no core-specific overrides found at /home/pi/.config/retroarch/config/MAME 2003-Plus/MAME 2003-Plus.cfg.
[INFO] [Overrides] no content-dir-specific overrides found at /home/pi/.config/retroarch/config/MAME 2003-Plus/mame-libretro.cfg.
[INFO] [Overrides] no game-specific overrides found at /home/pi/.config/retroarch/config/MAME 2003-Plus/blitz.cfg.
[INFO] [Remaps]: remap directory: /opt/retropie/configs/mame-libretro/
[INFO] Redirecting save file to "/home/pi/RetroPie/roms/mame-libretro/blitz.srm".
[INFO] Redirecting savestate to "/home/pi/RetroPie/roms/mame-libretro/blitz.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: PERFORMANCE_LEVEL: 10.
[INFO] Content loading skipped. Implementation will load it on its own.
[libretro INFO] [MAME 2003+] Full content path /home/pi/RetroPie/roms/mame-libretro/blitz.zip
[libretro INFO] [MAME 2003+] Git Version  a26def7
[libretro INFO] [MAME 2003+] Content lookup name: blitz
[libretro INFO] [MAME 2003+] Driver index counter: 3871. Matched game driver: blitz
[libretro INFO] [MAME 2003+] Content identified as having a tilt feature.
[libretro INFO] [MAME 2003+] Content identified as having a service button.
[libretro INFO] [MAME 2003+] Content identified as using 8-way joystick controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having joysticks on axis with respect to the cabinet.
[libretro INFO] [MAME 2003+] Content identified as supporting 4 players with 4 distinct controls.
[libretro INFO] [MAME 2003+] Content identified as supporting 3 button controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having mirrored multiplayer control labels.
[INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS".
[libretro INFO] [MAME 2003+] content path: /home/pi/RetroPie/roms/mame-libretro
[libretro INFO] [MAME 2003+]  system path: /home/pi/RetroPie/BIOS
[libretro INFO] [MAME 2003+]    save path: /home/pi/RetroPie/roms/mame-libretro/
[INFO] [Environ]: SET_VARIABLES.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[libretro INFO] [MAME 2003+] Opening ROM file: sound102.u95
[libretro INFO] [MAME 2003+] Opening ROM file: blitz1_2.u32
[libretro INFO] [MAME 2003+] Opening disk image: blitz.chd
[libretro INFO] [MAME 2003+] Opening differencing image: blitz.dif
[libretro INFO] [MAME 2003+] Succesfully loaded ROMs.
[libretro ERROR] cpunum_get_localtime() called for invalid cpu num!
[libretro ERROR] cpunum_get_localtime() called for invalid cpu num!
[INFO] [Environ]: SET_ROTATION: 0
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[libretro INFO] [MAME 2003+] 

CONTROLS: 

GAMEINFO: NFL Blitz
1997 Midway Games

CPU:
R5000 150.000000 MHz
ADSP2115 16.000000 MHz (sound)

Sound (stereo):
Custom

Screen Resolution:
512 x 400 (H) 57.000000 Hz
[INFO] [RCHEEVOS]: ext_hash 0b88c7d8 ('zip')
[INFO] Skipping SRAM load..
[INFO] [RCHEEVOS]: Load task finished
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[libretro INFO] [MAME 2003+] Sample timing rate too high for framerate required dropping to 57000.000000[INFO] [Cheats]: Load game-specific cheatfile: /home/pi/.config/retroarch/cheats/MAME 2003-Plus/blitz.cht
[INFO] [Audio]: Set audio input rate to: 57000.00 Hz.
[INFO] [Video]: Video @ 1920x1200
[INFO] [Video]: Starting threaded video driver ...
[INFO] [DRM]: Found 1 connectors.
[INFO] [DRM]: Connector 0 connected: yes
[INFO] [DRM]: Connector 0 has 10 modes.
[INFO] [DRM]: Connector 0 assigned to monitor index: #1.
[INFO] [DRM]: Mode 0: (1920x1200) 1920 x 1200, 60 Hz
[INFO] [DRM]: Mode 1: (1920x1080) 1920 x 1080, 60 Hz
[INFO] [DRM]: Mode 2: (1600x1200) 1600 x 1200, 60 Hz
[INFO] [DRM]: Mode 3: (1680x1050) 1680 x 1050, 60 Hz
[INFO] [DRM]: Mode 4: (1280x1024) 1280 x 1024, 60 Hz
[INFO] [DRM]: Mode 5: (1440x900) 1440 x 900, 60 Hz
[INFO] [DRM]: Mode 6: (1280x960) 1280 x 960, 60 Hz
[INFO] [DRM]: Mode 7: (1024x768) 1024 x 768, 60 Hz
[INFO] [DRM]: Mode 8: (800x600) 800 x 600, 60 Hz
[INFO] [DRM]: Mode 9: (640x480) 640 x 480, 60 Hz
[INFO] [GL]: Found GL context: kms
[INFO] [GL]: Detecting screen resolution 1920x1200.
[INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay
[INFO] [EGL]: EGL version: 1.4
[INFO] [EGL]: Current context: 0xa6e013d8.
[INFO] [KMS]: New FB: 1920x1200 (stride: 7680).
[INFO] [GL]: Vendor: Broadcom, Renderer: V3D 4.2.
[INFO] [GL]: Version: OpenGL ES 3.1 Mesa 19.3.2.
[INFO] [GL]: Using resolution 1920x1200
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shaders]: preset directory: /home/pi/.config/retroarch/shaders/presets
[INFO] [Shader driver]: Using GLSL shader backend.
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [udev]: Keyboard #0 (/dev/input/event0).
[INFO] [udev]: Keyboard #1 (/dev/input/mouse0).
[INFO] [udev]: Mouse #0 (/dev/input/event0).
[INFO] [udev]: Mouse #1 (/dev/input/mouse0).
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Video]: Found display server: null
[INFO] Found shader "/home/pi/.config/retroarch/shaders/2xsal-level2-crt.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/2xsal.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/2xScaleHQ.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/barrel-distortion.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/barrel-distortion_lanczos4.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/barrel-distortion_phosphor.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/barrel-distortion_snes.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/Brighter-with_Contrast.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/bsnes_gamma_ramp.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/crt-pi-curvature-vertical.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/crt-pi-curvature.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/crt-pi-vertical.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/crt-pi.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/gameboy-screen-grid.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/gameboy.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/gameboy2.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/gba-color.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2x&lcd3x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2x2.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2x_lcd3x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2x_phosphor.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2xwaterpaint.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq2xwaterpaintscanline.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq4x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/hq4x_lcd3x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/nds-color.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/nds.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/nedi.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/palm-color.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/phosphor.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/psp-color.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/retroarch.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/sharp-bilinear-2x-prescale.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/sharp-bilinear-scanlines.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/sharp-bilinear-simple.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes2.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_hq2x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpaint.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpainthicontrast.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpaintscanline.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_lcd3x.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_phosphor.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_scanline.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/snes_waterpaint.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/stock.glsl"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/super-2xsai.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/super-eagle.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/vba-color.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/xbr-lv1-noblend.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/zfast_crt_curve.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/zfast_crt_curve_vertical.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/zfast_crt_standard.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/zfast_crt_standard_vertical.glslp"
[INFO] Found shader "/home/pi/.config/retroarch/shaders/zfast_lcd_standard.glslp"
[INFO] [ALSA]: Using signed 16-bit format.
[INFO] [ALSA]: Period size: 768 frames
[INFO] [ALSA]: Buffer size: 3072 frames
[INFO] [ALSA]: Can pause: no.
[INFO] [Menu]: Found menu display driver: "gl".
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Menu]: Found menu display driver: "gl".
[CDROM] No sg devices found and sg kernel module is not loaded.
[INFO] [LED]: LED driver = 'null' 0x4ac1e8
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "alsa" driver.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] Loading history file: [/opt/retropie/configs/mame-libretro/content_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/mame-libretro/content_music_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/mame-libretro/content_video_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/mame-libretro/content_image_history.lpl].
[INFO] Loading favorites file: [/opt/retropie/configs/mame-libretro/content_favorites.lpl].
[libretro INFO] [MAME 2003+] options.nvram_bootstrap: 0 
[libretro INFO] [MAME 2003+] Delegating population of initial NVRAM to emulated system.
[libretro INFO] [MAME 2003+] Preparing emulated CPUs for execution.
[libretro ERROR] [MAME 2003+] cpu_gettotalcycles() called with no executing cpu!
[INFO] [Environ]: SET_GEOMETRY.
[INFO] [KMS]: New FB: 1920x1200 (stride: 7680).
[INFO] [KMS]: New FB: 1920x1200 (stride: 7680).
[INFO] [Cheats]: Save game-specific cheatfile: /home/pi/.config/retroarch/cheats/MAME 2003-Plus/blitz.cht
[INFO] Content ran for a total of: 00 hours, 00 minutes, 20 seconds.
[INFO] Unloading game..
[INFO] Unloading core..
[INFO] Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "/opt/retropie/configs/all/retroarch-core-options.cfg"
[INFO] Threaded video stats: Frames pushed: 1252, Frames dropped: 0.
mahoneyt944 commented 3 years ago

These lines are interesting, since we are looking at the slashes.

[libretro INFO] [MAME 2003+] content path: /home/pi/RetroPie/roms/mame-libretro
[libretro INFO] [MAME 2003+]  system path: /home/pi/RetroPie/BIOS
[libretro INFO] [MAME 2003+]    save path: /home/pi/RetroPie/roms/mame-libretro/

The save path has a slash and the others don't. I bet if you tried to generate a xml file it wouldn't work on the WiiU with this.

I believe the fix i did yesterday should correctly install the directories now, and the system and content paths already work. But the save directory path still needs fixed I believe. I need some confirmation tests though as I don't use wiiu

vaguerant commented 3 years ago

@mahoneyt944 OK, I updated to the latest Wii U nightly, which is b2ca1bd, and unfortunately directory creation doesn't seem to be entirely fixed yet. The mame2003-plus directory under the savefiles path is still not being created. If I manually create mame2003-plus, then the cfg, diff and nvram directories are created successfully.

mahoneyt944 commented 3 years ago

@vaguerant ok just committed another change. Please test again. Delete the directories and see if they are created correctly after updating.

mahoneyt944 commented 3 years ago

@vaguerant so this is what I need to verify after updating again.

Wiiu

Also need to verify this for 3DS too, I believe the save / loading should be working but I'm unsure about the directory creation. Currently directory creation is only modified for wii and not 3ds.

vaguerant commented 3 years ago

On the latest nightly, f38d0a2, there seems to be no change. mame2003-plus is still not created automatically on Wii U, but if I do create it manually, files are written out in the various subdirectories, which are created automatically. The files seem to have reasonable contents for what they're supposed to be, e.g. the files in the cfg directory are files with the MAMECFG header followed by a bunch of binary data.

Relaunching MAME 2003 Plus to confirm that the files are being read, my osman high scores are now being retained, so the hi subdirectory's files are reading correctly at bare minimum. Testing nbajam, the first boot initializes NVRAM and gives an on-screen notice (in-game, not an emulator function) and the second boot appears to read the nv file without issue; it no longer initializes NVRAM on boot, meaning that it is reading the existing file successfully.

So that's a no to mame2003-plus being created automatically, a yes to creation of cfg, diff, hi, nvram and probably any other subdirectories generated by MAME 2003-Plus, a yes to saving files into those directories correctly, and a yes to reading those files back again.

mahoneyt944 commented 3 years ago

@vaguerant having those files read / write is going to widely improve playability in the core for sure. If we could just get the main directory solved we'd be set. Typically this directory is created in the directory where your rom is launched from.

Can you go to your ROMs folder, delete mame2003-plus directory if there, then launch the game with veribose logging and post the log on here?

vaguerant commented 3 years ago

Sure thing, log from an attempted (failed) biofreak launch on Wii U with log level 0 (debug): https://pastebin.com/raw/ET6KuT8A

[INFO] RetroArch 1.9.0 (Git 6234036)
[INFO] === Build =======================================
[INFO] Capabilities: 
[INFO] Built: Sep 16 2020
[INFO] Version: 1.9.0
[INFO] Git: 6234036
[INFO] =================================================
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [hid]: initializing HID subsystem
[INFO] [hid]: new_hid()
[INFO] [hid]: new_hidclient()
[INFO] [hid]: Initializing events list
[INFO] [hid]: Initializing adapters list
[INFO] [hid]: starting polling thread.
[INFO] [hid]: init success
[INFO] [Joypad]: Found joypad driver: "wiiu".
[INFO] [hid]: polling thread is starting
[INFO] Setting refresh rate to: 59.940 Hz.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Video]: Found display server: null
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Shaders]: Specific shader preset found at sd:/retroarch/shaders/presets/global.slangp.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Disconnecting device from port 5.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading favorites file: [sd:/retroarch/content_favorites.lpl].
[INFO] [CONTENT LOAD]: Updating firmware status for: sd:/retroarch/cores/mame2003_plus_libretro.rpx on sd:/retroarch/cores/system
[INFO] [CORE]: Using content: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip.
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [CORE]: Unloading core..
[INFO] [CORE]: Unloading core symbols..
[INFO] [hid]: stopping polling thread.
[INFO] [hid]: polling thread is stopping
[INFO] Waiting for in-flight reads to finish.
[INFO] All in-flight reads complete.
[INFO] [hid]: delete_hidclient()
[INFO] [hid]: delete_hid()
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.9.0 (Git 6234036)
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/biofreak.state".
[INFO] === Build =======================================
[INFO] Capabilities: 
[INFO] Built: Sep 16 2020
[INFO] Version: 1.9.0
[INFO] Git: 6234036
[INFO] =================================================
[INFO] [Overrides]: No core-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/MAME 2003-Plus.cfg.
[INFO] [Overrides]: No content-dir-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/MAME 2003-Plus.cfg.
[INFO] [Overrides]: No game-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/biofreak.cfg.
[INFO] [Remaps]: remap directory: sd:/retroarch/config/remaps
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/MAME 2003-Plus/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/MAME 2003-Plus/biofreak.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: PERFORMANCE_LEVEL: 10.
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[libretro INFO] [MAME 2003+] Full content path sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro INFO] [MAME 2003+] Git Version  f38d0a2
[libretro INFO] [MAME 2003+] Content lookup name: biofreak
[libretro INFO] [MAME 2003+] Driver index counter: 3873. Matched game driver: biofreak
[libretro INFO] [MAME 2003+] Content identified as having a tilt feature.
[libretro INFO] [MAME 2003+] Content identified as having a service button.
[libretro INFO] [MAME 2003+] Content identified as using 8-way joystick controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having joysticks on axis with respect to the cabinet.
[libretro INFO] [MAME 2003+] Content identified as supporting 4 players with 4 distinct controls.
[libretro INFO] [MAME 2003+] Content identified as supporting 3 button controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having mirrored multiplayer control labels.
[INFO] [Environ]: SYSTEM_DIRECTORY: "sd:/retroarch/cores/system".
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/Game Backups/Arcade/MAME 2003-Plus/
[libretro INFO] [MAME 2003+] Removed a trailing slash in path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+] Trailing slash removal was not necessary for path given.
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/retroarch/cores/savefiles/MAME 2003-Plus
[libretro INFO] [MAME 2003+] Trailing slash removal was not necessary for path given.
[libretro INFO] [MAME 2003+] content path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+]  system path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+]    save path: sd:/retroarch/cores/savefiles/MAME 2003-Plus
[INFO] [Environ]: SET_VARIABLES.
[INFO] [Environ]: GET_VARIABLE mame2003-plus_four_way_emulation:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_mouse_device:
    mouse
[INFO] [Environ]: GET_VARIABLE mame2003-plus_crosshair_enabled:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_skip_disclaimer:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_skip_warnings:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_display_setup:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_neogeo_bios:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_stv_bios:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_use_alt_sound:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_dialsharexy:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_analog:
    digital
[INFO] [Environ]: GET_VARIABLE mame2003-plus_deadzone:
    20
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_resolution:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_antialias:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_beam_width:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_translucency:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_flicker:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_intensity:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_dcs_speedhack:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_core_sys_subfolder:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_core_save_subfolder:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_tate_mode:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_brightness:
    1.0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_gamma:
    1.0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_frameskip:
    0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_sample_rate:
    48000
[INFO] [Environ]: GET_VARIABLE mame2003-plus_input_interface:
    simultaneous
[INFO] [Environ]: GET_VARIABLE mame2003-plus_mame_remapping:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_display_artwork:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_art_resolution:
    1
[INFO] [Environ]: GET_VARIABLE mame2003-plus_nvram_bootstraps:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_cheat_input_ports:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_machine_timing:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_digital_joy_centering:
    enabled
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] Controller port: 1
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 2
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 3
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 4
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 5
[INFO]    UNSUPPORTED (Classic Gamepad) (ID: 1)
[INFO]    UNSUPPORTED (Modern Fightstick) (ID: 257)
[INFO]    UNSUPPORTED (8-Button) (ID: 513)
[INFO]    UNSUPPORTED (6-Button) (ID: 769)
[INFO] Controller port: 6
[INFO]    UNSUPPORTED (Classic Gamepad) (ID: 1)
[INFO]    UNSUPPORTED (Modern Fightstick) (ID: 257)
[INFO]    UNSUPPORTED (8-Button) (ID: 513)
[INFO]    UNSUPPORTED (6-Button) (ID: 769)
[libretro DEBUG] [MAME 2003+] Processing region 81 (length=800000)
[libretro DEBUG] [MAME 2003+] Allocated 800000 bytes @ 123377BC
[libretro DEBUG] [MAME 2003+] Processing region 82 (length=428000)
[libretro DEBUG] [MAME 2003+] Allocated 428000 bytes @ 11BFB944
[libretro INFO] [MAME 2003+] Opening ROM file: sound102.u95
[libretro DEBUG] (generic_fopen) (1, biofreak, sound102.u95, (null), 5)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] [MAME 2003+] Trying biofreak.zip file
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak.zip]) 
[libretro DEBUG] (osd_get_path_info) path is file _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] [MAME 2003+] Using (mame_fopen) zip file for sound102.u95
[libretro DEBUG] [MAME 2003+] Loading ROM data: offs=20000 len=8000 mask=FF group=1 skip=0 reverse=0
[libretro DEBUG] [MAME 2003+] Verifying length (8000) and checksums
[libretro DEBUG] [MAME 2003+] Length and checksum verify finished
[libretro DEBUG] [MAME 2003+] Closing ROM file
[libretro DEBUG] [MAME 2003+] Processing region 9A (length=80000)
[libretro DEBUG] [MAME 2003+] Allocated 80000 bytes @ 12023958
[libretro INFO] [MAME 2003+] Opening ROM file: biofreak.u32
[libretro DEBUG] (generic_fopen) (1, biofreak, biofreak.u32, (null), 5)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] [MAME 2003+] Trying biofreak.zip file
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak.zip]) 
[libretro DEBUG] (osd_get_path_info) path is file _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] [MAME 2003+] Using (mame_fopen) zip file for biofreak.u32
[libretro DEBUG] [MAME 2003+] Loading ROM data: offs=0 len=80000 mask=FF group=1 skip=0 reverse=0
[libretro DEBUG] [MAME 2003+] Verifying length (80000) and checksums
[libretro DEBUG] [MAME 2003+] Length and checksum verify finished
[libretro DEBUG] [MAME 2003+] Closing ROM file
[libretro DEBUG] [MAME 2003+] Processing region A2 (length=1)
[libretro DEBUG] [MAME 2003+] Allocated 1 bytes @ 11BEE400
[libretro INFO] [MAME 2003+] Opening disk image: biofreak.chd
[libretro DEBUG] (generic_fopen) (2, biofreak, biofreak.chd, chd, 21)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [2]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] (generic_fopen) (2, , biofreak.chd, chd, 21)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen /biofreak.chd
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus//biofreak.chd
[libretro INFO] [MAME 2003+] Opening differencing image: biofreak.dif
[libretro DEBUG] (generic_fopen) (3, (null), biofreak.dif, dif, 3)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/MAME 2003-Plus/mame2003-plus/diff/biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/MAME 2003-Plus/mame2003-plus/diff/biofreak.dif
[libretro INFO] [MAME 2003+] Creating differencing image: biofreak.dif
[libretro DEBUG] (generic_fopen) (3, (null), biofreak.dif, dif, 3)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/MAME 2003-Plus/mame2003-plus/diff/biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/MAME 2003-Plus/mame2003-plus/diff/biofreak.dif
[libretro ERROR] [MAME 2003+] biofreak.dif: CAN'T CREATE DIFF FILE
[libretro DEBUG] [MAME 2003+] Post-processing region 81
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[libretro DEBUG] [MAME 2003+] + CPU region #0: datawidth=4 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region 82
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[libretro DEBUG] [MAME 2003+] + CPU region #1: datawidth=2 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region 9A
[libretro DEBUG] [MAME 2003+] + datawidth=4 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region A2
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[INFO] [Environ]: SET_MESSAGE: Required files are missing, the game cannot be run.

[libretro ERROR] [MAME 2003+] Required files are missing, the game cannot be run.
[libretro ERROR] [MAME 2003+] readroms failed
[ERROR] [CONTENT LOAD]: Failed to load content
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/biofreak.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [hid]: initializing HID subsystem
[INFO] [hid]: new_hid()
[INFO] [hid]: new_hidclient()
[INFO] [hid]: Initializing events list
[INFO] [hid]: Initializing adapters list
[INFO] [hid]: starting polling thread.
[INFO] [hid]: init success
".
FO] [INFO] [Joypad]: Found joypad driver: "g
0 Hz.
nst API: 1
s/savestates/biwiiu[INFO] Setting refresh rate to: 59.940 Hz.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Found display server: null
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Disconnecting device from port 5.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Shaders]: Specific shader preset found at sd:/retroarch/shaders/presets/global.slangp.
[INFO] [Playlist]: Loading favorites file: [sd:/retroarch/content_favorites.lpl].
[INFO] [config] Saving salamander config to: "sd:/retroarch/retroarch-salamander.cfg".
[INFO] [config] Saved new config to "sd:/retroarch/retroarch.cfg".
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [CORE]: Unloading core..
[INFO] [CORE]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "sd:/retroarch/retroarch-core-options.cfg"
[INFO] [hid]: stopping polling thread.
[INFO] [hid]: polling thread is stopping
[INFO] Waiting for in-flight reads to finish.
[INFO] All in-flight reads complete.
[INFO] [hid]: delete_hidclient()
[INFO] [hid]: delete_hid()
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
mahoneyt944 commented 3 years ago

@vaguerant looks like your launching the game from

[libretro INFO] [MAME 2003+] Full content path sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip

So your directories are being changed to:

[libretro INFO] [MAME 2003+] content path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+]  system path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+]    save path: sd:/retroarch/cores/savefiles/MAME 2003-Plus

Also the directery name MAME 2003-Plus should be mame2003-plus no spaces.

mahoneyt944 commented 3 years ago

@vaguerant Try changing MAME 2003-Plus directory to mame2003-plus (lower case no spaces) on your sd card then delete any other mame2003-plus directories you have anywhere else like this one: sd:/retroarch/cores/savefiles/MAME 2003-Plus

Then post a new log

vaguerant commented 3 years ago

That directory is just being created by RetroArch's per-core save directory setting. The way MAME 2003-Plus works, it creates its own directory (mame2003-plus) anyway, so in the scenario where you have per-core save directories enabled, you get MAME 2003-Plus/mame2003-plus, i.e. RetroArch's per-core directory followed by MAME 2003-Plus's own subdirectory. I strongly suspect that's not the issue at play here, but I'll test when I get an opportunity.

mahoneyt944 commented 3 years ago

Its just that when you're loading from that directory without the trailing slash that we had to remove. The directory has a space in it. That might be causing some odd issues. If we can eliminate the space being involved and it still not saving then we can figure out the next thing to try. If it works then we need to rename that filename internally.

vaguerant commented 3 years ago

In that case I think the correct test would be to turn off per-core save directories and see if that helps. Just renaming the directory won't work because that's where RetroArch expects to find the per-core files for MAME 2003-Plus, the directory name just comes from the internal core name. I should be able to see if that makes any difference in 15 minutes or so, will edit with results.

EDIT: Log with per-core save directories disabled, so that MAME 2003-Plus tries to use the directory sd:/retroarch/cores/savefiles/mame2003-plus instead of sd:/retroarch/cores/savefiles/MAME 2003-Plus/mame2003-plus:

[INFO] RetroArch 1.9.0 (Git 6234036)
[INFO] === Build =======================================
[INFO] Capabilities: 
[INFO] Built: Sep 16 2020
[INFO] Version: 1.9.0
[INFO] Git: 6234036
[INFO] =================================================
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [hid]: initializing HID subsystem
[INFO] [hid]: new_hid()
[INFO] [hid]: new_hidclient()
[INFO] [hid]: Initializing events list
[INFO] [hid]: Initializing adapters list
[INFO] [hid]: starting polling thread.
[INFO] [hid]: init success
[INFO] [Joypad]: Found joypad driver: "wiiu".
[INFO] [hid]: polling thread is starting
[INFO] Setting refresh rate to: 59.940 Hz.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Video]: Found display server: null
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Shaders]: Specific shader preset found at sd:/retroarch/shaders/presets/global.slangp.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Disconnecting device from port 5.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading favorites file: [sd:/retroarch/content_favorites.lpl].
[INFO] [CONTENT LOAD]: Updating firmware status for: sd:/retroarch/cores/mame2003_plus_libretro.rpx on sd:/retroarch/cores/system
[INFO] [CORE]: Using content: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip.
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [CORE]: Unloading core..
[INFO] [CORE]: Unloading core symbols..
[INFO] [hid]: stopping polling thread.
[INFO] [hid]: polling thread is stopping
[INFO] Waiting for in-flight reads to finish.
[INFO] All in-flight reads complete.
[INFO] [hid]: delete_hidclient()
[INFO] [hid]: delete_hid()
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.9.0 (Git 6234036)
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/biofreak.state".
[INFO] === Build =======================================
[INFO] Capabilities: 
[INFO] Built: Sep 16 2020
[INFO] Version: 1.9.0
[INFO] Git: 6234036
[INFO] =================================================
[INFO] [Overrides]: No core-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/MAME 2003-Plus.cfg.
[INFO] [Overrides]: No content-dir-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/MAME 2003-Plus.cfg.
[INFO] [Overrides]: No game-specific overrides found at sd:/retroarch/config/MAME 2003-Plus/biofreak.cfg.
[INFO] [Remaps]: remap directory: sd:/retroarch/config/remaps
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/biofreak.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: PERFORMANCE_LEVEL: 10.
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[libretro INFO] [MAME 2003+] Full content path sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro INFO] [MAME 2003+] Git Version  f38d0a2
[libretro INFO] [MAME 2003+] Content lookup name: biofreak
[libretro INFO] [MAME 2003+] Driver index counter: 3873. Matched game driver: biofreak
[libretro INFO] [MAME 2003+] Content identified as having a tilt feature.
[libretro INFO] [MAME 2003+] Content identified as having a service button.
[libretro INFO] [MAME 2003+] Content identified as using 8-way joystick controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having joysticks on axis with respect to the cabinet.
[libretro INFO] [MAME 2003+] Content identified as supporting 4 players with 4 distinct controls.
[libretro INFO] [MAME 2003+] Content identified as supporting 3 button controls.
[libretro INFO] [MAME 2003+] Content identified by controls.c as having mirrored multiplayer control labels.
[INFO] [Environ]: SYSTEM_DIRECTORY: "sd:/retroarch/cores/system".
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/Game Backups/Arcade/MAME 2003-Plus/
[libretro INFO] [MAME 2003+] Removed a trailing slash in path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+] Trailing slash removal was not necessary for path given.
[libretro INFO] [MAME 2003+] Check for trailing slash in path: sd:/retroarch/cores/savefiles
[libretro INFO] [MAME 2003+] Trailing slash removal was not necessary for path given.
[libretro INFO] [MAME 2003+] content path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+]  system path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+]    save path: sd:/retroarch/cores/savefiles
[INFO] [Environ]: SET_VARIABLES.
[INFO] [Environ]: GET_VARIABLE mame2003-plus_four_way_emulation:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_mouse_device:
    mouse
[INFO] [Environ]: GET_VARIABLE mame2003-plus_crosshair_enabled:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_skip_disclaimer:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_skip_warnings:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_display_setup:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_neogeo_bios:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_stv_bios:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_use_alt_sound:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_dialsharexy:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_analog:
    digital
[INFO] [Environ]: GET_VARIABLE mame2003-plus_deadzone:
    20
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_resolution:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_antialias:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_beam_width:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_translucency:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_flicker:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_vector_intensity:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_dcs_speedhack:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_core_sys_subfolder:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_core_save_subfolder:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_tate_mode:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_brightness:
    1.0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_gamma:
    1.0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_frameskip:
    0
[INFO] [Environ]: GET_VARIABLE mame2003-plus_sample_rate:
    48000
[INFO] [Environ]: GET_VARIABLE mame2003-plus_input_interface:
    simultaneous
[INFO] [Environ]: GET_VARIABLE mame2003-plus_mame_remapping:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_display_artwork:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_art_resolution:
    1
[INFO] [Environ]: GET_VARIABLE mame2003-plus_nvram_bootstraps:
    N/A
[INFO] [Environ]: GET_VARIABLE mame2003-plus_cheat_input_ports:
    disabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_machine_timing:
    enabled
[INFO] [Environ]: GET_VARIABLE mame2003-plus_digital_joy_centering:
    enabled
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] Controller port: 1
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 2
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 3
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 4
[INFO]    Classic Gamepad (ID: 1)
[INFO]    Modern Fightstick (ID: 257)
[INFO]    8-Button (ID: 513)
[INFO]    6-Button (ID: 769)
[INFO] Controller port: 5
[INFO]    UNSUPPORTED (Classic Gamepad) (ID: 1)
[INFO]    UNSUPPORTED (Modern Fightstick) (ID: 257)
[INFO]    UNSUPPORTED (8-Button) (ID: 513)
[INFO]    UNSUPPORTED (6-Button) (ID: 769)
[INFO] Controller port: 6
[INFO]    UNSUPPORTED (Classic Gamepad) (ID: 1)
[INFO]    UNSUPPORTED (Modern Fightstick) (ID: 257)
[INFO]    UNSUPPORTED (8-Button) (ID: 513)
[INFO]    UNSUPPORTED (6-Button) (ID: 769)
[libretro DEBUG] [MAME 2003+] Processing region 81 (length=800000)
[libretro DEBUG] [MAME 2003+] Allocated 800000 bytes @ 123377BC
[libretro DEBUG] [MAME 2003+] Processing region 82 (length=428000)
[libretro DEBUG] [MAME 2003+] Allocated 428000 bytes @ 11BFB944
[libretro INFO] [MAME 2003+] Opening ROM file: sound102.u95
[libretro DEBUG] (generic_fopen) (1, biofreak, sound102.u95, (null), 5)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] [MAME 2003+] Trying biofreak.zip file
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak.zip]) 
[libretro DEBUG] (osd_get_path_info) path is file _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] [MAME 2003+] Using (mame_fopen) zip file for sound102.u95
[libretro DEBUG] [MAME 2003+] Loading ROM data: offs=20000 len=8000 mask=FF group=1 skip=0 reverse=0
[libretro DEBUG] [MAME 2003+] Verifying length (8000) and checksums
[libretro DEBUG] [MAME 2003+] Length and checksum verify finished
[libretro DEBUG] [MAME 2003+] Closing ROM file
[libretro DEBUG] [MAME 2003+] Processing region 9A (length=80000)
[libretro DEBUG] [MAME 2003+] Allocated 80000 bytes @ 12023958
[libretro INFO] [MAME 2003+] Opening ROM file: biofreak.u32
[libretro DEBUG] (generic_fopen) (1, biofreak, biofreak.u32, (null), 5)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] [MAME 2003+] Trying biofreak.zip file
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [1]), (filename: [biofreak.zip]) 
[libretro DEBUG] (osd_get_path_info) path is file _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro DEBUG] [MAME 2003+] Using (mame_fopen) zip file for biofreak.u32
[libretro DEBUG] [MAME 2003+] Loading ROM data: offs=0 len=80000 mask=FF group=1 skip=0 reverse=0
[libretro DEBUG] [MAME 2003+] Verifying length (80000) and checksums
[libretro DEBUG] [MAME 2003+] Length and checksum verify finished
[libretro DEBUG] [MAME 2003+] Closing ROM file
[libretro DEBUG] [MAME 2003+] Processing region A2 (length=1)
[libretro DEBUG] [MAME 2003+] Allocated 1 bytes @ 11BEE3E0
[libretro INFO] [MAME 2003+] Opening disk image: biofreak.chd
[libretro DEBUG] (generic_fopen) (2, biofreak, biofreak.chd, chd, 21)
[libretro DEBUG] [MAME 2003+] Trying biofreak
[libretro DEBUG] (osd_get_path_info) (buffer = [sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak]), (directory: [sd:/Game Backups/Arcade/MAME 2003-Plus]), (path type: [2]), (filename: [biofreak]) 
[libretro DEBUG] (osd_get_path_info) path not found _-_ sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak
[libretro DEBUG] (generic_fopen) (2, , biofreak.chd, chd, 21)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen /biofreak.chd
[libretro DEBUG] (osd_fopen) called: sd:/Game Backups/Arcade/MAME 2003-Plus//biofreak.chd
[libretro INFO] [MAME 2003+] Opening differencing image: biofreak.dif
[libretro DEBUG] (generic_fopen) (3, (null), biofreak.dif, dif, 3)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/mame2003-plus/diff/biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/mame2003-plus/diff/biofreak.dif
[libretro INFO] [MAME 2003+] Creating differencing image: biofreak.dif
[libretro DEBUG] (generic_fopen) (3, (null), biofreak.dif, dif, 3)
[libretro DEBUG] [MAME 2003+] Trying 
[libretro DEBUG] [MAME 2003+] (generic_fopen) directory exists: 
[libretro DEBUG] [MAME 2003+]  (generic_fopen) using osd_fopen biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/mame2003-plus/diff/biofreak.dif
[libretro DEBUG] (osd_fopen) called: sd:/retroarch/cores/savefiles/mame2003-plus/diff/biofreak.dif
[libretro ERROR] [MAME 2003+] biofreak.dif: CAN'T CREATE DIFF FILE
[libretro DEBUG] [MAME 2003+] Post-processing region 81
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[libretro DEBUG] [MAME 2003+] + CPU region #0: datawidth=4 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region 82
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[libretro DEBUG] [MAME 2003+] + CPU region #1: datawidth=2 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region 9A
[libretro DEBUG] [MAME 2003+] + datawidth=4 little=1
[libretro DEBUG] [MAME 2003+] + Byte swapping region
[libretro DEBUG] [MAME 2003+] Post-processing region A2
[libretro DEBUG] [MAME 2003+] + datawidth=1 little=1
[INFO] [Environ]: SET_MESSAGE: Required files are missing, the game cannot be run.

[libretro ERROR] [MAME 2003+] Required files are missing, the game cannot be run.
[libretro ERROR] [MAME 2003+] readroms failed
[ERROR] [CONTENT LOAD]: Failed to load content
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/biofreak.srm".
[INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/biofreak.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [hid]: initializing HID subsystem
[INFO] [hid]: new_hid()
[INFO] [hid]: new_hidclient()
[INFO] [hid]: Initializing events list
[INFO] [hid]: Initializing adapters list
[INFO] [hid]: starting polling thread.
[INFO] [hid]: init success
".
FO] [INFO] [Joypad]: Found joypad driver: "g
0 Hz.
nst API: 1
s/savestates/biwiiu[INFO] Setting refresh rate to: 59.940 Hz.
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Found display server: null
[INFO] [Display]: Found display driver: "gx2".
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Disconnecting device from port 5.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Shaders]: Specific shader preset found at sd:/retroarch/shaders/presets/global.slangp.
[INFO] [Playlist]: Loading favorites file: [sd:/retroarch/content_favorites.lpl].
[INFO] [config] Saving salamander config to: "sd:/retroarch/retroarch-salamander.cfg".
[INFO] [config] Saved new config to "sd:/retroarch/retroarch.cfg".
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [CORE]: Unloading core..
[INFO] [CORE]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "sd:/retroarch/retroarch-core-options.cfg"
[INFO] [hid]: stopping polling thread.
[INFO] [hid]: polling thread is stopping
[INFO] Waiting for in-flight reads to finish.
[INFO] All in-flight reads complete.
[INFO] [hid]: delete_hidclient()
[INFO] [hid]: delete_hid()
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
mahoneyt944 commented 3 years ago

@vaguerant looks like the directory was created this time?

sd:/retroarch/cores/savefiles/mame2003-plus/diff/biofreak.dif

Success?

vaguerant commented 3 years ago

Nope. If you scroll down a bit more in the log:

[libretro ERROR] [MAME 2003+] biofreak.dif: CAN'T CREATE DIFF FILE

It's the same behavior as before, just that it's failing to create the directory/file in a different place now. There's still no automatic creation of mame2003-plus, so everything that relies on that directory existing also fails.

Wilstorm commented 3 years ago

@mahoneyt944 - Did that make sense how it "prefixes" the core name in front. You'll see that with a lot of configs, overrides, shaders, etc. It's just the RetroArch way of doing things. Some love it, some hate it! ;)

Basically the only change was removing MAME 2003-Plus from the path but the same issue is still in play, the mame2003-plus folder isn't being created.

I know RetroPie heavily modifies it's setup and tries to automate as much as possible for the user. Looking at the logs above it does seem to remove any spaces from the paths as well as the core name.

My game directory is staged from mame-libretro but it can also be arcade or whatever really and from that directory you can choose from several emulators on launch such as mame2003, mame2003-plus, mame2016, advmame, etc. etc.

Blitz with RetroPie on a Pi:

[libretro INFO] [MAME 2003+] Full content path /home/pi/RetroPie/roms/mame-libretro/blitz.zip
[libretro INFO] [MAME 2003+] content path: /home/pi/RetroPie/roms/mame-libretro
[libretro INFO] [MAME 2003+]  system path: /home/pi/RetroPie/BIOS
[libretro INFO] [MAME 2003+]    save path: /home/pi/RetroPie/roms/mame-libretro/

Biofreak on PS3:

[libretro INFO] [MAME 2003+] Full content path sd:/Game Backups/Arcade/MAME 2003-Plus/biofreak.zip
[libretro INFO] [MAME 2003+] content path: sd:/Game Backups/Arcade/MAME 2003-Plus
[libretro INFO] [MAME 2003+]  system path: sd:/retroarch/cores/system
[libretro INFO] [MAME 2003+]    save path: sd:/retroarch/cores/savefiles/MAME 2003-Plus
Wilstorm commented 3 years ago

Ooops...PS3, corrected the title above but the information is the same.