Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Help with a MAME problem (please!)


deadboy

Recommended Posts

OK, first off Adultery's new plugin is sweet. Unfortunately it's exposed a problem for me.

I'm running a machine with two displays, one over the other. Typically I run GameEx with Game Extender but this error crops up even when I load the game from a DOS prompt so I'll just talk about it from there.

When I try to load any dual screen game on just one screen it runs fine.

From here out the cmd line I am running is:

mame64 punchout -numscreens 2 -log

When I run the same game on two screens it runs ok, except the displays are reversed. Meaning what should be on the main screen is on the secondary screen.

I can fix that thru the TAB menu in MAME from inside the game and it works fine till I close it.

Next time I try to run any game with more than one screen MAME crashes as soon as I open it up. Just get the message saying Multiple Arcade Machine Emulator has experienced an unexpected error and has been shut down. The error.log file contains one line which says "Physical Height 1920 Physical Width 1080", which is of course the resolution to which my main display is set.

I tried changing the resolution to every setting between 1920x1090 and 640x480. Same result with only the specifics numbers in the error.log being different.

I've tried using command promts to force it to run at particular aspects/resolutions with the same result. I've run it with different -video options and aside from it looking crappier and running slower it doesn't seem to remember how I had the screens so it defaults back to the switched displays which, as I said, runs fine.

Once I have set the screens to show on the correct display and the error starts the only way I can fix it is to run the mame64 -cc to reset the mame.ini

Any help is greatly appreciated.

Thanks.

Link to comment
Share on other sites

Ok, here goes.

Well, not permitted to upload the actual file so...

From error.log

Physical width 1920, height 1080

Mame.ini:

#

# CORE CONFIGURATION OPTIONS

#

readconfig 1

writeconfig 0

#

# CORE SEARCH PATH OPTIONS

#

rompath roms

hashpath hash

samplepath samples

artpath artwork

ctrlrpath ctrlr

inipath .;ini

fontpath .

cheatpath cheat

crosshairpath crosshair

#

# CORE OUTPUT DIRECTORY OPTIONS

#

cfg_directory cfg

nvram_directory nvram

memcard_directory memcard

input_directory inp

state_directory sta

snapshot_directory snap

diff_directory diff

comment_directory comments

#

# CORE STATE/PLAYBACK OPTIONS

#

state

autosave 0

playback

record

mngwrite

aviwrite

wavwrite

snapname %g/%i

snapsize auto

snapview internal

burnin 0

#

# CORE PERFORMANCE OPTIONS

#

autoframeskip 0

frameskip 0

seconds_to_run 0

throttle 1

sleep 1

speed 1.0

refreshspeed 0

#

# CORE ROTATION OPTIONS

#

rotate 1

ror 0

rol 0

autoror 0

autorol 0

flipx 0

flipy 0

#

# CORE ARTWORK OPTIONS

#

artwork_crop 0

use_backdrops 1

use_overlays 1

use_bezels 1

use_cpanels 1

use_marquees 1

#

# CORE SCREEN OPTIONS

#

brightness 1.0

contrast 1.0

gamma 1.0

pause_brightness 0.65

effect none

#

# CORE VECTOR OPTIONS

#

antialias 1

beam 1.0

flicker 0

#

# CORE SOUND OPTIONS

#

sound 1

samplerate 48000

samples 1

volume 0

#

# CORE INPUT OPTIONS

#

coin_lockout 1

ctrlr

mouse 0

joystick 1

lightgun 0

multikeyboard 0

multimouse 0

steadykey 0

offscreen_reload 0

joystick_map auto

joystick_deadzone 0.3

joystick_saturation 0.85

natural 0

joystick_contradictory 0

coin_impulse 0

#

# CORE INPUT AUTOMATIC ENABLE OPTIONS

#

paddle_device keyboard

adstick_device keyboard

pedal_device keyboard

dial_device keyboard

trackball_device keyboard

lightgun_device keyboard

positional_device keyboard

mouse_device mouse

#

# CORE DEBUGGING OPTIONS

#

log 0

verbose 0

update_in_pause 0

debug 0

debugscript

debug_internal 0

#

# CORE MISC OPTIONS

#

bios

cheat 0

skip_gameinfo 0

uifont default

ramsize

confirm_quit 0

#

# WINDOWS DEBUGGING OPTIONS

#

oslog 0

watchdog 0

debugger_font "Lucida Console"

debugger_font_size 9

#

# WINDOWS PERFORMANCE OPTIONS

#

priority 0

multithreading 0

numprocessors auto

profile 0

bench 0

#

# WINDOWS VIDEO OPTIONS

#

video d3d

numscreens 1

window 0

maximize 1

keepaspect 1

prescale 1

waitvsync 0

syncrefresh 0

menu 0

#

# DIRECTDRAW-SPECIFIC OPTIONS

#

hwstretch 1

#

# DIRECT3D-SPECIFIC OPTIONS

#

d3dversion 9

filter 1

#

# DIRECT3D POST-PROCESSING OPTIONS

#

hlsl_enable 0

hlslpath hlsl

hlsl_ini_read 0

hlsl_ini_write 0

hlslini %g

hlsl_prescale_x 0

hlsl_prescale_y 0

hlsl_preset -1

hlsl_write

hlsl_snap_width 2048

hlsl_snap_height 1536

shadow_mask_alpha 0.0

shadow_mask_texture aperture.png

shadow_mask_x_count 320

shadow_mask_y_count 240

shadow_mask_usize 0.09375

shadow_mask_vsize 0.109375

curvature 0.0

pincushion 0.0

scanline_alpha 0.0

scanline_size 1.0

scanline_height 0.7

scanline_bright_scale 1.0

scanline_bright_offset 0.0

scanline_jitter 0.0

defocus 0.0,0.0

converge_x 0.0,0.0,0.0

converge_y 0.0,0.0,0.0

radial_converge_x 0.0,0.0,0.0

radial_converge_y 0.0,0.0,0.0

red_ratio 1.0,0.0,0.0

grn_ratio 0.0,1.0,0.0

blu_ratio 0.0,0.0,1.0

saturation 1.0

offset 0.0,0.0,0.0

scale 1.0,1.0,1.0

power 1.0,1.0,1.0

floor 0.0,0.0,0.0

phosphor_life 0.0,0.0,0.0

yiq_enable 0

yiq_cc 3.59754545

yiq_a 0.5

yiq_b 0.5

yiq_o 0.0

yiq_p 1.0

yiq_n 1.0

yiq_y 6.0

yiq_i 1.2

yiq_q 0.6

yiq_scan_time 52.6

yiq_phase_count 2

#

# PER-WINDOW VIDEO OPTIONS

#

screen auto

aspect auto

resolution auto

view auto

screen0 auto

aspect0 auto

resolution0 auto

view0 auto

screen1 auto

aspect1 auto

resolution1 auto

view1 auto

screen2 auto

aspect2 auto

resolution2 auto

view2 auto

screen3 auto

aspect3 auto

resolution3 auto

view3 auto

#

# FULL SCREEN OPTIONS

#

triplebuffer 0

switchres 0

full_screen_brightness 1.0

full_screen_contrast 1.0

full_screen_gamma 1.0

#

# WINDOWS SOUND OPTIONS

#

audio_latency 2

#

# INPUT DEVICE OPTIONS

#

hide_cursor 1

dual_lightgun 0

Link to comment
Share on other sites

So you don't see anything in the .ini explaining why it's happening?

I just can't figure out why it'll load with the displays set default and works with them switched but crashes when I've set them to load the otherway. I'd think if it was strictly a d3d thing it would fail when I switch them in game. I may try a different ver of MAME and see if it's just a proablem with this build.

Link to comment
Share on other sites

Well the only thing I see being an issue is it can't initialize your display properly. Can you run it on default and put up the log so I can do a quick comparison?

Link to comment
Share on other sites

default as in no command changes?

#

# CORE CONFIGURATION OPTIONS

#

readconfig 1

writeconfig 0

#

# CORE SEARCH PATH OPTIONS

#

rompath roms

hashpath hash

samplepath samples

artpath artwork

ctrlrpath ctrlr

inipath .;ini

fontpath .

cheatpath cheat

crosshairpath crosshair

#

# CORE OUTPUT DIRECTORY OPTIONS

#

cfg_directory cfg

nvram_directory nvram

memcard_directory memcard

input_directory inp

state_directory sta

snapshot_directory snap

diff_directory diff

comment_directory comments

#

# CORE STATE/PLAYBACK OPTIONS

#

state

autosave 0

playback

record

mngwrite

aviwrite

wavwrite

snapname %g/%i

snapsize auto

snapview internal

burnin 0

#

# CORE PERFORMANCE OPTIONS

#

autoframeskip 0

frameskip 0

seconds_to_run 0

throttle 1

sleep 1

speed 1.0

refreshspeed 0

#

# CORE ROTATION OPTIONS

#

rotate 1

ror 0

rol 0

autoror 0

autorol 0

flipx 0

flipy 0

#

# CORE ARTWORK OPTIONS

#

artwork_crop 0

use_backdrops 1

use_overlays 1

use_bezels 1

use_cpanels 1

use_marquees 1

#

# CORE SCREEN OPTIONS

#

brightness 1.0

contrast 1.0

gamma 1.0

pause_brightness 0.65

effect none

#

# CORE VECTOR OPTIONS

#

antialias 1

beam 1.0

flicker 0

#

# CORE SOUND OPTIONS

#

sound 1

samplerate 48000

samples 1

volume 0

#

# CORE INPUT OPTIONS

#

coin_lockout 1

ctrlr

mouse 0

joystick 1

lightgun 0

multikeyboard 0

multimouse 0

steadykey 0

offscreen_reload 0

joystick_map auto

joystick_deadzone 0.3

joystick_saturation 0.85

natural 0

joystick_contradictory 0

coin_impulse 0

#

# CORE INPUT AUTOMATIC ENABLE OPTIONS

#

paddle_device keyboard

adstick_device keyboard

pedal_device keyboard

dial_device keyboard

trackball_device keyboard

lightgun_device keyboard

positional_device keyboard

mouse_device mouse

#

# CORE DEBUGGING OPTIONS

#

log 0

verbose 0

update_in_pause 0

debug 0

debugscript

debug_internal 0

#

# CORE MISC OPTIONS

#

bios

cheat 0

skip_gameinfo 0

uifont default

ramsize

confirm_quit 0

#

# WINDOWS DEBUGGING OPTIONS

#

oslog 0

watchdog 0

debugger_font "Lucida Console"

debugger_font_size 9

#

# WINDOWS PERFORMANCE OPTIONS

#

priority 0

multithreading 0

numprocessors auto

profile 0

bench 0

#

# WINDOWS VIDEO OPTIONS

#

video d3d

numscreens 1

window 0

maximize 1

keepaspect 1

prescale 1

waitvsync 0

syncrefresh 0

menu 0

#

# DIRECTDRAW-SPECIFIC OPTIONS

#

hwstretch 1

#

# DIRECT3D-SPECIFIC OPTIONS

#

d3dversion 9

filter 1

#

# DIRECT3D POST-PROCESSING OPTIONS

#

hlsl_enable 0

hlslpath hlsl

hlsl_ini_read 0

hlsl_ini_write 0

hlslini %g

hlsl_prescale_x 0

hlsl_prescale_y 0

hlsl_preset -1

hlsl_write

hlsl_snap_width 2048

hlsl_snap_height 1536

shadow_mask_alpha 0.0

shadow_mask_texture aperture.png

shadow_mask_x_count 320

shadow_mask_y_count 240

shadow_mask_usize 0.09375

shadow_mask_vsize 0.109375

curvature 0.0

pincushion 0.0

scanline_alpha 0.0

scanline_size 1.0

scanline_height 0.7

scanline_bright_scale 1.0

scanline_bright_offset 0.0

scanline_jitter 0.0

defocus 0.0,0.0

converge_x 0.0,0.0,0.0

converge_y 0.0,0.0,0.0

radial_converge_x 0.0,0.0,0.0

radial_converge_y 0.0,0.0,0.0

red_ratio 1.0,0.0,0.0

grn_ratio 0.0,1.0,0.0

blu_ratio 0.0,0.0,1.0

saturation 1.0

offset 0.0,0.0,0.0

scale 1.0,1.0,1.0

power 1.0,1.0,1.0

floor 0.0,0.0,0.0

phosphor_life 0.0,0.0,0.0

yiq_enable 0

yiq_cc 3.59754545

yiq_a 0.5

yiq_b 0.5

yiq_o 0.0

yiq_p 1.0

yiq_n 1.0

yiq_y 6.0

yiq_i 1.2

yiq_q 0.6

yiq_scan_time 52.6

yiq_phase_count 2

#

# PER-WINDOW VIDEO OPTIONS

#

screen auto

aspect auto

resolution auto

view auto

screen0 auto

aspect0 auto

resolution0 auto

view0 auto

screen1 auto

aspect1 auto

resolution1 auto

view1 auto

screen2 auto

aspect2 auto

resolution2 auto

view2 auto

screen3 auto

aspect3 auto

resolution3 auto

view3 auto

#

# FULL SCREEN OPTIONS

#

triplebuffer 0

switchres 0

full_screen_brightness 1.0

full_screen_contrast 1.0

full_screen_gamma 1.0

#

# WINDOWS SOUND OPTIONS

#

audio_latency 2

#

# INPUT DEVICE OPTIONS

#

hide_cursor 1

dual_lightgun 0

The time stamp on the file doesnt reflect a change when I flip the displays but if I DONT flip them it has no prob with the -numscreens 2 switch.

Very odd...

Link to comment
Share on other sites

So it's only games you had to change what displays on what monitor games, not all games? Like the -numscreens switch is crashing it only on games that use a single monitor, or like if you manually reassign a monitor? Sorry, I get lost easy. :)

Link to comment
Share on other sites

No worries. The only time it crashes is on games with multiple screens AFTER I've already successfully loaded them and switched the displays. The numscreens 2 itself doesnt kill it. If I leave the displays where the want to be (backards) then it never crashes. It's only after I tell screen 1 to display the video for screen 0 and vice versa. Even then it works fine till I shut down the game. Then the next time it crashes on load.

Link to comment
Share on other sites

Could you please try the latest version of the plugin and see if it fixes the problem? I rewrote the function that calls the command line.

There was a whitespace bug I fixed. If it doesn't run the log in the MameCommander folder will show me what its running.

Link to comment
Share on other sites

Right now the system is down because I'm replacing the control panel with a new 4 player box. HOPEFULLY I'll have it up and running again in the next couple days.

Did I make it clear that it's not your app? It does the same thing from a DOS prompt. I mean I REALLY appreciate the help, I just don't want you pulling out your hair thinking it's your plug-in messing up.

Link to comment
Share on other sites

You did but if I had extra blanks in the command line it would certainly cause a bug in GameEx (I'm kinda surprised no one noticed it actually). Tha at least will keep MC from fubaring your MAME integration.

Link to comment
Share on other sites

OK, my machine is back up and running and on a lark I opted to switch the inputs for the monitors, just to see if that did anything. It did. Now I can't load ANY game with the -numscreens 2 option. Even with a freshly made -cc mame.ini it crashes right off the bat. I'm now wondering if it's something it doesn't like with the particular monitor driver...

Link to comment
Share on other sites

Out of curiousity, is this correct syntax for specifying which display screen1 and screen2 go to?

#

# PER-WINDOW VIDEO OPTIONS

#

screen auto

aspect auto

resolution auto

view auto

screen0

aspect0 auto

resolution0 auto

view0 auto

screen1 //.DISPLAY1

aspect1 auto

resolution1 auto

view1 auto

screen2 //.DISPLAY0

aspect2 auto

resolution2 auto

view2 auto

screen3 auto

aspect3 auto

resolution3 auto

view3 auto

Link to comment
Share on other sites

Um... shouldn't that be DISPLAY1 & DISPLAY2? Windows monitor enumeration typically starts at 1 not 0. Is this what happens when you assign specific monitors in the tab menu?

Link to comment
Share on other sites

Is it? I am trying to piece this stuff together from tidbits I find here and there. I'm a far better wirer and woodworker than I am coder so this is all kind of trial and error for me.

so rather than //.DISPLAY0 it would just be DISPLAY1 and //.DISPLAY1 would be DISPLAY2?

Link to comment
Share on other sites

Yeah I would try that first. If you want to see your display names you can also run mame.exe -verbose but unless you changed them yourself it's typically \.\\DISPLAY1 and \.\\DISPLAY2

In games that I run two screens and want to flip the images (like PunchOut), I add this to the command line:

-numscreens 2 -screen0 \.\\DISPLAY.1 -screen1 \.\\DISPLAY2

If you output to \.\\DISPLAY0 my guess is that MAME can't find/initialize that display.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...