Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: JoyMonkey on January 31, 2005, 08:49:46 am
-
The Mame .91 release slipped my notice until this morning, so I updated the Mame32 archive (http://mame.joymonkey.com/mame32/index.html) on my site with the new version. While I was taking a look at it I noticed that the Mame32 binary is almost 43mb now!
UPX'ed I got it down to 7mb, but I'm sure that running the binary compressed drains more memory than need be.
What exactly is it that makes the exe so big? Is it the number of game drivers that are being added? Or is it that the CPU emulation is getting more and more complicated?
I like the fact that as Mame progresses games become more and more accurate, but I have no interest in any of the recent games in Mame. Would it make sense to have a version of Mame that uses the current drivers, but is optimized to only play older games? Newer CPU's and games could be removed, leaving it a little slimmer and making it run better on the average PC.
-
The Mame .91 release slipped my notice until this morning, so I updated the Mame32 archive (http://mame.joymonkey.com/mame32/index.html) on my site with the new version. While I was taking a look at it I noticed that the Mame32 binary is almost 43mb now!
UPX'ed I got it down to 7mb, but I'm sure that running the binary compressed drains more memory than need be.
What exactly is it that makes the exe so big? Is it the number of game drivers that are being added? Or is it that the CPU emulation is getting more and more complicated?
I like the fact that as Mame progresses games become more and more accurate, but I have no interest in any of the recent games in Mame.
-
The size has no bearing on the memory used during run time for most OS's. The OS only loads the portion it needs to run that game. Tring running an older game, i.e. PACMAN or Polepos, and looking in taskmanager.
If you UPX the exe, the physical size on the HD will be smaller, but you will use more memory because it has to decompress the entire exe into RAM.
So which is more valuable to you, RAM or HD space.
-
I realize how UPX works, I guess what I'm trying to say is, I'd like to compile a 'Golden Age' Mame- using current drivers, but removing all post 1992 CPUs and games to give a small and fast non compressed exe.
Can anyone recommend a good compiling guide? I know there's a bunch of them out there, but it's tough to tell which how-to's are out-dated.
I've tried my hand at compiling in the past but have never had much luck (especially trying to remove drivers).
Edit: I think this (http://www.logiqx.com/HowTo/WinMAME.shtml) is the most recent compiling guide. Seems a lot simpler than I remember, but how do I remove drivers correctly?
-
Sorry about that JoyMonkey, when I read your post I thought you were complaining about the size not asking how to compile mame for certain games. And the UPX thing was mainly for other people as this question gets asked a lot and usually starts the rumor mill/conspiracy idea flowing.
How much space do you need to save, off hand I think the two files you need to modify are driver.c and mame.mak. It should be pretty easy if you can read the code, but there is no howto that I know of.
-
btw, you shouldn't use UPX if you want a smaller memory footprint.
UPX loads the entire EXE file into memory to uncompress the parts.
-
I'm sorry, am I just stupid or do I not see a 43 megabyte Mame32 listed at the Mame32 binary archive?
-
I realize how UPX works, I guess what I'm trying to say is, I'd like to compile a 'Golden Age' Mame- using current drivers, but removing all post 1992 CPUs and games to give a small and fast non compressed exe.
Can anyone recommend a good compiling guide? I know there's a bunch of them out there, but it's tough to tell which how-to's are out-dated.
I've tried my hand at compiling in the past but have never had much luck (especially trying to remove drivers).
Edit: I think this (http://www.logiqx.com/HowTo/WinMAME.shtml) is the most recent compiling guide. Seems a lot simpler than I remember, but how do I remove drivers correctly?
In general this isn't possible, here's why:
As mame gets more and more complicated, the drivers for classic games become less optimized due to changes in the core. This is because the mame devs assume that you'll be using a fairly average pc to run mame and the system specs for the "average pc" get higher and higer. And so they should.... nobody has any business running mame on a ghetto pc and if they do have a ghetto pc they definately have no business running a recent version of mame.
With that being said, you could.... in theory, remove the newer drivers. But this will give you absolutely NO speed increase, nor will it give you a smaller footprint (assuming your running an uncompressed build of mame, which you should). Why?? Well you want to keep the recent drivers, which require the recent core, which is slower than the old versions of the core.
conclusion:
If mame is too slow for you run an older version of mame, otherwise you are wasting your time with a custom build.
You can't have it both ways man... either have a faster, older build of mame and sacrifice the latest driver additions and fixes or run the latest build and have them.
-
But Howard... It IS relivant in one case. If load time is too slow.
Because UPX loads the entire file every time to be uncompressed. But otherwise (43mg version) it will only load the mame core system and the parts needed to run the specific game... IE it might not load all the processor cores that aren't used... or the video drivers for other games... or the drivers themself...
-
turn off rom verification... poof, wait time is cut to 1/10th