|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
On my iMac 3,06 GHz Outrun is extremely slow since 0.131u2 (or didn't I notice it earlier?). Is there anything I can try or is this known?
|
|
|
|
Joined: May 2008
Posts: 4,930 Likes: 24
Very Senior Member
|
Very Senior Member
Joined: May 2008
Posts: 4,930 Likes: 24 |
I can't reproduce this on Linux x64 (Opteron 285 @ 2,6 GHz). Just tested outrun with 0.131u3 and it runs at 100% all the time... this means that _IF_ there's a problem, it must be related to your platform (which I wouldn't expect) or system. How do other games/drivers run?
A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Yeah, I don't know of anything that would have changed for Outrun in u2 (or at all recently really).
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
not just outrun. Super Hang On also. ATI Radeon is more slow on XP (25% in some games) and Vista is normal speed. may video driver ? Kent Clark and GMC2. Is ATI your video card ?
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: May 2008
Posts: 4,930 Likes: 24
Very Senior Member
|
Very Senior Member
Joined: May 2008
Posts: 4,930 Likes: 24 |
Augusto, I don't have any problems with those games... I said I can NOT reproduce the speed issues that KC has on his iMac  . I use an Nvidia 8800 GT GPU, but video is not the culprit anyway, because even with "-video soft" I get 100% speed (also in full screen).
A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
In Windows XP with ATI Radeon HD 3450 have problems in speed, but in Vista is OK. Not problem with sdlmame.
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Yes, I have a ATI 4850! I thought this video card is the fastest ever in iMacs - even fast then a Nvidia 8800GT!?
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Super Hang on is also verv very slow. Even with auto skip frames and video soft (instead of OpenGL).
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Hmm. Outrun indeed runs like crap on my Mac Mini (2.53 GHz Core 2 Duo + NVidia OpenGL). It's fine on slower Windows and Linux machines though, so probably we've angered Apple's flakey compiler again somehow.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
Kent Clark the Radeon HD 4850 is more fast of than 8800 GT in PC. RB is see a machine (P4 2GH) running sdlmame with the follow speed Outrun =25% Starblade = 40% (that ?)
Last edited by Augusto; 05/31/09 06:54 PM.
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
I hope that the next version of SDLMAME can correct the problem with that games on every computer... 
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
may it is a issue with compiler. RB is "trouxa" and "crazy" a lot to make a wrong sdlmame compilation
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
I'm looking into it. -sdlvideofps shows that the Nvidia in my Mac Mini is good for 2500 FPS give or take a few so it's definitely an issue with the core.
|
|
|
|
Joined: Sep 2004
Posts: 392 Likes: 4
Senior Member
|
Senior Member
Joined: Sep 2004
Posts: 392 Likes: 4 |
Probably one of etabeta's tag conversions. Some of those should be looked up once at startup rather than re-determined on every call.
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
it could well be, but I tried to revert most of my changes and none seems to help in this case... on macosx, at least
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
"RB is "trouxa" and "crazy" a lot to make a wrong sdlmame compilation" all above not is offense. Is just to say RB is crazy and being impossible to make a wrong sdlmame compilation  RB 
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Outrun is still slow on 0.132 on my iMac 3,06 GHz and ATI 4850 graphics card.
|
|
|
|
Joined: Apr 2007
Posts: 155
Senior Member
|
Senior Member
Joined: Apr 2007
Posts: 155 |
Running ok here (about 199MPH) =) root@slackade:/mame# sdlmame outrun
Warning: unknown option in INI: remapjoys
Warning: unknown option in INI: remapjoyfile
Warning: unknown option in INI: remapjoys
Warning: unknown option in INI: remapjoyfile
Unexpected option gl_lib queried
CreateWMCursor
CreateWMCursor
CreateWMCursor
SDL_DirectFB: Surface Capabilities: DSCAPS_PRIMARY DSCAPS_VIDEOONLY
Average speed: 100.00% (96 seconds)
FreeWMCursor
Slackware13.0-64 kernel2.6.31.6-SDL 1.2.14-DirectFB 1.4.0 SLDMame 0.136 21"CRT 15Khz-nv framebuffer
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Still not working right with the ATI graphics card. I wonder if someone from the dev team could have a look at this.
|
|
|
|
Joined: Jun 2001
Posts: 161
Senior Member
|
Senior Member
Joined: Jun 2001
Posts: 161 |
Hmm. Outrun indeed runs like crap on my Mac Mini (2.53 GHz Core 2 Duo + NVidia OpenGL). It's fine on slower Windows and Linux machines though, so probably we've angered Apple's flakey compiler again somehow. Is there ANYONE (outside of Apple and possibly some 3rd party Mac shops) that doesn't think Apples compiler is a piece of junk?
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Well, Apple's compiler is GCC 4, just "ld" is custom.
And actually this also happens on some Windows systems as per Mirko on the list. Although there -video soft with a minimized window appears to run full speed, and there's no such remedy here.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
I hope that this problem can be solved some day...
|
|
|
|
Joined: May 2004
Posts: 1,772 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,772 Likes: 34 |
Outrun (and various other games) now have a 'gear position' display, done with the artwork system.
does SDLMAME support mame outrun -nouse_bezels
does it help
*edit* probably not, because that only hides them rather than disabling the display mode, gah. Does selecting 'standard 4:3' instead of Shifter-L / Shifter-R from the in-mame menu help.
are other games with this overlay affected? It seems a bit dodgy even in windows builds, causing Buggy Challenge to be stretched to a horizontal game instead of a vertical game.
Last edited by Haze; 06/20/09 10:07 AM.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
No, other games with overlays are not affected. Only Hang On as it uses the same driver.
Last edited by Kent Clark; 06/20/09 10:36 AM.
|
|
|
|
Joined: Apr 2006
Posts: 737 Likes: 1
Senior Member
|
Senior Member
Joined: Apr 2006
Posts: 737 Likes: 1 |
are other games with this overlay affected? It seems a bit dodgy even in windows builds, causing Buggy Challenge to be stretched to a horizontal game instead of a vertical game. Yeah. I'm pretty sure it's a layout issue. I logged a bug with effected drivers. I don't think Mr. Do has had any time to do much of anything MAME related as of late so the bug remains unfixed. http://www.mametesters.org/view.php?id=3019
|
|
|
|
Joined: Jan 2002
Posts: 57 Likes: 5
Member
|
Member
Joined: Jan 2002
Posts: 57 Likes: 5 |
are other games with this overlay affected? It seems a bit dodgy even in windows builds, causing Buggy Challenge to be stretched to a horizontal game instead of a vertical game. Yeah. I'm pretty sure it's a layout issue. I logged a bug with effected drivers. I don't think Mr. Do has had any time to do much of anything MAME related as of late so the bug remains unfixed. http://www.mametesters.org/view.php?id=3019Whoops... fixed and sent to Aaron.
RELAX and just have fun. Remember, it's all about the games.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Does this also help with Outrun?
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
To be accurate, the overlay issue was never correlated to outrun or slowness, just weird display rotation and such on games with a visible shifter. It probably should've been moved to a separate thread but I wasn't paying attention.
|
|
|
|
Joined: Sep 2000
Posts: 255
Senior Member
|
Senior Member
Joined: Sep 2000
Posts: 255 |
Well Outrun is still so slow as to be unplayable with 132u4
Has anyone tried to fix this problem yet?
=will=
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
It's still not fixed. I wonder if nobody is interested in fixing this bug?
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
EDITED POST (original post info outdated due to further testing)
mmm... the game regressed at least in 0.131u1 if not earlier... problem is that I tried reverting most of the changes applied between 0.131 and 0.131u2 without gaining back the lost speed...
I will keep investigating
Last edited by etabeta78; 07/30/09 05:15 PM.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Nice! Maybe it's slower since 0.130 or even earlier. I just noticed it at 0.131..something. Thank you for all your help! 
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Just want to note that Outrun runs in full speed on my system (core duo, 3 GHz) if I set Overclock CPU main, sub and soundcpu to 35 % (instead of 100 %). Augusto gave me that hint. But MAMEPGUI does not save this values so I have to set them every time I would like to play the game - and setting this takes a veeeery long time as values are only changing slowly...
Last edited by Kent Clark; 07/30/09 06:45 PM.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
"I set Overclock CPU main, sub and soundcpu to 35 %" Not post problems using overclock in mametesters please. May is a GCC changes. humm. a bull in GCC web site. humm. understand now. GCC have 3 letters. EGG 3 letters. A chicken egg that born a bull (problems with few drivers)
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Yeah, underclocking the CPUs to that degree is a seriously poor idea. You'll get game-created slowdown (ie, it'll slowdown but MAME will still show 100%) and a high probability of the game locking up or otherwise malfunctioning. Also, that's a Gnu coming out of the egg on the GCC web site 
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
regression is indeed between 128u2 and 129... I'm tracking it down. Hope to fix it soon. For sure, it was unrelated to my 0.131u1 changes 
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
ironed out regression version: in 0.128u7 it was ok, in 0.129 it was slow.
I have really no idea what has been changed in 0.129 which can affect so badly mac compiled builds, but the problem clearly surfaced in that version.
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
That's a much larger diff from a final u to a number release than I was expecting. Nothing actually changed in that driver though.
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
yeah, xmas holidays gave a lot of time for core changes...
at a first inspection, also the segaic16 changes (for the system 18 VDP) seem unrelated... maybe the problem is in the m68k changes, but in that case it should affect more than a single driver...
I'll try to get back to this problem tomorrow.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Nevertheless I played Outrun with overclocking options set to 35 % and it worked fine. I didn't see any game related troubles. It's only tendious that I have to change the overclocking settings every time I start the game...
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
It's supposed to be tedious because you're not supposed to be doing it :P
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
But if there is no other solution at the moment? Should I NOT play it? By the way: 0.133u1 still does not solve the problem...
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
You might just keep a 0.128 binary around for OutRun. Most front ends support assigning an alternate binary to specific games for reasons like this.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
Exerion have slowndown also. Is 4X more cpu requirement of than a CPS2 game.
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
It's 0.133u5 and Outrun is still much too slow on my iMac...
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
And as I said before, use 0.128 for Outrun.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Ah! This is the final fix for this problem?
|
|
|
|
Joined: Jan 2005
Posts: 54
Member
|
Member
Joined: Jan 2005
Posts: 54 |
0.134 and, again, Outrun is still much too slow on my iMac...
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Yes, and the next person that posts "[version] and it's still too slow" will be ritually castrated (I'll think of something if it's a woman). Using 0.128 isn't a final fix necessarily, but it has the advantage of being very effective while we figure out why it's slow.
|
|
|
|
Joined: Apr 2006
Posts: 737 Likes: 1
Senior Member
|
Senior Member
Joined: Apr 2006
Posts: 737 Likes: 1 |
Uh, guys.. the problem has been acknowledged to death. If a direct fix to the issue could be found - it would be fixed yesterday. Until then, keep underclocking the CPU or run version 0.128 if your life revolves around Outrun, Super Hang-On or Turbo Outrun (segaorun.c).
You could try the Super Hang-On (bootleg) (setname: shangupb) that was an upgrade on regular Hang-On hardware to see if that plays faster. Hang-On, Enduro Racer, Space Harrier (segahang.c) don't appear slower at least on the Windows side.
|
|
|
|
Joined: Jan 2005
Posts: 54
Member
|
Member
Joined: Jan 2005
Posts: 54 |
Super Hang-On (bootleg) (setname: shangupb), Enduro Racer and Space Harrier (segahang.c) plays faster.
Last edited by budge; 09/10/09 11:26 PM.
|
|
|
|
Joined: Dec 2005
Posts: 330
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 330 |
If segaorun.c got slower but segahang.c didn't, it might be related to the 315-5195 programmable memory mapper.
OSX users (and anyone else with Outrun performance problems), did segas16b.c games also get noticeably slower after 0.128? Try the Shinobi clones--shinobi2, shinobi3, shinobi4, and shinobi5 are System 16B and use the 315-5195, whereas shinobi and shinobi1 are System 16A and don't.
If the S16B clones lost performance relative to the S16A clones in the same MAME version that Outrun got slower, I think we've nailed the source of the performance problem. Remedying it is, of course, another story...
|
|
|
|
Joined: Jun 2007
Posts: 25
Member
|
Member
Joined: Jun 2007
Posts: 25 |
i posted a while back about these issues, and would just like to state for the record that no, my life does not in fact revolve around out run.  tried the shinobi clones as you suggested and they seem fine, at least w/ .132.
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
16A and 16B Shinobi are both very fast on 0.134 on my Mini. Also Space Harrier runs 350+% unthrottled so it's fine, it's just OutRun (and friends in that driver) that are problematic.
(That would also seem to clear the 68000 core).
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Wouldn't it be an idea to check what changed since 0.128 in this specific driver?
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Nothing changed in that specific driver. That's the problem.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
just for comments Exerion may is the slowest game of 80's. just 200% unthrottled and in few moments (several enemies in screen) is 100% in dual core. after of new changes in mame core old games (more of 2 cpus on pcb) are more slowest. for me not is a problem.
Now Outrun on PS3 run very well underclocking the game cpus. Not ingame related problems using overclocking settings. graphics, sound and play are OK
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Feb 2007
Posts: 549
Senior Member
|
Senior Member
Joined: Feb 2007
Posts: 549 |
huh.
Exerion runs attract mode at ~900% unthrottled on my PC.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
in a athlon 64x2 2,6 GH 6GB RAM Radeon HD 3650 run in less of the 200% and in few moments 100%. Windows Vista Ultimate SP1. but not is a serious problem.
Sune what is your PC ?
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Feb 2007
Posts: 549
Senior Member
|
Senior Member
Joined: Feb 2007
Posts: 549 |
It's a ASUS P5Q-E with a 3.16GHz Core 2 Duo E8500 CPU, X-Fi Titanium and Geforce 9800GTX+ graphics. Can't compete with you on the RAM though, only got 2GB. I'm getting 2GB more in a few months when some friends from Denmark come to visit.
All parts were bought in the US and Denmark...as you know the prices are completely insane here in Brazil.
I'm running the official 64-bit version of MAME .134 on the 64-bit Windows 7 RC.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
"All parts were bought in the US and Denmark...as you know the prices are completely insane here in Brazil" insane a lot !!! less of 1000 U$ is impossible to buy all in Brazil.
"I'm running the official 64-bit version of MAME .134 on the 64-bit Windows 7 RC" Windows 7 final release ?
Last edited by Augusto; 09/13/09 06:27 AM.
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Feb 2007
Posts: 549
Senior Member
|
Senior Member
Joined: Feb 2007
Posts: 549 |
No it's the RC as in "Release Candidate" that Microsoft gave out for free earlier this year. I've been using it as my main OS for a few months now and it's running nice and smooth. I've had some problems with older hardware not working right or at all, but that's to be expected.
The free Windows 7 RC will work until hmm May next year I think. Don't remember exactly.
If you want to try it, you could probably still find an .iso image of it somewhere, then all you need to do is go to the Windows 7 RC website and register to get a product key. It doesn't come in Portuguese though, I think.
|
|
|
|
Joined: Sep 2007
Posts: 148
Village Idiot Senior Member
|
Village Idiot Senior Member
Joined: Sep 2007
Posts: 148 |
I have the Windows 7 RC, but not install. In setup screen show the message "Insert Drive Disc". Need hardware driver for Windows 7. English or portuguese language not is problem. may i have that wait a final version to test before buy full version. I am a Micro$oft registered user :P
title Village Idiot is bug of bad understand,but was forgotten to fix it.
|
|
|
|
Joined: Feb 2007
Posts: 549
Senior Member
|
Senior Member
Joined: Feb 2007
Posts: 549 |
Download the driver you need and put it on a USB pen drive, unzipped of course. It probably wants a SATA controller driver, you can find it on your motherboard manufacturer's website - they should have drivers for Windows 7 now - otherwise try with Vista drivers.
Then when it asks, just point the installer to the folder on the USB drive. With Vista, I had to do this to install with my SATA controller (Intel ICH10R) in AHCI mode. Windows 7 RC just worked.
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
Nothing changed in that specific driver. That's the problem. Have you run it under a profiler? I just hooked up Instruments to it, and it spends and *awful* lot of time in libSystem.B.dylib - specifically, in sigaltstack and sigprocmask. This isn't true of running ie. Shinobi, where those calls are a very small portion of the execution time.
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
Nothing changed in that specific driver. That's the problem. Have you run it under a profiler? I just hooked up Instruments to it, and it spends and *awful* lot of time in libSystem.B.dylib - specifically, in sigaltstack and sigprocmask. This isn't true of running ie. Shinobi, where those calls are a very small portion of the execution time. Well, hook up Instruments to the previous version, and see if the profile layout is the same. Then, if it's not, I think Kent might be happy if you tried to figure out why the app is spending so much time in those functions. Most of us on the Bannister boards aren't running Macs, so you're one of the few people who actually stands a chance at fixing it. 
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
I just found out that Valgrind is available for OS X so that should be helpful when I get to it.
|
|
|
|
Joined: Jul 2006
Posts: 87
Member
|
Member
Joined: Jul 2006
Posts: 87 |
I don't see time spent in signal routines using oprofile: 752060 91.9309 mame
17595 2.1508 libc-2.10.1.so
17265 2.1105 no-vmlinux
13712 1.6761 [vdso] (tgid:28856 range:0x7fff017ff000-0x7fff01800000)
4765 0.5825 [vdso] (tgid:29360 range:0x7fff961ff000-0x7fff96200000)
3645 0.4456 libSDL-1.2.so.0.11.2
I guess some gprof will be needed 
Last edited by ldesnogu; 09/15/09 04:59 PM.
|
|
|
|
Joined: Jul 2006
Posts: 87
Member
|
Member
Joined: Jul 2006
Posts: 87 |
Oh it's a Mac specific thing? Anyway the profile looks like this on my PC: 35.55 11.46 11.46 249608 0.00 0.00 cpuexec_timeslice
9.40 14.49 3.03 198763356 0.00 0.00 cpu_execute_m68k
6.61 16.62 2.13 8762 0.00 0.00 segaic16_sprites_outrun_draw
4.75 18.15 1.53 145988 0.00 0.00 drawsdl_rgb888_setup_and_draw_textured_quad
4.47 19.59 1.44 7421604 0.00 0.00 ym2151_update_one
3.88 20.84 1.25 35382713 0.00 0.00 cpu_execute_z80
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Yeah. The fact that a signal handler's involved makes it look *very* Mac specific.
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
Well, hook up Instruments to the previous version, and see if the profile layout is the same. Then, if it's not, I think Kent might be happy if you tried to figure out why the app is spending so much time in those functions. Most of us on the Bannister boards aren't running Macs, so you're one of the few people who actually stands a chance at fixing it.  So, the sigaltstack and sigprocmask calls were shown up by the 'Time Profiler' in Instruments. That just showed them as coming straight from cpuexec_timeslice. If I run 'CPU sampler', then it actually shows a 'setjmp' in between the sigaltstack/sigprocmask and cpuexec_timeslice. Going into m68kcpu.c / m68kcpu.h, then there is a call to setjmp in the macro m68ki_set_address_error_trap(). If I comment out the use of that macro in CPU_EXECUTE(), then Out Run runs at full speed  Now, I'm not going to suggest removing that macro / setjmp() call, without knowing a lot more about why it's there in the first place!! But that is why some m68k games are running really slow on a Mac.
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Scarlet, that's awesome. There was just a controversy about that very setjmp() on the dev list (apparently 64-bit MSVC doesn't like it either), I'll make sure to bring it up again.
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
Yes, just seen there is a post about it on the Mess board as well (64-bit MSVC that is). Searching for setjmp performance, it appears to be undefined by POSIX exactly what it will do - it may or may not save the signal context (ie. SYSV doesn't, BSD 4.3 does). Which explains why it acts like a dog on Mac (and other BSDs) - it's saving the signal context. There is _setjmp() that doesn't save the context, although it's probably equivalent and better to use sigsetjmp(buf, 0) - I'm just about to test (once the compile finishes!!). Don't know if that will do anything for 64-bit MSVC, but you might want to give it a shot. UPDATE: Yes, sigsetjmp(buf, 0) works fine on the Mac. No saving of signal contexts  . Obviously, need to update jmp_buf to sigjmp_buf and longjmp() to siglongjmp() to match.
Last edited by scarlet; 09/15/09 08:37 PM.
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Need to figure out what it's actually *doing* first - I've never used setjmp() in a CPU core before so it seems very odd that the 68k is doing so.
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
Well, according to the naming, it's being used as a return point when checking for an 'address error'. And a quick grep says that setjmp() is also being used in: mips3drc ppc602 ppc603 ppcdrc sh2drc and once in mame.c for a fatal error. Interestingly, ppc602 has comments to say that MinGW's optimizer kills setjmp()/longjmp(). As you say, best line of code is the one that doesn't exist 
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Thanks. I submitted a patch for u1 that keys off _BSD_SETJMP_H to select sigsetjmp() and friends, co-credited to you. Works well on my Mac Mini and doesn't break Linux or Windows.
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
Cheers, always fancied having a credit in the Mame source, but no time to do anything! It's been good looking at C code, which I haven't done in a long time.
Would be interesting to know if the address error emulation is really necessary though. Although the sigsetjmp() version works at a reasonable pace, the version I compiled that simply commented out the setjmp() call is a good 10-25% faster than sigsetjmp() running Out Run.
Maybe next I'll see if I can work around the compilation errors using clang!
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
The emulation of it's definitely necessary - a couple of games actually deliberately jump to an invalid address in order to continue via the address error vector. If the whole mechanism could be coded better is an open question 
|
|
|
|
Joined: Jul 2006
Posts: 87
Member
|
Member
Joined: Jul 2006
Posts: 87 |
I wonder if sigsetjmp shouldn't be also used for Linux, just in case 
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
The emulation of it's definitely necessary - a couple of games actually deliberately jump to an invalid address in order to continue via the address error vector. If the whole mechanism could be coded better is an open question  Almost certainly could be coded better. Not necessarily a quick / low invasive change to do so. Least disruptive would be to pass a bit more data around and add some tests so the flow unwinds normally. Got to love programmers that use exceptions as logical conditions (I'm referring to the games there, not the MAME team 
|
|
|
|
Joined: Sep 2002
Posts: 25
Member
|
Member
Joined: Sep 2002
Posts: 25 |
I wonder if sigsetjmp shouldn't be also used for Linux, just in case  sigsetjmp() is a POSIX standard. setjmp() is ISO C. So setjmp() provides for greater compatibility, but I would argue that sigsetjmp() should preferably be used in any POSIX compliant system. (Actually, I would argue to take all these methods out the back and humanely dispose of them, but we're veering off subject)
|
|
|
|
Joined: Jan 2005
Posts: 54
Member
|
Member
Joined: Jan 2005
Posts: 54 |
Thanks scarlet for your great work!
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Yeah. The problem is that OS X doesn't #define any of the standard "I am POSIX" signifiers as far as I could see. I could force one in sdl.mak I guess.
|
|
|
|
Joined: Feb 2004
Posts: 2,608 Likes: 315
Very Senior Member
|
Very Senior Member
Joined: Feb 2004
Posts: 2,608 Likes: 315 |
That's because it isn't (quite) POSIX unless you #define _POSIX_C_SOURCE or something.
|
|
|
|
Joined: Jun 2007
Posts: 25
Member
|
Member
Joined: Jun 2007
Posts: 25 |
thank you for investigating this and helping out.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Wow! Finally with 0.134u1 OutRun is working fine on my iMac 3.06 GHz/ATI 4850!! Same with Super Hang On!  I only wonder why Space Harrier notes at startup that something is missing but the game works without problems...
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Well, our team of trained psychics are on vacation so what does it say is missing?  (And nobody answer for him, I want to know what his screen says is missing).
Last edited by R. Belmont; 09/28/09 01:29 PM.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
"One or more ROMs/CHDs for this game are incorrect". I do not know which. ClearMAMEPro does not find any problem so it's hard to say!?
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
"One or more ROMs/CHDs for this game are incorrect". I do not know which. ClearMAMEPro does not find any problem so it's hard to say!? It's very easy to say. You need to run the command-line version.
|
|
|
|
Joined: Dec 2003
Posts: 132
Senior Member
|
Senior Member
Joined: Dec 2003
Posts: 132 |
Ok, how to run in terminal? Any special options?
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
That's ok. If CMP passes the set it's probably what Tafoid suggested (currently undumped data that the emulation works around), although AFAIK it shouldn't say there's a problem for a NO_DUMP either.
|
|
|
|
Joined: May 2004
Posts: 1,772 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,772 Likes: 34 |
That's ok. If CMP passes the set it's probably what Tafoid suggested (currently undumped data that the emulation works around), although AFAIK it shouldn't say there's a problem for a NO_DUMP either. I believe it does. In the case of Space Harrier the MCU is simulated, so is probably there as a NO_DUMP.
|
|
|
|
Joined: Dec 2005
Posts: 330
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 330 |
Yeah, all the Sega System16 & friends MCUs are tagged NO_DUMP (except for the few that have been dumped, obviously) And like all NO_DUMPs they've produced the incorrect-ROM warning on launch for a long time--aren't they supposed to?
|
|
|
Forums9
Topics9,331
Posts122,197
Members5,077
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|