MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Automated custom build installer/optimizer?
#285728 - 05/09/12 08:16 PM


IDEA: source code and compiler both distributed inside Windows (Linux, MacOS) binary, so it appears to user as simple as installing some standard application. You simply select driver categories you want to exclude and press [compile] button, where categories are: pinball, mechanical, mahjong, neogeo, bootlegs, cps1... Setup program should also be able to determine CPU and optimize the build accordingly, but this probably better be manual option so you can make builds on one computer for other computers too. Eventually this should be possible to extend so you can include/exclude individual game drivers too.

Good idea, bad idea, interested?

Does anything like this already exist or anyone in the process of making anything similar?



etabeta
Reged: 08/25/04
Posts: 2036
Send PM


Re: Automated custom build installer/optimizer? new [Re: LazyCat]
#285739 - 05/09/12 09:46 PM


> Good idea, bad idea, interested?

you don't get any advantage: no speedup in emulation (no additional component slow down the rest of emulation) and no reduction in RAM usage (only the component needed by emulation are loaded into memory)

OTOH, you add complexity during the 'installation', which is probably one of the nicest point of MAME with its simple extract-and-play solution

so I think it is simply a bad idea...



mogli
MAME Fan
Reged: 01/26/08
Posts: 1956
Send PM


Re: Automated custom build installer/optimizer? new [Re: etabeta]
#285744 - 05/09/12 10:22 PM


Further, and besides, the most popular problem has been in the load time of MAMEUI, which people are generalizing into a MAME problem.

If you're interested in the project, do it, then come and show sparklies.



Consider it high comedy....sincere tragedy....whatever...don't take it personally.

The Culture




NLS
Computing Nostalgia Adict
Reged: 10/28/03
Posts: 76
Loc: GREECE
Send PM


Re: Automated custom build installer/optimizer? new [Re: LazyCat]
#285753 - 05/09/12 11:20 PM


I have a different but related question that I also asked in the "merged build" thread but didn't get answered.

I always wondered, what is the point of building a "monolithic" exe and not have some of (or all) the main modules as separate dll in a subfolder?
Would possibly greatly help with end-user updates as possibly only SOME of the DLL change. Or indeed help with making almost what you ask... If asomeone has only some of the dll, he will be able to use MAME but with reduced functionality (eg. no "mechanical.dll" - although I am not saying I know what kind of dll "split" should be done, I am just giving an example).

So how come and MAME is not like that?
Cannot be done like that?
Is there a benefit in the current form?



---
NLS



LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Re: Automated custom build installer/optimizer? new [Re: etabeta]
#285758 - 05/09/12 11:35 PM


>> OTOH, you add complexity during the 'installation', which is probably one of the nicest point of MAME with its simple extract-and-play solution
<<

I was still under impression of that previous thread, I don't really mean to suggest this anymore as a replacement for standard distribution, just as a tool. So, instead of having source and compiler zipped in the binary, this can be done with just a simple console script that comes with several predefined "tiny.mak" files relating to each games category, or something like that.

There are probably people out there that already have these .mak files written to exclude pinball, mech and mahjong games, but even if not that should be fairly easy to do and so this is practically already implemented, just needs a little bit of automation.


>> you don't get any advantage: no speedup in emulation (no additional component slow down the rest of emulation) and no reduction in RAM usage (only the component needed by emulation are loaded into memory)
<<

It would saved me a lot of time on lots of occasions, but I really need it because I'm working on mobile platforms, so cutting the size of the binary pays off in shorter downloads and quicker start up times. Smaller footprint also makes it easier for OS to switch in and out of the application and free up memory on exit. Nothing critical, just a good practice in embedded programming.

Are you sure about RAM usage, can you guarantee it for all hardware platforms and processor architectures? I guess if the RAM usage is controlled well then indeed there should not be any differences in the emulation speed, but there are so many unknowns that I would never make such statement unless I first spent few weeks researching the subject, which I never did, so I'll take your word for it.

To summarize, it's about cutting binary size and compile times, which may be useful to developers for testing and to users who wanna get rid of mechanical, pinball and/or mahjong games for whatever reasons they wish to do so.



LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Re: Automated custom build installer/optimizer? new [Re: mogli]
#285766 - 05/09/12 11:54 PM


>> Further, and besides, the most popular problem has been in the load time of MAMEUI, which people are generalizing into a MAME problem.
<<

I've seen some discussion about it, I guess MAMEUI is a separate build from offcial MAME, so if MAME itself does not have that problem than it must be related to something specific in MAMEUI build.



>> If you're interested in the project, do it, then come and show sparklies.
<<

It's all about those .mak files. I am kind of expecting there are people who already made most of what we need for themselves, and if we get them to share that's 99% of the job done right there.



Rygar9
MAME Fan
Reged: 12/08/08
Posts: 52
Send PM


Re: Automated custom build installer/optimizer? new [Re: LazyCat]
#285769 - 05/10/12 12:15 AM


Didn't you just get a thread locked for this topic?

As far as your topic goes, I do not see this as having any value except for a very small subset of people. Very few users are going to be interested in picking and choosing what drivers are installed, because there's really no valid reason to ever pick anything except all of them.

With 8 gigabytes of RAM and 4-cores an average for new computers today, whatever "Savings" this would achieve are largely neglible, if even measurable.

I strongly suspect that what you want to do is download a full set of ROM's, and then exclude certain catagories from view, which I honestly don't see as being an issue for MameDev.

In closing, from reading through the posts the past few days, this sounds *alot* like the guy from last year who kept going on about 720 degrees to me. Anyone else getting that vibe?



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Automated custom build installer/optimizer? new [Re: NLS]
#285771 - 05/10/12 12:19 AM



> I always wondered, what is the point of building a "monolithic" exe and not have some
> of (or all) the main modules as separate dll in a subfolder?
> Would possibly greatly help with end-user updates as possibly only SOME of the DLL
> change. Or indeed help with making almost what you ask... If asomeone has only some
> of the dll, he will be able to use MAME but with reduced functionality (eg. no
> "mechanical.dll" - although I am not saying I know what kind of dll "split" should be
> done, I am just giving an example).

Google the term "DLL Hell".



LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Re: Automated custom build installer/optimizer? new [Re: NLS]
#285772 - 05/10/12 12:20 AM


>> I always wondered, what is the point of building a "monolithic" exe and not have some of (or all) the main modules as separate dll in a subfolder?
<<

You build a static binary when you do not want to relay on target system libraries. If you made some program in Linux 10 years ago and if you did not make it static then chances are it would not work on modern Linux system because newer version libraries would be incompatible.

Also loading time may be faster even though the binary would be larger. There are probably more benefits/trade-offs to this, but I think the first reason is usually the main reason.



>> Would possibly greatly help with end-user updates as possibly only SOME of the DLL change. Or indeed help with making almost what you ask... If asomeone has only some of the dll, he will be able to use MAME but with reduced functionality (eg. no "mechanical.dll" - although I am not saying I know what kind of dll "split" should be done, I am just giving an example). So how come and MAME is not like that? Cannot be done like that? Is there a benefit in the current form?
<<

There is a guy here that does something like that, Bryan Ischo.

http://www.mameworld.info/ubbthreads/sho...;new=1336453472

I don't like dynamic, I like static, so I never looked into it to see what are the possible benefits, but is certainly not something I'd get myself involved with regarding this particular project.



LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Re: Automated custom build installer/optimizer? new [Re: Rygar9]
#285780 - 05/10/12 01:07 AM


>> Very few users are going to be interested in picking and choosing what drivers are installed, because there's really no valid reason to ever pick anything except all of them.
<<

Lots of people in that last thread said they would get rid of mechanical and mahjong games, some even referred to them as "cancer".



>> I strongly suspect that what you want to do is download a full set of ROM's, and then exclude certain catagories from view, which I honestly don't see as being an issue for MameDev.
<<

It's not about solving issues, it's about saving time and personal preferences.



>> In closing, from reading through the posts the past few days, this sounds *alot* like the guy from last year who kept going on about 720 degrees to me. Anyone else getting that vibe?

Errr... is that a bad or good thing?



BIOS-D
MAME Fan
Reged: 08/07/06
Posts: 1688
Send PM


Re: Automated custom build installer/optimizer? new [Re: NLS]
#285796 - 05/10/12 02:23 AM


> I have a different but related question that I also asked in the "merged build"
> thread but didn't get answered.
>
> I always wondered, what is the point of building a "monolithic" exe and not have some
> of (or all) the main modules as separate dll in a subfolder?
> Would possibly greatly help with end-user updates as possibly only SOME of the DLL
> change. Or indeed help with making almost what you ask... If asomeone has only some
> of the dll, he will be able to use MAME but with reduced functionality (eg. no
> "mechanical.dll" - although I am not saying I know what kind of dll "split" should be
> done, I am just giving an example).
>
> So how come and MAME is not like that?
> Cannot be done like that?
> Is there a benefit in the current form?

You mean like a "plug-in". Hell no, please reconsider how well that worked on N64 and PlayStation emulators. PCSX2 is doing fine though.



BIOS-D
MAME Fan
Reged: 08/07/06
Posts: 1688
Send PM


Re: Automated custom build installer/optimizer? new [Re: Rygar9]
#285799 - 05/10/12 02:34 AM


> In closing, from reading through the posts the past few days, this sounds *alot* like
> the guy from last year who kept going on about 720 degrees to me. Anyone else getting
> that vibe?

I take it you didn't know Abaraba, the vibe is almost the same.

Off topic: If you think I'm a little mean with some users around here it's because you obviously don't know them. Of course I'm not a moderator either, so I think it's better for me to cool off and behave better.

EDIT: --Quick forum search-- Wait a minute, abaraba and the 720 guy are the same person? 0_o



LazyCat
MAME Fan
Reged: 04/26/12
Posts: 45
Send PM


Re: Automated custom build installer/optimizer? new [Re: NLS]
#285802 - 05/10/12 03:03 AM


>> I always wondered, what is the point of building a "monolithic" exe and not have some of (or all) the main modules as separate dll in a subfolder?
<<

I see now you are not talking about system libraries, but project libraries. In that case you would use dlls to separate some general code which you wanna re-use in some other project; or to separate code you know it will be updated later on so the update is simple matter of just replacing the dll; or to separate several different chunks of code in several dlls and load only one depending on some circumstances. Basically it's just about organization, and DLLs are generally about code re-usability.



Firehawke
Manual Meister
Reged: 08/12/06
Posts: 665
Send PM


Re: Automated custom build installer/optimizer? new [Re: BIOS-D]
#285804 - 05/10/12 03:35 AM


Could be "5247846" again, but he hasn't said anything about Bubble System, so...



---
Try checking the MAME manual at http://docs.mamedev.org


Pages: 1

MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
1 registered and 432 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1606