Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: Shun on June 02, 2012, 06:16:38 pm
-
Hi All,
I have been playing around with an old Pentium 3 1Ghz laptop this weekend and I have been trying to get MAME running on it. As it is an old machine I need to run older versions of MAME (around 0.56-0.6). I've got the normal classics running OK as well as newer games such as Super Street Fighter 2. I would like to see if it is possible to get this running like a cocktail cab.
My first question is how do I get the horizontal games like Super Street Fighter 2 to run rotated in split screen mode? On my cab which is running MAME 0.129, it has the "video option" in the on screen MAME menu which allows you to choose the option COCKTAIL. This sets the following in the game .cfg file:
<video>
<target index="0" view="Cocktail" />
</video>
On older versions of MAME like 0.56 there is no "video option" and therefore no COCKTAIL option to choose.
Even the .cfg files for each game are not in XML but they seem to be in some kind of unreadable mess.
Is it possible to set the VIEW of horizontal games to COCKTAIL in these earlier versions? Maybe with some kind of DIFF file when compiling?
-
"Is it possible to set the VIEW of horizontal games to COCKTAIL in these earlier versions?"
NO
"Maybe with some kind of DIFF file when compiling? "
No DIFF File exist (you can make/program/change MAME and compile one (it's gonna be alot of work).
-
Bummer. Yeah seems it was a pretty recent addition to Mame.
-
"Is it possible to set the VIEW of horizontal games to COCKTAIL in these earlier versions?"
NO
"Maybe with some kind of DIFF file when compiling? "
No DIFF File exist (you can make/program/change MAME and compile one (it's gonna be alot of work).
Aww, that sucks :'( Thanks for letting me know :cheers:
Bummer. Yeah seems it was a pretty recent addition to Mame.
After a bit of research today it seems that the first version of MAME to include this is 0.107. I've tried playing with this version and the classic games seem to run OK without VSync but Super Street Fighter 2 is skipping 5-6 frames just to keep up. The laptop I have only has 128mb of RAM so I have ordered an additional 256mb for £5 which should hopefully give it a little speed boost.
Also I have heard that compiling MAME on the CPU that you which to run it on can optimise the code and therefore give another speed boost. Fingers crossed!
-
try lowering the Samplerate to 22khz instead of the default 44khz. That should help alot.
-
try lowering the Samplerate to 22khz instead of the default 44khz. That should help alot.
Yeah I've tried this but still getting the same sort of results.
Would the small amount of RAM (128mb) on this laptop slow MAME down?
After a bit of digging I found the following thread and it seems that someone managed to get this working with an earlier version of MAME:
http://forum.arcadecontrols.com/index.php?topic=38312.0 (http://forum.arcadecontrols.com/index.php?topic=38312.0)
:laugh:
I assume that this would work on a normal version of MAME and not just MAME PLUS. I was going to try this, however I can't open the source code PDF that is attached to the thread, is it corrupt or is it that my version of Adobe is too new? :'(
Has anyone tried this on MAME 0.97? If i can get hold of the source code I might try it with earlier versions of MAME.
-
I have read through thread http://forum.arcadecontrols.com/index.php/topic,36605.0.html (http://forum.arcadecontrols.com/index.php/topic,36605.0.html) and found the following post:
Had a quick look and this works (actually took longer to write this post).
File: winddraw.c
function: render_to_primary
Change 1: Remove multipliers so that the game doen't automatically fills the screen
Replace the line
win_compute_multipliers(&inner, &xmult, &ymult);
with
xmult = ymult = 1;
Change 2: Don't center the game vertically so both images fit
Replace the line
inner.top = outer.top + ((outer.bottom - outer.top) - (win_visible_height * ymult)) / 2;
with
inner.top = outer.top;
Change 3: Output the second image flipped
After the line
win_perform_blit(¶ms, update);
Add the following lines
params.dstyoffs = inner.top + win_visible_height * ymult;
params.flipx = !blit_flipx;
params.flipy = !blit_flipy;
win_perform_blit(¶ms, update);
To test it you need to use a resolution big enough to fit the game twice
mame game -resolution 1024x768 -flipx -flipy
(The flipx and flipy are just because it was easier to keep the original image on top)
Now you need to make it an option and calculate the correct multipliers etc
I thought I'd give this a try as I still can't open the PDF from the http://forum.arcadecontrols.com/index.php?topic=38312.0 (http://forum.arcadecontrols.com/index.php?topic=38312.0) thread (if anyone can open this please let me know :) )
So I downloaded the compiling tools for older versions of MAME (In this case V0.69) from: http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=207730 (http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=207730)
made the changes and then compiled. Success! I got the same result as wpcmame did. I ran SSF2 with -resolution 1024x768 -flipx -flipy and it ran at 60fps, with VSync and mirrored! The problem is, the mirrored affect works fine in "landscape" mode but if I rotate using the ini file or the rotate option when running MAME it rotates the screens ok, but it looks like this:
Screen 1: ->
Screen 2: <-
I am trying to achieve the following:
Screen 1: <--> :Screen 2
I'll see if I can upload some pics tonight.
I'm not that familer with C coding, however I am happy to mess around with the code and see what results I can come up with. Could anyone point me in the right direction as to what to change? Also, is there anyway of testing MAME code changes without having to compile everytime (some kind of interpreter)? This would speed up my trial and error testing greatly :laugh:
Edit: Added which version of MAME I am compiling.
-
I thought I'd give this a try as I still can't open the PDF from the http://forum.arcadecontrols.com/index.php?topic=38312.0 (http://forum.arcadecontrols.com/index.php?topic=38312.0) thread (if anyone can open this please let me know :) )
You did see the note in that thread, right?
Note attached file should be renamed to .zip
Scott
-
Ahem :-[ no I didn't :laugh2:
LOL just manged to open the contents now. Thanks PL1.
I wondered why it was a PDF....
I just need to see if this will work on Vanilla MAME or if I need to get MAME Plus which I still can't find.
Also it would be nice to see if I can get this working on and older version of MAME like V0.69.
-
Maybe I am stupid, but if playing streetfighter in mirrored cocktail mode is really important to you then why don't you just get a faster used computer?
It literally took me a minute and a half to find a Pentium 4 2+ ghz computer on craigslist for $25.
http://stlouis.craigslist.org/sys/3050867507.html (http://stlouis.craigslist.org/sys/3050867507.html)
-
Maybe I am stupid, but if playing streetfighter in mirrored cocktail mode is really important to you then why don't you just get a faster used computer?
It literally took me a minute and a half to find a Pentium 4 2+ ghz computer on craigslist for $25.
http://stlouis.craigslist.org/sys/3050867507.html (http://stlouis.craigslist.org/sys/3050867507.html)
That seems like a good price. Is that for a laptop? Edit: Ah, looking at the link that price is for a desktop. I needed a laptop for my project idea.
I picked up this 1Ghz P3 laptop with hard drive and RAM for £10 on ebay recently and at the time it was the cheapest laptop I could find. Looking at ebay now, the cheapest working (hard drive + RAM) P4 is about £40-£50 + P&P ($60-$75). I know it doesn't seem like much but I didn't want to spend more than £15 as its just something to play around with at the moment. I'll probably get given an old 1.4Ghz Celeron laptop in the next 6 months as well so if I can get this configuration working on this laptop, it'll almost certainly work on that one.
I can't really finish my main cab off at the moment due to living in rented accommodation and having no access to a garage at the moment (hoping to buy a house this year ;D). So in the meantime I'm planning my next project which will be two identical bartop cocktail builds. I'm hoping to sell one of them to one of my friends to cover some of the costs of the other one.
Part of my job is coding new projects in VB/VB.NET and a bespoke programming language, so I am now intrigued as to what is going on behind the scenes in MAME. I think the code for MAME PLUS is a no go as I can't seem to find source code for older versions of it, so I might have a play with the code posted earlier in the thread. If only there was some way to test any changes made without having to compile the whole damn thing everytime :banghead:
-
OK, if anyone is still interested, I have made some progress today. ;D
I have managed to rotate and mirror the video output of Mame V0.69 as you can in newer versions of Mame (see pic).
I still need to make it stretch to the edges of the screen (whilst keeping the correct aspect ratio) and I also only want the mirror affect in non-vertical games but I don't think I am far away from achieving this.
Once I have managed to get the video stretched I'll post the changes that need to be made to achieve this.