For past 4 days i go trough misleading INSTRUCTIONS on how to compile Mame Plus! UI with M+GUI with no nag screens and direct input support
And when i finally did it i just wanna share what i learned in case someone like me will encounter same problems as me
(if links i provide get broken below name of every thing i post i add what keywords you should google to find it ur self)
(i will present most simple folder structure but you can alter it as you wish but as i read tutorials most says folder names should not have S P A C E S)
Dont want to compile? Just wish to download? here is da LINK
even so i suggest you go this steps for
-configure your mame for the 1st time look in to step 11 in full instructions below
-disable defalut gamepad/joystick buttons mapping to make it work with AntiMicro, Xpadder, Joy2Key... look in to step 12 in full instructions below
https://www.mediafire.com/folder/ww75q8q77yt2w//Mame
ALL INFO PROVIDED HERE ARE FOR COMPILING MAME 0.158 I DONT KNOW IF IT WILL WORK FOR OTHER VERSIONS
LETS GET STARTED!!
FOR PPL LIKE ME WHO DONT CARE WHY DO THIS AND THAT AND JUST WANNA QUICK INSTRUCTIONS HOW TO COMPILE IT CLICK THE SPOILER BELOW
Spoiler warning:
here are full instructions with explanations
1. Mingw-Mame Packages (corresponding to 32 or 64 bit system you wanna compile it for or one that include both for me it was 32)
(google: mame compile)
http://www.mame.net/tools/
download it and extract mingw-mame-w32-20140905.exe to c:\MinGW
after u extracted it it should contain another folder something like mingw64-w32
2. Mame Compiler 64 (64 here is just part of programs name and not bit version)
(google: Mame Compiler 64)
http://headsoft.com.au/index.php?cat...mame&page=mc64
download it (link to download is at step 2) and install anywhere just get a shortcut from menu start and copy it lets say to desktop
3. Mame and Mess Source Code (not Binaries)
(google: Mame Source)
http://www.mame.net/release.php
download it and extract to c:\MinGW\Source\Mame0158
4. Mame Plus! UI Source Code
(gogle: mameplus trunk) you need that sourceforge link not github
http://mameplus.svn.sourceforge.net/viewvc/mameplus/
download it (click Download GNU tarball) and extract it (only mamep folder content - ignore mamepgui folder) to c:\MinGW\Source\Mame0158
(it is important you first extract Mame Mess source code and then extract mameplus files over it and choose yes to all if it ask do you wanna overwrite them)
5. Downloading No Nag Screens Patch and Direct Input Patch
(google: system pixel fr extra) on system pixel site patches are in EXTRA section
http://www.systempixel.fr/extra/
download nonag_noload_nowhitebox_0155_mamep.zip (for Mame Plus) extract it to c:\MinGW\Patches
force_DirectInput_0154.zip extract it to c:\MinGW\Patches
(click more... to download)
just in case this site or files could be down you can create .txt file for example no_nag.txt dinput.txt and paste in to them content of CODE in spoilers below (which is basically same thing as the files you would download from systempixel)
No Nag
Spoiler warning:
Force dinput
Spoiler warning:
ok downloading done now its time to compile
6. Selecting Paths for compile process
Open Mame Compiler 64 and select correct paths for every thing you downloaded
by default every path should be ok but just for the sake of (something did go wrong) here is what should lead to what
MinGW Folder: C:\MinGW
Source Folder: C:\MinGW\Source
Patches Folder: C:MinGW\Patches
Mame Source Folder: C:\MinGW\Source\Mame0158
7. Disabling Nag Screens
In Mame Compiler 64 hit Diff Patch tab and click that magnifying glass icon
then lead it to C:\MinGW\Patches\nonag_noload_nowhitebox_0155_mame p.diff
or C:\MinGW\Patches\no_nag.txt <if u made no_nag.txt from code in spoiler i provided above in step 5.
and just click apply patch (it should take like 1-3 sec or so)
8. Adding Direct Input Support
here are like 3 methods we can ADD DIRECT INPUT SUPPORT from which 2 works for sure
and 3rd is enabled by default so i dont know if we need that more than 1
Method 1
you can apply force_DirectInput_0154.diff patch like you just did above with no nag screens
or C:\MinGW\Patches\dinput.txt <if u made dinput.txt from code in spoiler i provided above in step 5.
Method 2
go to C:MinGW\Source\Mame0158\src\osd\windows
and right click input.c then select open with and choose word pad note pad or whatever
and change this line from
#define FORCE_DIRECTINPUT 0
to
#define FORCE_DIRECTINPUT 1
then save and close it
Method 3
go to Build Options tab and aside from fact here you select if you gonna build 64-bit version or 32-bit (for 32bit version just leave "64-bit target" empty/not checked) make sure you have "no warrings as errors" checked and "force direct input" checked
(i never used method 3 alone i always use method 3+1 or 3+2 so i dont know if method 3 works alone but it dont hurt to make 2 of them or all 3)
9. Time to COMPILE THIS AT LAST
Click "GO!"
and just wait for like 30-60 mins this is how long it should take depending on ur pc and what you will be doing on it while its compiling
for example when i watch movies on youtube it took me 65 mins to compile but when i was only using winamp to listen to music and didnt do any thing else on pc while compiling it took 40 mins
10. Getting ur MAME
After compiling is done in C:\MinGW\Source\Mame0158 should be 2 new .exe files
mamep.exe < i think this is more designed for cabinet game selecting methood
and
mamepui.exe < regular windows GUI with files to select with ur mouse or keyboard
copy or cut them and make new folder for example called Mame 158 No Nag+Dinput and paste them there
when you start mamepui for the 1st time it will take a bit looooooonger to launch it as it creates files folders and stuff for it self
11. Configuring Mame on 1st launch
here are some things you need/can/should do when you launch it for the 1st time
i will explain why each option should be checked
go to Options>Interface Options...
DISABLE
-Display splash screen on start
i think i dont need to explain that
go to Options>Directories...
click browse and select ur mame roms folder path(s)
this should force mame to scan for roms in ur folder(s)
if not press F5
go to Options> Default Game Options...
ENABLE
in Display Tab select
-Run In Window
i prefer this cause when games start in full screen mode and i press alt+enter to go to window mode i get errors very painful ones
but when i start game in window mode and press alt+enter to go full screen mode i get no errors and it goes smoothly even so i can switch any number of times and i get no erros
-brightness correction
set to 0.90
-contrast correction
set to 1.20
i do this cause in some games black color gets gray but its up to you to test what fits best ur eyes/monitor
Advanced Tab
ENABLE
-Wait for vertical sync
-sync to monitor refresh
-triple buffering
it will make your games run smoother
Select Image Enhancement
(before u do select 1 you can go to any game press tab and choose image enhancement and press enter on each of it to see which suits u the best keep in mind pressing tab and changing it will only change it for 1 game or for only until u close game here u change it for all)
i selected HQ3x (choose scale3x or 2 or none if games lags for u - mostly sound lags)
Miscellaneous
ENABLE
-Skip game info
DISABLE
-Quit game with confirmation
dont need to explain this two
12. (Optionally) DISABLE default gamepad\joystick controls for AntiMicro, Xpadder, Joy2Key... users
Launch any game press TAB
-Input (general)
-select Player 1 Controls
now configure it to ur needs
press enter to set key or multiple keys to button
press delete or enter then escape to remove 1
i just configure up down left right for arrows
and 1,2,3,4,5,6 buttons as A,S,D,Z,X,C
default insert coin player ONE is 5 and start player ONE is 1
next if you same as me made 1,2,3,4,5,6 buttons as A,S,D,Z,X,C
go to Player 2 Controls and remove (press delete or enter>escape) positions which could make conflict with player One or other players controls
for example if u dont do that and just configure player 1 controls same as me you will end up enabling player ONE and TWO at the same time
when all that done its done nothing more i can think of to configure you are ready to play
13. Adding M+GUI (Mame Plus GUI) this is optional you dont need it its only if you want to have it
(google: mameplus m+gui)
http://sourceforge.net/projects/mameplus/
(UNDER DOWNLOAD BUTTON click Browse All Files>releases > ui)
and download corresponding to ur mame bit version 32=86 64=64 package
download and extract it to ur MAME FOLDER (the 1 to which you copied/moved mamep.exe and mamepui.exe not that in c:\MinGW....)
and you just launch it and it will start a bit longer for the 1st time
14. Things you should not do and waist time by trail and error like me (as mentioned i lost 4 days to get to this point)
1st of all 4 days ago 13.02.2015 it was 1st time i even try to compile something i needed to read tons of tutorials+wiki stuff+users comments about problems and i understand from it like idk maybe 1%
and cause of that and fact compiling is around 30-60 mins it took me that 4 days
you cant even imagine how many errors iv seen in past few days and the amount of frustration i need to go trough to finally compile mame to my needs
so if you wanna compile mame stick to 1 source of instructions dont mix it with other instructions
its best way to avoid errors
next if you want to compile "MAEM UI" you can follow whats on Mame Compiler 64 site
it will work for sure i tested it but if you wanna do "MAME PLUS! UI" you will get errors since patch they provide (i used that hi_158.txt i used correct version just its designed for mame and not Mame Plus!) dont fit "MAME PLUS! UI"
(Mame Plus! UI cause it support image enhancement and Mame UI dont at last i could not find it there)
M+GUI is .exe file which you just drop next to ur mame in folder where is mamep.exe and mamepui.exe you dont compile it with mame
(M+GUI have in my opinion better interface or well to be honest i just like that you can select Options>Gui Style>Plastique other than that it have few more/less options but i dont see big differences)
getting errors are mostly caused when you try to compile wrong versions of sources or patch something what was not designed for it
for example if i did not try to apply hi_158.txt patch on Mame Plus! and just skip that patching process i would be able to compile mame already 2 days ago
but i still was lacking of No Nag patch i did find about proper no nag patch and how to use M+GUI yesterday after midnight
im just amazed mame a such big project have no clear instructions step by step on what to do and from where get ALL stuff you need/want (well it does for compiling mame with that cabinet menu and not GUI)
searching for source code can be bit tricky cause for example searching M+GUI source code can lead you to sourceforge site with binaries instead of source in that case search for "src" or "trunk"
well and thats all i hope i just helped someone