V2.00 - 4th May 2002
UPDATE 4th May 2002 - This F.A.Q. is becoming increasingly out of date and irrelevant - not least because we have now seen the public release of JPEMU (which emulates JPM's IMPACT hardware system) and early work on a BFM (Bellfruit) Scorpion emulator. Also, there are a few features of V8.75 of MPU3/4 that are not covered by the F.A.Q. On the other hand, a few major points and issues are properly addressed here - and it's nice in a historical sort of way regardless. Moreover, I'm far too lazy to rewrite it comprehensively, so these bodge job updates will just have to do I'm afraid. Sorry chaps.
0) What and who is this F.A.Q. for?
It's intended to address a few points that get made on a regular basis on the MPU Forums, and by e-mail to myself. It should be read along with the readme file and the Beginners' Guide if you're really lusting after an encyclopaedic knowledge of the whole fruit machine emulation shooting match. A few of the points covered here are also touched upon in both the readme file and the Beginners' Guide, of course, a better organised site owner than myself would consolidate them all into one marvellous single document.
1) What is MPU3/4?
MPU3/4 emulates the MPU fruit machine hardware. Two revisions of the hardware are emulated, MPU3 and MPU4. By itself, MPU3/4 is an accomplished, but largely useless chunk of code. In a similar fashion to how MAME needs game ROMs to run for it to be of any use, MPU3/4 needs the game ROM and a game layout DAT/RES file to show off its stuff.
MPU3/4 was written by Chris Wren, it was a project that had taken years to reach fruition. Originally conceived as a tool for fruit machine professionals, as development time grew its relevance to machines that could be played in pubs and clubs diminished. MPU3/4 was finally released a commercial product through a small UK fruit machine mailing list, intended to be a bit of a fun and a trip down memory lane for dedicated fruity players. However, Barcrest got a bit cross about this and insisted that MPU3/4 could not be sold with their ROMs and other copyrighted material. MPU3/4 was then released as freeware without any ROM images and the rest, as they say, is history.
The last freeware release of MPU3/4 was V8.75. (Previous releases were V6.0, V6.5, V8.73 and V8.74).
2) You mentioned a DAT/RES file - what might one of those be?
The game ROM is sufficient for MPU3/4 to emulate the game software, but you still need a visual interpretation of the machine's reels, lights, buttons and so on for it make much sense, this is where the DAT/RES file comes in. Take a look at fruittable.htm and it'll soon make more sense. Emulated games are supplied as two zip files, a game ROM zip file and a game DAT/RES zip file. Generally speaking, all you need to do to play a game is unzip both of these files into the same folder, and then load the <<gamename>>.gam file in MPU3/4.
3) I want to play <<insert name of game here>> in MPU3/4. Please do it for me. Now.
MPU3/4 only emulates games that use MPU3 or MPU4 hardware, and even then there are issues with some machines and ROMs that make this difficult or impossible. As a general guide, the following manufacturers have used MPU hardware.
Barcrest used MPU3 and
then MPU4 hardware from the early 80s to 1996 (at which point they moved
to MPU5). The vast majority of games currently implemented in MPU3/4 are by
Barcrest.
BWB used MPU3 and still use MPU4. They rebuild old Barcrest machines,
usually for the 5p £5 market.
Empire used MPU4 hardware from 1996 to 2000 (they have recently moved up
to the MPU5 platform).
Global have used MPU4 for a few years.
QPS use MPU4, although there are few oddities about their set-up which
are proving difficult to emulate.
Who's missing from that list? JPM, Maygay, BFM (BellFruit), Impulse, Mazooma and ACE amongst others. Machines by these manufacturers are not emulated by MPU3/4, they never will be, so please stop asking about it. If you really really want a JPM emulator, or you absolutely have to see The Simpsons emulated yesterday, you'd better get your coding hat on.
Even if the machine you're thinking of can be emulated, the ROMs will need to have been dumped, and someone will have to create a RES file for it. By all means ask about it on the MPU Forums, but don't get too upset if the response isn't what you were hoping for.
4) MPU5 sounds promising, it's only a different number on the end of MPU. Do an MPU5 emulator please. Now.
Barcrest have used MPU5 since 1996, some people have commented that since the games seem to be so similar the hardware must be also. For example, Boulderdash is MPU4, one of its clones, Ooh Ahh Dracula is MPU5 (note: see 4a). Some machines that have used MPU5 hardware when made by Barcrest have used MPU4 hardware when rebuilt as a BWB machine. So MPU4 and MPU5 must be pretty similar, right?
Wrong. For a start, the main CPU (MPU4 = 6809 (8-bit), MPU5 = 68040 (16-bit)) and hardware is radically different. Secondly, the ROMs are encrypted, newer ROMs use a similar protection system to that employed by the Capcom CPS-2 games, with a completely different decode table for each ROM. Word is that Barcrest think it's uncrackable. Of course, it probably isn't, but if you look at the time and effort that went into breaking the CPS-2 encryption (and still has to be done again for each extra ROM set), it's probably safe to say that MPU5 is secure for quite some time.....
Moreover, no one (as far as we know) is working on an MPU5 emulator, and until someone's prepared to take on the ROM encryption, there'd be precious little point in them doing so. Short answer, there is no MPU5, and there isn't going to be. That means that no Barcrest game made since 1996 will be emulated, and even if you mail me ten times asking about it, it still won't be. Sorry.
4a update) It turns out that Ooh Ahh Dracula is a very good example (when I originally wrote the FAQ it had not been emulated at all). Barcrest used MPU5 for the original machine, BWB used MPU4 for the rebuild, the MPU4 BWB version is now emulated by MPU3/4. Note that this does not mean that any MPU5 machine can somehow easily be "converted" to MPU4 and then emulated. Barcrest will have decrypted the ROMs and recompiled the code for BWB to produce an MPU4 version of Ooh Ahh Dracula. This is not something that we are able to do. Unless there is a specific MPU4 version of an MPU5 game already in existence (and we have the ROMs), then MPU5 machines are still totally off-limits.
5) Hmmm, OK then. I will stop asking about it.
Thanks.
6) Games are running too slow / too fast. What on earth can I do?
Alter the delay setting in MPU3/4's configuration screen. Higher values make things slower, lower settings make things faster. As a general guide, around 300 seems to be right for most people, but tweak as you deem appropriate. (Note: There is no "100% original speed" option or setting, you'll just have to mess around to get the right delay value for your setup, and quite often use a different value for each game. Also note that when the emulator is very "busy", most notably with lots of lights flashing at once, things will slow down regardless of delay setting).
7) The sound in <<gamename>> is choppy / distorted / offensive to the ear.
Open MPU3/4's configuration screen and try a different "Sampled Sound" setting. However, in the case of Fright Night, it's actually supposed to sound like that. Honest.
You can also try these two fixes:
1) Run "dxdiag" from the Windows RUN
command in the start menu. Turn off Direct X Sound Debugging, or change its
setting to "basic".
2) Follow these instructions (I originally posted this fix for the same problem
with Visual Pinball, but apparently it might work for MPU3/4 too).
As supplied by Microsoft, DirectX versions 8.0 and 8.1 run a sound debugging
program in the background under Windows. This debugging program may cause
performance degradation and possibly execution errors in Windows applications
using DirectX (such as OFP).
The DirectX sound debugging program can be safely disabled by downloading this
DirectX applet and following these instructions:
Extract the DIRECTX.CPL applet file to your Windows 98 SYSTEM subdirectory or
your Windows 2000 SYSTEM32 subdirectory.
Go to Windows Control Panel and open the DirectX properties utility.
Click on the DirectSound tab. You should see a Debug Output Level slide control
on the upper left. Slide it all the way to the left, where it says
"Less".
Click APPLY and then OK to save the settings and exit the utility.
8) <<Gamename>> has no sound at all. Can you fix it? Now?
The MPU3 sound hardware is not emulated, so MPU3 games will have to be played in silence (you could always hum quietly to yourself though). Sound ROMs have not been found for some other games, so these will also run silent, a bit like an advanced nuclear submarine.
UPDATE - MPU3 sound is now emulated, boop boop beep beep, bo bo bo beep, boo boo booop etc.....
9) The layout doesn't fit on my screen properly. I am upset and confused, what should I do?
The majority of layouts use an 800x600 resolution. However, an increasing number of the DX Mods and some classic layouts use a 1024x768 resolution. If your desktop resolution is set to 800x600 and you load a 1024x768 layout, bits are going to be missing. The solution is to increase your desktop resolution to 1024x768 (or even higher, if you feel like it). If your PC / monitor can't handle 1024x768 then I'm afraid you're rather stuck. Try doing some yoga to relax.
10) That DX Mod thingymajig you just mentioned - what's that all about then?
A DX Mod is an enhanced version of a standard DAT/RES file. Take a look at the two screenshots below. These are both screenshots of the game "Winner Takes All" running in MPU3/4. On the left is a "classic style" layout, on the right is a DX Mod. A DX Mod incorporates artwork from the original machine into the layout, to give a much more authentic feel to the emulation experience. DX Mods require high quality images of the original machine to be available to the layout designer, and take a lot longer to produce than a classic style layout, so please understand that DX Mods are not available for every game released.
Note that whether you're running a classic style layout or a DX Mod you will always require the game ROMs. Generally speaking, the classic style layout and DX Mod can be unzipped into a common folder with the game's ROMs, as different filenames are used so that they can comfortably coexist.
11) I fancy myself as a DAT/RES file designer. How do I go about that?
Currently, there are several people working on producing new RES files. The development tools are not publicly available, although this is something that may change in the future, but for the time being you're going to have to use your cunning and guile. Apparently, it's possible to put something together using standard hex editors and similar tools, although I wouldn't know about complex things such as that myself. You can download a "blank" RES file here blank.res although what you'd need to do with it thereafter I really couldn't say.
In short, the situation with development tools is very much a "wait and see" sort of thing.
UPDATE - 28th Feb 2002 - V8.73 of MPU3/4 has now been released which comes complete the full suite of layout development tools, so you can all muck about to your heart's content. We also saw the release of MERC in late January, a third party layout development tool, this has been discontinued following the release of V8.73, but is still available for download from this site.
12) I'm using WinXP / Win2000, there's a delay before the third reel drops in.
Two fixes for this (or any other strange behaviour that you experience running MPU3/4 under these operating systems). First, you can simply set the MPU3/4 process priority to low in the Process Manager. Second, you can download the fix from emufix.exe, which will do this for you.
13) I'm using WinXP / Win2000 and having all sorts of problems with the sounds and samples. They don't loop properly, sometimes they don't play at all, or they just sound plain wrong. It's upsetting me. What can I do?
Turn off DirectX Sound Acceleration, MPU3/4 doesn't like it, or WinXP/2000 doesn't like MPU3/4, or they're having a trial separation. Or something. Whatever the case, most problems of this description can be fixed by turning off the DirectX Sound Acceleration. Do you see?
Also note: Whatever OS you're using, some samples won't loop properly whatever you do. This is due to the way that the MPU4 hardware syncs certain sounds to the CPU cycles. According to Chris (MPU3/4's author), it was hard enough work to get the samples playing at all. By adjusting the delay in the configuration menu you can get some samples looping properly, but you'll then probably find that some samples won't finish playing once before they start again. Have a mess about with the delay to find the best compromise, generally speaking, a delay setting that makes for comfortable play will work equally well for the sound.
14) The text doesn't fit on the buttons properly, and/or it looks crappy on the feature trail. Why is this, are you all stupid or something?
Make sure that you have the lithograph font in your Windows\Fonts directory, many layouts are designed using this font. You can download the lithograph font using this link. Save it to your Windows\Fonts directory and try the offending layout again, you should be pleasantly surprised.
15) I want to do a factory reset on a machine, how do I go about that?
Delete the machine's RAM file (it will have the same name as the GAM file but with a RAM extension), this is what MPU3/4 uses to simulate the machine's flash RAM. Next time you load the game, it will think it's fresh out of the factory. You'll want to open the door and manually reset the IN and OUT meters to ensure that they accurately reflect the machine's internal meters. If you're going to mess about with stake, jackpot and %age this is a good time to do it (note that altering these settings on some machines will reset all the meters anyway).
The RAM file will automatically be recreated when you exit MPU3/4, load another game, or reload the same game. (MPU3/4 writes the changes to the RAM file, or creates a new one if necessary, at the end of the game's "session").
16) How do I change the payout percentage that a machine is set to?
Hmm, that's a bit a of an awkward one to answer, do you really want to know?
Yes, that's why I asked, you dickhead.
OK then:
a) Club machines: Adjust using the dipswitches (with the door open), generally speaking, the display will tell you what the new stake/%age/JP setting is and give you a timer before it applies them or wait until you close the door before applying them. Ordinarily, it's the top row of dip switches that you'll be using.
b) Barcrest and BWB machines: On the newer stuff, %age can almost always be changed using the drop down menu in the config screen and, in some cases, so can stake and JP. If you can't change stake and JP using the menus, it's going be a dipswitch job, and you're on your own there. On the older stuff, I'm not even sure the dipswitches do much (even with regard to percentage).
c) Empire machines: The first four switches on bank 1 add the following amounts (cumulatively) from a base of 70%. Switch 1 adds 2%. Switch 2 adds 4%. Switch 3 adds 8%. Switch 4 adds 16%. You could have a mess with the other dipswitches if you're after changing stake and JP, but I've never really bothered trying to be quite honest.
Whatever you do, note that if you do change the jackpot value the layout will still be showing the old (now incorrect) jackpot value. Changing the stake is a fairly pointless, so there's not really anything to be gained from trying to do so. The %age is the main factor, follow the guidelines above and you should be OK. Also bear in mind that fiddling these settings can often cause a machine to reset its IN and OUT meters (so that it can start working towards the new %age) so you'll need to do that manually with MPU3/4's IN and OUT meters. Safest bet is to do a factory reset (see Q15) if you're going to change %age, stake or jackpot settings.
17) Is that everything?
For now, yes.