Mach3 Emulation Development
This work has been improved by the work for Firefox emulation.
A combined patch for Windows MAME 0.79 is here and for xmame 0.78.1 here.
Here is my attempt to get Mach3 working in MAME. I've not had hardly any contact with the MAME developers so if it seems a bit of a hack then that's why.
Please note, if you create a working mame executable or source code set, then you should not distribute it due to license incompatibilities.
Thanks to all those who have sent me encouraging emails, it does make a difference.
These instruction apply for both Mach3 and Firefox
A dummy artwork background file for MACH3 to initialise the artwork
A dummy artwork background file for Firefox to initialise the artwork
The target file for MACH3. You may already have one of these, but I am told by the original author, Fabrice Frances, that it has some mistakes. The one here is done in early 2003 by Fabrice and he assures me that it is now correct.
Update: It appears that even this file is not correct. The clever chaps on the Daphne project have spotted some errors and may have a correct file soon.
Place the above to files in your artwork directory/mach3 (or firefox) or in mach3.zip/firefox.zip in the artwork directory.
Or you can set the artwork directory to be the same as your rompath and put the files where you would normally put roms.
The frame file for MACH3. This is to help with laserdisk seeks.
The frame file for Firefox. This is to help with laserdisk seeks.
The soundtrack for MACH3. Mono sound track from the disk. Should be 89806094 bytes.
The video file for MACH3. This is the whole video and is big. Should be 1796188367 bytes
The soundtrack for Firefox. Mono sound track from the disk. Should be 152516876 bytes.
The video file for Firefox. This is the whole video and is big. Should be 1836320618 bytes
IRC details
The video and audio files are ripped from the laserdisks.
You may find them on IRC/NNTP News but you should note that it is only legal to have these files unless you own an original disk.
For Mach3 the soundtrack is mach3.flac (89806094 bytes) and the video is mach3.lsr (1796188367 bytes).
For Firefox the soundtrack is firefox.flac (152516876 bytes) and the video is firefox.lsr (1836320618 bytes).
The video files are actually just the video streams in a mpeg2 file. The .lsr extension is so that the format could be changed (to Theora) for example without the extension looking odd.
Get and install the flac libraries 1.1.0 from sourceforge
Get the following files and place them in the rompath for Firefox.
The instructions below assume you are building in a directory on the c drive called c:\src
- Download and unpack mpeg2dec 0.4.0b from c:\src
- install msys 1.0.9 (this help assumes it is in c:\msys)
- Install Mingw 3-1.0-1 into c:\msys\1.0\mingw
- Start Msys
cd c:
cd src/mpeg2dec
- build libmpeg -
configure;make;make install
- download and build
flac-1.1.0-src
- download and build
zlib 1.2.1
as per mpeg2dec:
configure;make;make install
- Download and install nasmw nasm-0.98.38-win32.zip so that you have the nasmw.exe in /usr/local/bin (from MSYS).
- Install the dx70_mgw.zip headers from the MAME downloads area. Don't get the ming-over.zip or gcc-3.2.2 from the MAME site - you don't need them if you have install msys and mingw as above.
- Download and unzip mame-0.79s.zip into c:\src (giving c:\src\mame)
- Make sure vanilla mame builds OK - run
make from c:\src\mame
- Put the
patch
in c:\src and run the patch from the mame top level directory:
cd c:/src/mame; patch -p1 -F 3 < ../mame-firefox.patch
- Copy libvo.a from c:/src/mpeg2dec/libvo/libvo.a to c:/msys/1.0/local/lib
- run
make from c:/src/mame and it should build ok, at least it did for me. :-)
Dennis kindly sent me these instructions based on his experience in MS
Word format which you may find helpful.
Update
21 May 2003
Improved the instructions for building in Windows and upgraded the patch to version 0.68.
21 May 2003
Put the correct frame.txt file on the web site - sorry for those who downloaded the old one and wondered why it didn't work.
17 May 2003
Finally got the windows patch working.
1 April 2003
I'm going to leave this project for now. It was fun to get it working, but the ports and tidying up take the most time but for me are the least rewarding. There are several bugs/things to improve, so if anyone has the time feel free to carry on.
There are license conflicts between MAME, FLAC, and libmpeg2. FLAC is under a BSD style license, and libmpeg2 is under the GPL, so there is probably not a problem putting those two together. MAME is under its own license which is not compatible with GPL so distribution of the full source, or binaries is not possible.
I was going to make a win32 port, but I'm not that fimilar with MinGW or cygwin, so I'll leave that to someone with more experiece.
release 0.03
20 March 2003 - Changes since 0.02
Tided up the remaining TODO's in the code
Amended the frame.txt so that the bomber game starts at the right point in the video
Pic showing target offset: Please mail me if you know exactly where the targets should line up
Jobs left to do:
Sync the sound for the bomber game
Add missing seek entries for the bomber game
The bomber targets seem offset horizontally, which would indicate the artwork needs to be shifted left. I need someone with a real game to confirm this.
Us Vs Them? - This is the same hardware as Mach3 so should be easy
Firefox? - Different hardware so may be a bit harder
release 0.02
Changes since previous release
Fixed bug where it would only play the video once, subsequent games the video was still.
Updated the frame.txt to be in line with the new full video. The old video file on my ftp site has been replaced by the full version
Removed some of the fprintfs
Known problems
- Game continues after losing last life. Sometimes(always?) once the last life is lost the game appears to continue with infinite lives eventually giving a s"Disc error" message.
- The targets are not well lined up in the bomber game
- Some of the offsets are missing for the bomber game