Win64 and Android Test Builds

i’ve not ask yet , but i m sure you do it fine ,
but when you said I comment out the samcoupe stuff , you just not put a comment like # $(MESSOBJ)/samcoupe.a
in mess.make ? because with the last \ in the line it will be a very bad things :slight_smile:

BTW , the best to try is to put the undef #PAGE_MASK in src/mess/machine/samcoupe.c and then leave mess.mak & mess.lst untouch.

edit: @Tatsuya79 on my fresh compile on linux , savestates works , i just need to reassign keys because save & load was on the same keys. but after put save on F6 and load on F7 , everythings works fine.

I did the same for the keys, but then when I choose “1” or something for the slot, it tells me “Failed to open file for save operation.”.

win7 x64, even checked if any folder wasn’t read-only, entered the paths again… the cfg, ini, hash are working though.

[quote=“Tatsuya79”]

I did the same for the keys, but then when I choose “1” or something for the slot, it tells me “Failed to open file for save operation.”.

win7 x64, even checked if any folder wasn’t read-only, entered the paths again… the cfg, ini, hash are working though.[/quote]

paste a full verbose log please

Ok, I’ve done more testing and everything is working here as intended. BTW save states is SHIFT F7 by default and load state is F7 by default. Maybe something is wrong with your mess.ini file?

Mess saves suck in that it saves to SAVE es\1.sav by default and if you load a different game it would be overwritten. I guess this is just following how mame works. Or maybe I’m missing something. Thats fixable by setting statename to something like %g/gamename/. I’m adding an option to make that the default behavior now.

Thanks for your help.

I see nothing wrong… did you try removing your mess.ini? Anyway, pushing a new build in a few minutes, just need to test that UME still works

https://dl.dropboxusercontent.com/u/149537/arcade.7z

Ok, https://github.com/libretro/libretro-mame/commit/86938c0f87beafd1b390826025cf704324e57fefmakes savestates “smarter” (option enabled by default since it seems sane) before: saves/mess/states/nes/1.sav after: saves/mess/states/nes/nestest/1.sav

Tried that, no success.

But I just installed a complete new retroarch folder now and it’s working! I’ll try to put my old options now to see where it breaks… :confused:

edit: OK it wasn’t long!

By default retroarch put the states in \system\mess\states. If I choose a save path in “paths” settings, (I usually do savefile_directory = “:\save” savestate_directory = “:\save”) then I get the “can’t make the save” error.

On this new installation I still see those:

joypad_autoconfig_dir = “:\autoconfig/” screenshot_directory = “:\screenshots/” libretro_directory = “:\cores/”

slash - backslash Mame/Mess don’t like and cause issues (the Sasi drive bug) are there from the start.

This is quite odd… it works for me and I have a save dir set savefile_directory = “…\Data\Saves”

Can you paste your verbose log with the settings as you have them now? I don’t think that’s the cause either since the parameters are being passed correctly according to the log you posted:

RetroArch: [libretro DEBUG] :: Parameters:
RetroArch: [libretro DEBUG] ::  mess
RetroArch: [libretro DEBUG] ::  -nothrottle
RetroArch: [libretro DEBUG] ::  -joystick
RetroArch: [libretro DEBUG] ::  -samplerate
RetroArch: [libretro DEBUG] ::  48000
RetroArch: [libretro DEBUG] ::  -cheat
RetroArch: [libretro DEBUG] ::  -mouse
RetroArch: [libretro DEBUG] ::  -skip_gameinfo
RetroArch: [libretro DEBUG] ::  -readconfig
RetroArch: [libretro DEBUG] ::  -cfg_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess\cfg
RetroArch: [libretro DEBUG] ::  -nvram_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess
vram
RetroArch: [libretro DEBUG] ::  -hiscore_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess\hi
RetroArch: [libretro DEBUG] ::  -input_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess\input
RetroArch: [libretro DEBUG] ::  -state_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess\states
RetroArch: [libretro DEBUG] ::  -snapshot_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\save\mess\snaps
RetroArch: [libretro DEBUG] ::  -diff_directory
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\diff
RetroArch: [libretro DEBUG] ::  -samplepath
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\samples
RetroArch: [libretro DEBUG] ::  -artpath
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\artwork
RetroArch: [libretro DEBUG] ::  -cheatpath
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\cheat
RetroArch: [libretro DEBUG] ::  -inipath
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\ini
RetroArch: [libretro DEBUG] ::  -hashpath
RetroArch: [libretro DEBUG] ::  E:\Emulateurs\RetroArch64\system\mess\hash
RetroArch: [libretro DEBUG] ::  -rompath
RetroArch: [libretro DEBUG] ::  E:\Roms\X68000
RetroArch: [libretro DEBUG] ::  X68000
RetroArch: [libretro DEBUG] ::  etoile

Paste your mess.ini too please

Anyway, this is an edge case I guess, and problematic one since MAME handles I/O on it’s own instead of going thru the proper interfaces. Making a proper MAME port that uses correct interfaces for saves and saves states would be better but I wouldn’t even know how to start…

Ok this is very odd, I did some extensive testing and the paths are always mapped correctly:

Test 1: :\saves (directory is empty)

RetroArch: [libretro DEBUG] :: -cfg_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\cfg RetroArch: [libretro DEBUG] :: -nvram_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess vram RetroArch: [libretro DEBUG] :: -hiscore_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\hi RetroArch: [libretro DEBUG] :: -input_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\input RetroArch: [libretro DEBUG] :: -state_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\states RetroArch: [libretro DEBUG] :: -snapshot_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\snaps

first run: not working second run: not working

Test 2: :\saves\ (directory is empty)

RetroArch: [libretro DEBUG] :: -cfg_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\cfg RetroArch: [libretro DEBUG] :: -nvram_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess vram RetroArch: [libretro DEBUG] :: -hiscore_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\hi RetroArch: [libretro DEBUG] :: -input_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\input RetroArch: [libretro DEBUG] :: -state_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\states RetroArch: [libretro DEBUG] :: -snapshot_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\snaps

first run: not working second run: working!

Odd! so I guess after closing the game MESS has to save the config so it creates the directories. Not sure why this works when the trailing slash is added though

[b]Test 3: :\saves (directories exist up to the platform level) D:\Emulators\RetroArch\saves\mess\states es[/b]

RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\cfg RetroArch: [libretro DEBUG] :: -nvram_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess vram RetroArch: [libretro DEBUG] :: -hiscore_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\hi RetroArch: [libretro DEBUG] :: -input_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\input RetroArch: [libretro DEBUG] :: -state_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\states RetroArch: [libretro DEBUG] :: -snapshot_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\snaps

first run: not working second run: not working

Test 4: :\saves (directories exist up to the GAME level) in this case D:\Emulators\RetroArch\saves\mess\states es estest

RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\cfg RetroArch: [libretro DEBUG] :: -nvram_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess vram RetroArch: [libretro DEBUG] :: -hiscore_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\hi RetroArch: [libretro DEBUG] :: -input_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\input RetroArch: [libretro DEBUG] :: -state_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\states RetroArch: [libretro DEBUG] :: -snapshot_directory RetroArch: [libretro DEBUG] :: D:\Emulators\RetroArch\saves\mess\snaps

first run: working second run: working

Since it’s “working” I loaded a different game (tmnt4) and tried to save without restarting… FAILED. While the game was running I alt-tabbed and created snes mnt4j and it worked… so… IDK!!!

The paths are being passed correctly, and trailing slash or not the resulting path passed to the core is correct so unless RETRO_SAVE_DIRECTORY is returning some extraneous invisible character when \ is not set I don’t know what the problem could be. I could forcefully add a trailing / or \ depending on the platform but I don’t know if that would work.

It would be interesting to have this tested under linux

The weirdest part, when I change to my usual it works with or without trailing slashes… I guess this is really what they call an edge case… savefile_directory = “…\Data\Saves”

Here they are. That’s the new retroarch install with retroarch/save folder defined, savestates not working. I activated read/write config and look at what it did in the x68000.ini (slash/backslash again).

RetroArch-2014-08-28 Android: Updated: RetroArch[12d94cf], FCEUmm[17e0815], Gambatte[267a4e0], Genplus GX[c0015e2], Handy[483b054], UME2014[89b3c2c]

Win64: Updated: RetroArch[36e2b86], MAME/MESS/UME[89b3c2c]

NOTE: For best results with Android port, be sure to uninstall previous version before installing newer versions. MAME/MESS/UME 2014 based on MAME-SVN r31751

MAME/MESS/UME still not wanting to load games with Android 4.4 but thanks to 7Rtype’s help, latest cores should work now on Anroid versions 4.3 or lower.

I didn’t update the Win64 build with the latest version of RetroArch only updated the MAME/MESS/UME core due to RGUI crashing after a few seconds., I’m trying to track down which commit broke the Windows port so I can post a bug report on GH, but enjoy AndresSM & 7Rtype’s latest patches to MAME/MESS/UME.

Also a big thank you to 7Rtype for helping track down why his builds of the Android port of the latest MAME/MESS/UME worked but mine didn’t.

Scratch that I didn’t understand you at first

[quote=“Tatsuya79”]

Here they are. That’s the new retroarch install with retroarch/save folder defined, savestates not working. I activated read/write config and look at what it did in the x68000.ini (slash/backslash again).[/quote]

just as a test please change your save directory to :\save\ and your system dir to :\system\ and erase your ini files and retry. I can’t test myself now since I’m at work :wink:

and paste the new logs please

It worked, states written in \save, ini in \system.

Have to try with my main install now: this one keeps reverting :\save\ to :\save. I’ll try with some ini cleanup at the same time…

edit: it’s working for my main install too! x68000.ini paths became: cfg_directory E:\Emulateurs\RetroArch64\save\mess\cfg nvram_directory E:\Emulateurs\RetroArch64\save\mess vram input_directory E:\Emulateurs\RetroArch64\save\mess\input state_directory E:\Emulateurs\RetroArch64\save\mess\states

and the ini files are correct? I guess I’ll try to sanitize the paths in the core, removing any lingering / and adding a trailing slash at the end of the path…