Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Mame .91 binary behemoth!  (Read 1825 times)

0 Members and 1 Guest are viewing this topic.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Mame .91 binary behemoth!
« on: January 31, 2005, 08:49:46 am »
The Mame .91 release slipped my notice until this morning, so I updated the Mame32 archive 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.
« Last Edit: January 31, 2005, 08:54:25 am by JoyMonkey »

Buddabing

  • Wiki Master
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1845
  • Last login:February 12, 2015, 02:51:45 pm
  • I'm a llama!
Re: Mame .91 binary behemoth!
« Reply #1 on: January 31, 2005, 09:55:41 am »
The Mame .91 release slipped my notice until this morning, so I updated the Mame32 archive 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.
I have changed my nickname to "Cakemeister". Please do not PM the Buddabing account because I do not check it anymore.

Please read the wiki!

2600

  • Trade Count: (+7)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1630
  • Last login:June 05, 2017, 10:20:56 am
  • I want my own arcade controls!
Re: Mame .91 binary behemoth!
« Reply #2 on: January 31, 2005, 10:21:18 am »
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.


JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Mame .91 binary behemoth!
« Reply #3 on: January 31, 2005, 10:34:49 am »
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 is the most recent compiling guide. Seems a lot simpler than I remember, but how do I remove drivers correctly?
« Last Edit: January 31, 2005, 10:40:20 am by JoyMonkey »

2600

  • Trade Count: (+7)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1630
  • Last login:June 05, 2017, 10:20:56 am
  • I want my own arcade controls!
Re: Mame .91 binary behemoth!
« Reply #4 on: January 31, 2005, 10:59:30 am »
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.

Lilwolf

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4945
  • Last login:July 31, 2022, 10:26:34 pm
Re: Mame .91 binary behemoth!
« Reply #5 on: January 31, 2005, 03:20:23 pm »
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. 


Jakobud

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1962
  • Last login:June 30, 2025, 02:20:39 pm
Re: Mame .91 binary behemoth!
« Reply #6 on: January 31, 2005, 04:51:02 pm »
I'm sorry, am I just stupid or do I not see a 43 megabyte Mame32 listed at the Mame32 binary archive?

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Mame .91 binary behemoth!
« Reply #7 on: February 01, 2005, 10:57:45 am »
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 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. 

Lilwolf

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4945
  • Last login:July 31, 2022, 10:26:34 pm
Re: Mame .91 binary behemoth!
« Reply #8 on: February 01, 2005, 12:23:45 pm »
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...


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Mame .91 binary behemoth!
« Reply #9 on: February 01, 2005, 03:54:38 pm »
turn off rom verification... poof, wait time is cut to 1/10th