headkaze

[APP] Mame Compiler 64 v2.0.165

349 posts in this topic

Great job HK I was going to dedicate my day on working on this... It looks great and I cant wait to try it...

Good job my friend :)

Brian Hoffman

Share this post


Link to post
Share on other sites
Great job HK I was going to dedicate my day on working on this... It looks great and I cant wait to try it...

Good job my friend :)

Brian Hoffman

Thanks mate :) Yeah I wasn't planning on working on this today but it turned out I did. Once I figured out how to get the output into the textbox. I just didn't like the idea of it spawning the command prompt window. It looks alot nicer all in the one GUI. So anyway it turned out to be a bug in mingw32-make.exe so I just applied a fix I found on the Net and compiled my own version. Works fine so far.

The 119 patch included has the skip disclaimer and border remove patch included. The annoying thing is I had to add all those patches in manually to create a new diff. I can see why MKChamp hasn't been releasing new diffs for every Mame release they are quite a hastle to create.

Well if people havn't tried compiling their own Mame version yet, now is the time I guess. Can't get much easier than this.

Share this post


Link to post
Share on other sites

Whoa, awesome.

This will certainly come in handy.

Share this post


Link to post
Share on other sites

I wonder how long this will take to catch on...

Its not at byoc...yet...

This is going to revolutionize compiling.... Mr Do will love this... Though now his compile page seems dated..

This is really great!

***EDIT*** HK POSTED AT BYOC IN SOFTWARE FORUM

Share this post


Link to post
Share on other sites
Whoa, awesome.

This will certainly come in handy.

Thanks HK and Brian. I guess I'll start rolling my own again, thanks.

Jay T

Share this post


Link to post
Share on other sites

Nice one... takes the thought out of compiling :)

Stu

Share this post


Link to post
Share on other sites
Nice one... takes the thought out of compiling :)

Stu

Mame 119U2 is out... It works great... they didnt break anything... Just used the compilier... AWESOME..

BTW.. Newbies...

You have to apply the DIFFS in order... you cant go from 119 to 119U2... you have to patch u1 first.

Share this post


Link to post
Share on other sites

BIG THANKS!

Emph

Share this post


Link to post
Share on other sites

Just wondering... Will the compiler work for all versions (vanilla) of MAME (i'm using the windows command line version 0.109) ?

Thanks,

ian.

:)

Share this post


Link to post
Share on other sites
Just wondering... Will the compiler work for all versions (vanilla) of MAME (i'm using the windows command line version 0.109) ?

Thanks,

ian.

:)

It uses the newest MINGW compiling system... Mame rarly updates its compiling tools..

It SHOULD work for all Vanilla mame sources... though Id grab the highscore.diff from BYOC for your version :)

and the source from mamedev.org

MAME32 versions use additional compiling tools...

Check it out... You will never look back

Share this post


Link to post
Share on other sites

I'm gonna get bashed for this I'm sure. But it all seems like a lot of work, even with this program. I mean, rather than download a precompiled version with all these features added/removed, we have to download many seperate files, and hope they all work well together. You have to get the source version of MAME, then the individual diff files. Like I said, seems like an awful lot of work just to get rid of the disclaimer stuff. Still, for those people who DO compile their own version, this would make it a lot easer.

Share this post


Link to post
Share on other sites
The 119 patch included has the skip disclaimer and border remove patch included. The annoying thing is I had to add all those patches in manually to create a new diff. I can see why MKChamp hasn't been releasing new diffs for every Mame release they are quite a hastle to create.

Hey, hey!

Actually, I released a new diff only when a new version changed significantly to where the current diff would no longer work. Basically, from version (including the u releases) 107u2 to the most present version (119u2 at the time of this post) there is a diff that can be used.

On a side note, I posted a new diff 119u2 over at BYOAC that added the white box/decoding/etc removal. So, to sum up, the diff from now on (starting with the diff 119u2...which by the way can probably be used for every MAME version from 117u3 to present) will do the following (pardon the copy/paste ;-) )

1) Adds hiscore support back into MAME

2) Removes all nag screens

3) Removes loading messages (decoding/decrypting/Updating Artwork, etc.) and the 'white box' when loading. (This was added to the diffs starting with hi_119u2)

4) Disables crosshairs by default. You can turn them back on in the game with F1

5) Tab button(menu) also pauses MAME and 1 acts as 'Enter'. Remove the inptport.c section if you do not want this(or just remove it from the ingame menu)

Share this post


Link to post
Share on other sites
Hey, hey!

Actually, I released a new diff only when a new version changed significantly to where the current diff would no longer work. Basically, from version (including the u releases) 107u2 to the most present version (119u2 at the time of this post) there is a diff that can be used.

On a side note, I posted a new diff 119u2 over at BYOAC that added the white box/decoding/etc removal. So, to sum up, the diff from now on (starting with the diff 119u2...which by the way can probably be used for every MAME version from 117u3 to present) will do the following (pardon the copy/paste ;-) )

1) Adds hiscore support back into MAME

2) Removes all nag screens

3) Removes loading messages (decoding/decrypting/Updating Artwork, etc.) and the 'white box' when loading. (This was added to the diffs starting with hi_119u2)

4) Disables crosshairs by default. You can turn them back on in the game with F1

5) Tab button(menu) also pauses MAME and 1 acts as 'Enter'. Remove the inptport.c section if you do not want this(or just remove it from the ingame menu)

Great stuff I'll add a link to your diff's page.

Share this post


Link to post
Share on other sites

So what is required to compile other versions of MAME? I keep wanting to switch over to MAME Plus!, but every time I get to it, I find a reason to stay with vanilla (like all of this stuff being disabled).

Share this post


Link to post
Share on other sites
So what is required to compile other versions of MAME? I keep wanting to switch over to MAME Plus!, but every time I get to it, I find a reason to stay with vanilla (like all of this stuff being disabled).

This is some great help I got when I first started compiling. The first mame I compilied is mame plus 117.

Yes you can use the MKChamp/HK's diff to patch it as well.

----

HOW TO COMPILE THE MAMEPLUS

Tested on Windows XP SP2, so pay attention at some commands.

1. install 7zip - www.7-zip.org (4.51 current version 23:44 26/7/2007)

2. get all stuff or the lastest version at homepapge;

mame source code:

http://mamedev.org/releases/mame0117s.zip

mameplus src:

http://www5.emu-zone.org/host/mameplus/dow...20070720.7z.zip

integrated fonts:

http://www5.emu-zone.org/host/mameplus/dow...20070531.7z.zip

mingw compiler:

http://www5.emu-zone.org/host/mameplus/dow...20070326.7z.zip

patch tool:

http://mamedev.org/tools/diffpatch-mingw.exe

extra tools:

http://www5.emu-zone.org/host/mameplus/dow...20070123.7z.zip

makelange tools:

http://www5.emu-zone.org/host/mameplus/dow...20070402.7z.zip

makelang text:

http://www5.emu-zone.org/host/mameplus/dow...20070720.7z.zip

3. add 7-zip path first:

C:\>set path=%programfiles%\7-zip;%path%

4. un7zip at \mingw dir the mingw compiler and extra stuffs:

C:\>md mingw && cd mingw

C:\mingw>7z x c:\stuffs\mingw_gcc-3.4.5-20070326.7z

C:\mingw>7z x c:\stuffs\extra_utils-20070123.7z

C:\mingw>7z x c:\stuffs\diffpatch-mingw.exe -oc:\mingw\bin

5. set the paths again:

C:\mingw>set path=%cd%\bin;%cd%\extra\bin;%path%

7. un7zip mame source code at \mamesrc and the updates:

C:\mingw>md \mamesrc && cd \mamesrc

C:\mamesrc>7z x c:\stuffs\mame0117s.zip

C:\mamesrc>7z x mame.zip && del mame.zip

C:\mamesrc>7z x c:\stuffs117u1_diff.zip

C:\mamesrc>patch -p0 -E < 0117u1.diff

8. un7zip mameplus source code:

C:\mamesrc>7z x c:\stuffs\mameplus_src_font-20070531.7z

C:\mamesrc>7z x c:\stuffs\mameplus_src-0.117u1-20070720.7z.zip

(just a note: .7z isn't .zip ...) ^^

9. un7zip makelang tools:

C:\mamesrc>7z x c:\stuffs\makelang_text-20070720.7z

C:\mamesrc>7z x c:\stuffs\makelang_tool-20070402.7z

10. make your build:

C:\mamesrc>make

optimized for AMD AthlonXP:

C:\mamesrc>make ATHLON=1

look at makefile more modes.

OBS:

make gives me "cannot fork" error, so I compile with mingw32-make.exe

we are go:

mingw pack used by MAMEDevs:

http://mamedev.org/tools/mingw-mame-20070617.exe

11. compiling with mingw32-make:

C:\mamesrc>7z x -y c:\stuffs\mingw-mame-20070617.exe -oc:\mingw

12. then:

C:\mamesrc>mingw32-make

Other Notes

mingw32-make PM=1 for Pentium M or Core Duo

mingw32-make AMD64=1 for Athlon 64

mingw32-make P4=1 for Pentium 4

mingw32-make ATHLON=1 for AMD Athlon

mingw32-make I686=1 for Pentium Pro

If you have a dual-core or quad-core processor,

you can use the option -j2 or -j4, respectively,

to significantly decrease your compiling time.

For example, I have a Core 2 Duo, so I compile with the following command-line:

C:\mamesrc>mingw32-make -j2 PM=1

With the -j2 option, the time is cut from 16 minutes to 6 minutes.

13. to generate mame32.chm help file, set that:

C:\mamesrc>set C_INCLUDE_PATH=c:\mingw\extra\include

C:\mamesrc>set LIBRARY_PATH=c:\mingw\extra\lib

extra-extra tools needed... later

Questions?

--

powtrix

Share this post


Link to post
Share on other sites

WOW! Thanks, I'll give this a try when I get time (hopefully this afternoon).

Share this post


Link to post
Share on other sites
would this work with mame32?

Great Work

Thx

Mame32 uses additional compnents... So NO..Sorry

EDIT: It now works with Mame32

Share this post


Link to post
Share on other sites

Just a point on Brians post, for those of you who get a little faint when using command line. You can actually download a GUI version of 7Zip off the net which allows you to right click on the file and extract it.

http://www.7-zip.org/

Share this post


Link to post
Share on other sites

Minor update. I mainly added a timer so I can see if the Dual Core option actually compiled Mame faster on my machine. I don't have a Dual Core but I do have HT, so it may just be a multi-threading option.

I'll post the results here.

EDIT: Interesting using the "Dual Core" setting reduced my compile time by 7 minutes. That's a notable difference, and I don't even have a dual core processor. I'm guessing the Hyper Threading helps though.

Share this post


Link to post
Share on other sites
Mame32 uses additional compnents... So NO..Sorry

I reakon you could use this okay to compile Mame32. All you have to do is copy over the original Mame source with the Mame32 stuff.

The patches might not work though.

Share this post


Link to post
Share on other sites

I've followed the above instructions.

Used mame 119 source

applied (in order) u1.diff, u2.diff, hi_u2.diff

Set the the compile options to P4 / Dual Core

and compiled.

I think i've done this right, but what I'm left with is a number of strange .exe files in addition to the mamep4.exe

I'm fairly new to command line mame, but the binary version of 118, that I had been using, doesn't contain most of these .exe files, and has a number of other files that are not present in the folder (post compiling).

I figured it was safe to assume that anything in the mame-compiler/mame/ folder that wasn't the original source files, was the finished result. Is this all I need? or should I dump these into the old mame folder?

Oh, and if the "optimize for p4, dual core, etc" feature is only to speed up the compiling process, then why add the P4 bit to the end of the mame.exe? (ie.mamep4.exe) I'd thought it was a change in the mame source to speed up mame once compiled (based on cpu)..

Anyways, sorry if none of this makes sense. it's 1:30am and I really should be sleeping instead of mucking with mame. but what can i say... I'm addicted ;)

Share this post


Link to post
Share on other sites
I've followed the above instructions.

Used mame 119 source

applied (in order) u1.diff, u2.diff, hi_u2.diff

Set the the compile options to P4 / Dual Core

and compiled.

I think i've done this right, but what I'm left with is a number of strange .exe files in addition to the mamep4.exe

I'm fairly new to command line mame, but the binary version of 118, that I had been using, doesn't contain most of these .exe files, and has a number of other files that are not present in the folder (post compiling).

I figured it was safe to assume that anything in the mame-compiler/mame/ folder that wasn't the original source files, was the finished result. Is this all I need? or should I dump these into the old mame folder?

Oh, and if the "optimize for p4, dual core, etc" feature is only to speed up the compiling process, then why add the P4 bit to the end of the mame.exe? (ie.mamep4.exe) I'd thought it was a change in the mame source to speed up mame once compiled (based on cpu)..

Anyways, sorry if none of this makes sense. it's 1:30am and I really should be sleeping instead of mucking with mame. but what can i say... I'm addicted ;)

Those other exe's are just programs that relate to Mame and arn't needed. Like chdman is a chd manager, ledutil is a program for lighting the caps lock/scroll lock LED's for some games. There are others programs for various Mame related tasks so these can be safely ignored. All your after is mamep4.exe.

The Compile Options are not just for speeding up the compile process. The Dual Core and Quad Core options are only for speeding up compiling on those processors but the "Optimize for" optimize the compiled binary for a particular processor. So if you compile using the Pentium 4 optimization, the compiled binary (mamep4.exe) is optimized to run on a Pentium 4 processor.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now