Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - xod

Pages: [1] 2

I tested the 32-bit build, and unfortunately it's the same problem as the 2.4.1 for me. (Works when setting some window to "always on top" etc, just like 2.4.1)
Log when launching AM 2.5.1 (32-bit) -> MAME 0.78 -> 1942 below under normal conditions.

Code: [Select]
loading 1-n3a.bin   
loading 1-n4.bin   
loading 1-n5.bin   
loading 1-n6.bin   
loading 1-n7.bin   
loading 1-c11.bin   
loading 1-f2.bin   
loading 2-a1.bin   
loading 2-a2.bin   
loading 2-a3.bin   
loading 2-a4.bin   
loading 2-a5.bin   
loading 2-a6.bin   
loading 2-l1.bin   
loading 2-l2.bin   
loading 2-n1.bin   
loading 2-n2.bin   
loading 08e_sb-5.bin
loading 09e_sb-6.bin
loading 10e_sb-7.bin
loading f01_sb-0.bin
loading 06d_sb-4.bin
loading 03k_sb-8.bin
loading 01d_sb-2.bin
loading 02d_sb-3.bin
loading k06_sb-1.bin
loading 01m_sb-9.bin
Unable to start video emulation
Error setting cooperative level: 88760245

I've been having major headache with AM 2.5 -> MAME, and trying version 2.0.0-rc2, and it is working, I don't need to either run AM in windowed mode, or terminate explorer shell, or set random application's window "always on top", not anymore :) Thanks for the tip, and hope to see a fix for latest versions (cannot try the experimental since I'm on 32-bit OS).

Update: Someone mentioned AM v2.0.0-rc2 in another thread, I tested it and it works, so sweet :)

The error relates to DDraw/ DirectX. 
Post #2 lists some solution (dx runtime files):

I searched google myself earlier, but unfortunately by copy-pasting an entire line from error message, instead of just the errorcode + one or more words. Thanks for the link.

Even though I'm not using ddraw ? (d3d here), I'm guessing it's a d3d problem and that ddraw is just a layer on top of d3d. I believe ddraw was directly supported by gpu hardware eons ego, but I think my (although over a decade old now) gpu's ddraw driver sits atop the d3d driver. That could be an explanation. But I admit I know nothing about DirectX (programming wise), so I'm just speculating.

I'm not much in the mood of "updating" directx and reinstalling gpu drivers (the latter really) for now, so I'll try the other paths first (RetroArch etc), and if that is fruitless, I'll just have to bite the sour apple I guess.

I have now tried MAMEUI 0.78. In MAMEUI, I configured roms folder, so now the <MAMEUI root>\ini\mame.ini's rompath option points to my roms folder. Running it directly, everything is fine. Running it through AM, always complains about missing roms:

Code: [Select]
1-n3a.bin    NOT FOUND
1-n4.bin     NOT FOUND
1-n5.bin     NOT FOUND
1-n6.bin     NOT FOUND
1-n7.bin     NOT FOUND
1-c11.bin    NOT FOUND
1-f2.bin     NOT FOUND
2-a1.bin     NOT FOUND
2-a2.bin     NOT FOUND
2-a3.bin     NOT FOUND
2-a4.bin     NOT FOUND
2-a5.bin     NOT FOUND
2-a6.bin     NOT FOUND
2-l1.bin     NOT FOUND
2-l2.bin     NOT FOUND
2-n1.bin     NOT FOUND
2-n2.bin     NOT FOUND
08e_sb-5.bin NOT FOUND
09e_sb-6.bin NOT FOUND
10e_sb-7.bin NOT FOUND
f01_sb-0.bin NOT FOUND
06d_sb-4.bin NOT FOUND
03k_sb-8.bin NOT FOUND
01d_sb-2.bin NOT FOUND
02d_sb-3.bin NOT FOUND
k06_sb-1.bin NOT FOUND
01m_sb-9.bin NOT FOUND
ERROR: required files are missing, the game cannot be run.

Surely it seems that there is some strange error handling going on ? I mean, it looks (refer to my previous experiences, and other users') like there is some conflict with AM <-> MAME* video/graphics, and that MAME* has flawed error handling, and instead wrongly executing code that outputs that roms are missing ? It sure looks like that, what else could it be ?

Anyway, tomorrow or the day after I will try AM -> RetroArch.

Ok, the always roms errors was due to my customization of MAME.cfg. Now that I fixed it, the error message is always:

Code: [Select]
Unable to start video emulation
Error setting cooperative level: 88760245

In other words, just like regular 0.78, except the roms are not listed/enumerated (regular 0.78 enumerates the roms whether there is any kind of error or not).

1. the mame emulator mame.ini "rompath" must always be set correctly otherwise split romsets or roms that use .chd files won't work
2. mame.cfg AM file must contain the rompath to build an AM romlist but doesn't need to be used for "args" statement (because the mame.ini "rompath" takes care of this)

I already have mame.ini -> rompath set and valid, but I like to cover all holes.

3. you should never configure the AM exit key option unless the emulator doesn't provide this option (this should be blank in the AM mame.cfg)

I don't use it for MAME.

4. you can use RA to run the mame2003 core but let there be no mistake that the RA mame2003 core and the the full mame .078 elmulator operate differently (in some cases better and in some cases worse)

Whichever 0.78 edition that will will coopeate with AM is welcome. Else a later version with nearly same performance will have to do, unless it all fails, in which case I'll have to experiment with some other FEs.

See this post of links to other options that will help you to the correct fix

I have tried many, including explicit resolution (same as OS), but I understand explicit resolution is of no use for d3d renderer, is that true ? In any case, I have to have d3d since the ddraw renderer cannot be configured to give same CRT-ish quality as the 3d3 renderer (either that or I hasted in my experiment).

Btw, as I have written before, on some sessions I can alt+tab into MAME after having lanched it through AM, like some users report (regarding various emulators). But the big difference for me is that, unlike those other users, MAME quits 1-2 second later returning control back to AM, so the alt+tab has to be pressed immediately after launching. Again, that works on some sessions only (AM sessions, not MAME sessions), on others it doesn't work at all.

Thanks for the comment.

@xod:  Along with MameUI, another thing you could do is try one of RetroArch's really old Mame cores.  Any of their Mame cores with a date (for example: Mame 2010 core) would mean it's the older variant.  Not exactly sure which one 0.78 romset would fall under though for use, or if you'd have to download a new set.  But the older cores would be perfect for you because they would optimized for weaker hardware setups.

Yes, that's what I had in mind. 0.78 = 2003, does RA have that ?


I have downloaded that, but not installed (will do another day). In the meantime, I have modified my MAME.cfg to:

Code: [Select]
exec: cmd.exe
args: /c C:\PATH\TO\mame.exe "[name]" -rompath "[rompath]" -d3d -d3dfilter 1 -d3deffect scan75 -d3dscan 75 -skip_disclaimer -skip_gameinfo 1>%USERPROFILE%\Desktop\AM-MAME-log.txt 2>&1
rompath: C:\PATH\TO\ROMS\

Now, when I have a non-minimized window "always on top" and run AM -> MAME 0.78, I get the log:
Code: [Select]
loading 41e_30.rom 
loading 41e_35.rom 
loading 41e_31.rom 
loading 41e_36.rom 
loading 41_32.rom   
loading 41_gfx5.rom
loading 41_gfx7.rom
loading 41_gfx1.rom
loading 41_gfx3.rom
loading 41_09.rom   
loading 41_18.rom   
loading 41_19.rom   
Average FPS: 59.999447 (79 frames)

But when NOT having a non-minimized window "always on top", then each time I got:

Code: [Select]
loading 41e_30.rom 
loading 41e_35.rom 
loading 41e_31.rom 
loading 41e_36.rom 
loading 41_32.rom   
loading 41_gfx5.rom
loading 41_gfx7.rom
loading 41_gfx1.rom
loading 41_gfx3.rom
loading 41_09.rom   
loading 41_18.rom   
loading 41_19.rom   
41e_30.rom   NOT FOUND
41e_35.rom   NOT FOUND
41e_31.rom   NOT FOUND
41e_36.rom   NOT FOUND
41_32.rom    NOT FOUND
41_gfx5.rom  NOT FOUND
41_gfx7.rom  NOT FOUND
41_gfx1.rom  NOT FOUND
41_gfx3.rom  NOT FOUND
41_09.rom    NOT FOUND
41_18.rom    NOT FOUND
41_19.rom    NOT FOUND
ERROR: required files are missing, the game cannot be run.

But after a minute or so when I tried again multiple times (still without a non-minimized window "always on top"), each time I got:

Code: [Select]
loading 41e_30.rom 
loading 41e_35.rom 
loading 41e_31.rom 
loading 41e_36.rom 
loading 41_32.rom   
loading 41_gfx5.rom
loading 41_gfx7.rom
loading 41_gfx1.rom
loading 41_gfx3.rom
loading 41_09.rom   
loading 41_18.rom   
loading 41_19.rom   
Unable to start video emulation
Error setting cooperative level: 88760245

What does that cooperative level imply, and that value ?

Tomorrow or the day after I'll try MAMEUI 0.78, thanks.

* edit *

And btw, in both cases, when execution of MAME 0.78 fails and when it succeeds, the args passed to MAME are exactly one and the same valid arguments, character by character.

General / Re: Focus problem using batch for pcsx2
« on: November 09, 2018, 01:47:24 PM »
When I first your first comment, and before reading the scipt you included, I was about to suggest "start /c ..." as well. But as it turned out for you, that was a/the problem.   Btw, there are plenty crazy things about cmd.exe, enough to make Bash to appear quite sane, hehehe. No command substitution being one, you instead have to use:

Code: [Select]
for /f ["<options>"] %<single-letter-variable> in ('<substituted command>') do <processing command goes here, it has access to %single-letter-variable, which is the output of 'substituted command'>
(the percent character/sign must be doubled (%%) in scripts of course, single ones are only for immediate commandline)

And there are limitations as well as dangers with that workaround.
Also, sometimes in cmd.exe you have to use "cmd /c <command>" rather than just "<command>", or things won't behave as expected and break. It's a mess, and more so to remember all these exception-al behaviors.

Not sure really.  I'm personally trying to get batches to work because PCSX2 doesn't have a great per game config system built-in to the emulator itself in the same way say, Dolphin does.  The way PCSX2 handles it, is to have a folder with separate ini files and then launch the game via command prompt with the directory to the ini as part of the argument.   That is the only reason i'm trying to use batch scripts--to setup individual games with their own specific arguments.  Now i know there's other various ways to go about doing it for example creating lnk files or using the "custom argument" field that's built-in AM itself (press Esc+down) but I like working with batch files.  (btw there's also a limitation in lnk shortcuts where the "target" field has a maximum character limit which becomes problematic to some code/game combinations, especially games with long names.)

Ok, per-game config is understandable, and I would personally go the batch script route myself.

When I was on WinXP I rememember that I could not "execute" shortcuts (lnk files) because they were Explorer-level file types and were alien to Win32 filsystem APIs. Has that changed, or do you launch shortcuts as argument to explorer ? (if it's possible then I can tell that that didn't cross my mind back then)

Hehe, I'm getting tired of all this.  :D

Totally feel the same way at the moment because I'm having the same problem with running pcsx2 via batch files.  lol

I have read others using bat scripts as bridges. What is the actual reason for that though ?

General / Re: Focus problem using batch for pcsx2
« on: November 08, 2018, 01:00:11 PM »
Note that the batch itself works perfectly fine when you double click it outside of AM.

Same thing is observed by me launching AM -> MAME 0.78, vs launching MAME 0.78 directly (without AM). Runs fine without AM, but with AM I have to either have any random application('s window) set to "always on top", or have terminated Explorer.exe (the shell), or run AM in windowed mode. Just for the purpose of gathering knowledge, have you tried having some application window "always on top" (while NOT minimizing that window) ? Try Task Manager and click menu item Options -> Always On Top. Then without minimizing that Task Manager window, launch AM and a game/bat, will it work then ? If yes, then we at least know that you are likely suffering the same probelm as me. To further verify, you should download Process Monitor. It's available for download at microsoft:

If you download Process Monitor, I can help you to create a filter (not related to AM filters) for pcsx2.exe, and see how long/short that process runs. There is far more info provided by Process Monitor, but as I'm new and haven't learned much, I will go no further. And I write "help" because Process Monitor filters can be confusing for the beginner, but simple once you grasp them. If you're interested let me know.

So I tried Alt+Tab after launching AM -> MAME 0.203, and it did work (on second Alt+Tab, each time). Then I tried the same with AM -> MAME 0.78 (without having any application window "always on top"), and in the brief moment (some milliseconds) that AM GUI (layout) went away I did Alt+Tab and it did work there too. But after a while that I try AM -> MAME 0.78 again, no matter what, it does not work, period. On the other hand, I successfully launched AM -> MAME 0.203 without even needing Alt+Tab. Hehe, I'm getting tired of all this.  :D

I find it very weird that your argument is "[romfilename]".  It should just be "[name]".  If i change mine to "[romfilename]", mine doesn't work.  With that said however, you said you got it to work eventually so...*shrug*.

As I have examined the various related settings, I can tell how AM behaves in this regard. Consider the three configurations below, and notice the outcome (final commandline).

executable: mame.exe
command arguments: [name]
rompath: C:\PATH\TO\ROMS\
outcome: mame.exe gpilots

executable: mame.exe
command arguments: [name] -rompath [rompath]
rompath: C:\PATH\TO\ROMS\
outcome: mame.exe gpilots -rompath C:\PATH\TO\ROMS\

executable: mame.exe
command arguments: [romfilename]
rompath: C:\PATH\TO\ROMS\
outcome: mame.exe C:\PATH\TO\ROMS\

Notice that when args contains "[name]" it will expand to "gpilots", so if you have no mame.ini -> rompath set correctly, you then have to qualify with "-rompath [rompath]" to generate successful commandline. If args on the other hand contains "[romfilename]" then AM will expand that to "" (notice the full filename, including the .zip suffix) and automatically prefix the value of "rompath" to it result in "C:\PATH\TO\ROMS\".

I just like to cover all the holes so to say (including mame.ini -> rompath being valid). Normally I would have chosen config 2 (args: "[name] -rompath [rompath]") because you are exclicitly giving mame a path to (more) roms (notice the plural suffix "s"), potentially multiple ones, separated by semicolon, rather than letting MAME "figure out" that there are more roms in the single directory of that particular rom and search there for additional ones, which a user without prior knowledge may not be sure about.

So to cover all holes, one should choose config #2 and set mame.ini -> rompath to the same value as MAME.cfg -> rompath.

Next time you get a black screen, try Alt+Tab and see if it gives focus to Mame.  As far as Mame versions go, yes the newer versions are both larger in size and more demanding because of the increase in accuracy + the merging of multisystems aka merging of Mame+Mess (which happened in v0.162).

I will, thanks. But indeed AM -> MAME 0.203 is even worse experince for me: huge RAM waste, and more importantly, cannot even set some window to "always on top" and have AM -> MAME executed each and every time.

So, I..

* Downloaded MAME 0.203
* A BIOS-pack (including Neo Geo BIOS)
* A rom (Ghost Pilots)
* Extracted emu into desktop, and put the roms in C:\MY\ROMS\ (just my alias for my real rompath)
* Lanuched AM, set up MAME 0.203 as new emulator, and configured (exe: C:\PATH\TO\MAME\mame.exe, args: [romfilename], rompath: C:\MY\ROMS\)
* Created romlist

I executed AM -> MAME 0.203 -> Ghost Pilots, and a brief black screen, after a very short while, control was returned back to AM. I went ahead and created mame.ini (mame -createconfig) and changed it's roms property to point to C:\MY\ROMS. Again executed AM -> MAME 0.203 -> Ghost Pilots, screen went black, but this time without returning control back to AM. Waited half a minute, and pushed Esc, control was returned back to AM. Then thought whattahell, try again. This time the game launched, success. I closed AM. Removed the "always on top" setting for the task manager window, and launched AM -> MAME 0.203 -> Ghost Pilots again, screen went and remained black. Many seconds later I pushed Esc and returned back to AM. I tried again, and success. As I was writing THESE WORDS I decided to try again. This time I needed to Esc out of the insisting black screen two times to have success, i.e the third execution of MAME 0.203 -> Ghost Pilots. There seems to be an annoying Windows <-> AM <-> MAME conflict.

FYI, Beside SNES9X, I have also added Fusion (Mega Drive, aka Genesis) emulator, and like SNES9X, I have yet to experience problems with that.

Btw, MAME 0.203 executable has a size of 1/4 GB, while 0.78 is around 5.3 MB. I know, 0.203 emulates far more systems .... systems that I do not need (this PC will run them like shit).

Pages: [1] 2