David Haywood's Homepage
MAME work and other stuff
August 13, 2015 Haze Categories: General News. 22 Comments on Legendary Update

Ever wondered how the HDDs on arcade games get updated to new versions? Probably not, but I’m going to show you one example anyway.

Sometimes floppy disks would be used (but this could be inconvenient, as most arcade systems didn’t have floppy drives by default) and in other cases CDs would be used (again not ideal if the game didn’t have a CD drive)

The alternative, and case I’m going to cover here is when a game was updated by using ROMs.

If you owned a Gauntlet Legends ‘1.2’ and wanted to update it to ‘1.6’ then it was necessary to update the game data on the hard drive because this is where the bulk of the game code is stored – the main bios ROM is just a boot loader. In order to facilitate the upgrade Midway provided a kit for this, it looked like this

Midway Kit

opened up, the box contains the following

Midway Kit

As you can see, there are 4 ROMs in the box. One of them (the one with the Red/Orange sticker) is a replacement BIOS / boot rom. The other 3 exist to upgrade the hard drive.

Show below is a Gauntlet Legends PCB set (not the best picture, just one I found, if anybody has a better one I’d like to replace it)

Gauntlet Legends

You can clearly see the bios rom with the Red/Orange sticker on the lower part of the middle PCB, and next to it is a single empty socket.

How does that work? Well, the socket there is used for upgrading the hard drive data, but as you saw from the kit pictures there are 3 upgrade ROMs but there is only one socket. It turns out the upgrade is a 3 step process, you must boot up the PCB with each of the roms in turn, let it do it’s work, then move on to the next one. This is because the update data is larger than could fit in a single ROM.

Thanks to rtw and Smitdogg those roms pictured are actually dumped, and just for fun I decided to hook them up in MAME.

If you load the 1.2 set in MAME you can see the following.

Gauntlet Legends Gauntlet Legends

Without any update the 1.2 set boots up and has 1.2 in the corner of the boot screen, and in the test mode shows ‘GUTS 1.4 Oct 22 1998 11:23:04’ which is the code revision on the hard drive, yes, a 1.2 Gauntlet Legends is actually version 1.4 but that’s Midway for you.

Boot with one of the upgrade ROMs in the empty socket and the bios recognizes it and gives you the following

Gauntlet Legends Gauntlet Legends

The first ROM takes a while because it does a disk check, but eventually you’ll get

Gauntlet Legends Gauntlet Legends

Follow the instructions (power off) and boot with the 2nd rom in place

Gauntlet Legends Gauntlet Legends

Same process, but without the disk check. Do it with the 3rd ROM and you get

Gauntlet Legends

A reboot later, with the update ROM removed (all the update data is loaded to the hard drive at this point) and the game actually starts performing the update.

Gauntlet Legends Gauntlet Legends
Gauntlet Legends

Reboot again and you have a version 1.6

Gauntlet Legends Gauntlet Legends

Version 1.6 actually has an internal code of GUTS 1.5 Jan 14 1999, but again, that’s Midway being Midway.

This was all fairly straightforward to hook up in MAME, and while it’s a little pointless (we already have 1.6 as the parent set) it’s nice to be able to go through the whole process in an emulated environment. There was one hitch, the CHD for 1.2 had been created with bad geometry, and upon attempting to write to it the updater software actually corrupted the HDD rather than updating it. By recompressing the 1.2 CHD with valid geometry for a Quantum Fireball 2.5Gb this problem was bypassed, although it makes me wonder just how many other CHDs in MAME have been created with bad geometry, even more worrying is that the badly guessed sizes are slightly shorter than the actual drive type used so we’re probably lucky there was no data at the end.

These update roms have actually been dumped for quite a while (thanks again rtw and Smitdogg) but until now nobody really showed an interest in them.

If you want to follow the procedure yourself I’ve hooked it up in MAME so that you can use
mame64 gauntleg12 -bios up16_1
mame64 gauntleg12 -bios up16_2
mame64 gauntleg12 -bios up16_3
to run with the different update roms, although it does expose a limitation of the -bios system, because we really need to allow for multiple different bootroms too, and -bios is a global. For this reason I’m actually contemplating putting the update roms in a software list instead, using a slot device, it seems more logical to me, afterall they are purely optional. (meaning things could change between the code that’s in the GIT right now and what gets released in 0.165)


You can follow any responses to this entry through the RSS 2.0 feed.

Wow. Congratulations! :D

This is really interesting and awesome!

Nice work guys :)

David, great post – I always enjoy reading your oddball experiments – this one is a true gem !

Very cool. If any one is following along and isn’t familiar with the “test” key for this game, it is F2. I also found that one can select the alternate BIOS ROMs from the tab menu, and avoid having to quit MAME completely to get the next ROM loaded.

Question: I see that a 300 MB file was created in the diff folder after the update. Is there any way to “flatten” or combine this .dif file with the main gauntl12.chd file to make the v1.6 .chd file? I realize that’s it’s unnecessary, as the parent set is already v1.6. Just curious.

CHDMAN can ‘flatten’ the CHD, yes, can’t remember the exact syntax off the top of my head tho. (it might just be a COPY operation with the dif file as the source)

The file won’t match the 1.6 drive exactly because neither drive is ‘clean’ (they’ve both been used, although the 1.2 drive less than the 1.6 drive by the looks of it) however the game versions match.

Thats great work, is this running on similar hardware as Rush 2049 ? The test menus sure look that way, i have al rush 2049 versions, including a working TE KIT, were the 2 new tracks wich only existed in tournamanet were unlucoked by default, these tracks ahd coins too. The new TE cars were not unlocked, but this was done in Special Edition.

@Haze Interesting read i’d always thought upgrade kits came as full PCB boards its seems that wasn’t the case
with later Arcade Systems that had HDD or used CD’s still wonder how it was done for older boards without the above
like say an upgrade kit for Turbo Outrun..???

have an area 51 old version drive should be with you shortly :)


Turbo Outrun would be chip replacements for the main program roms if upgrading one revision of the game to another, there were no HDDs etc. on that board, so a simple rom swap procedure was used.

If you were upgrading an Outrun to Turbo Outrun (which Sega did offer as an option) you’d also get the FD1094 to replace the 68k as well as all the program roms + gfx roms.

We have ‘new issue’ bulletins for several Nintendo games too announcing the availability of new chips which adjust the difficulty etc. (Donkey Kong for example)

With a lot of gambling games the updates were made available on BBS sites instead, and it was up to the operator / distributor to download them and reprogram them.

re: the Rush 2049 question, yeah, this is the same family of boards, although there are slight differences between them (different sound systems, different voodoo cards etc.)

There was Blitz 99 update ROM too which can update the recently added 1.2 version to 1.30, that’s an easier procedure tho, there’s only one rom needed for the update (smaller game) so you plug in the chip, enter service mode, and it auto-updates the HDD.

Hammy> thanks, finding the older versions of the hard drives is just as important as finding the newer ones, if anything they’re probably harder to find due to these upgrades being distributed by Midway.

Awesome work as always Haze, a job well done congrats.

can’t wait to play this game.

btw, any chance on fixing up the Viperphase 1 game?, from the seibu Kaihatsu company and apache 3 from Tatsumi any time soon?

there are no reports of Viper Phase 1 being broken.

Ahahaahahahahahah jackie. You have never read the haze article. It doesn’t report of any new playable game. The game is already playable. Pathetic……

Wow…. this is genuinely really interesting. Love these unusual emulation experiments/additions.

Bit worrying about the CHD though. But then tbh the accuracy of these CHDs often does, esp with all the problems last time where so many were found to be bad.

The new gauntl12.chd is also smaller in size. Makes me wonder if the parent set (gauntleg.chd) shouldn’t also be recompressed with the correct geometry?
Shouldn’t we assume both sets use the same type of Quantum Fireball hard drive?
Now I’m also curious about Gauntlet Dark Legacy (gauntdl) since that was released on the same hardware just a year later, with 2 revisions. Does an updater exist for that too?

I know its playable but its not 100% emulated read the startup screen, so shutup mamessfan, you tard jerkoff., I hate when assholes try to stick their 2 cents and becomes such morons.

so this would the same to take legends to dark legacy?

Unless a recent change broke Viper Phase 1 for some reason the only thing it really needs to justify removing the startup screen notice is:
– better emulation of the music chip (which is probably never going to happen, reminds me I should probably support the game in RaidenMAME when I get the chance)
– figuring out the alpha transparency effect used in one of the title logos

IIRC hap tried #2 but the result broke most other games especially rdft22kc, ergo it wasn’t “correct” so it got reverted. Was a few years back so I could be wrong.

@nathan Short answer: “No”, these chips are 3 * 1MB in size and hold only the differences between GL 1.2 and GL 1.6. To uplift to GDL would require over 1.5GB of data on a hard drive. So for GDL, the operator would need to purchase the completely separate game – don’t recall any uplift being possible.


Can you please look at the updated note at the bottom of this MAMETesters page?


The main CPU overclock does indeed behave that way.

the issue is semi-random, it would surprise me very much if there weren’t times when it happened on the PCB too.

I’m not interested in looking at it.

Hello Haze, unrelated to this, but I want to ask about toaplan’s Fire Shark. It lacks sound but others from the same time and hardware work. You talked about those long ago, but I love this game and I’d love to hear it again.
Thanks for your awesome work!

Fire Shark uses an undumped MCU as the sound CPU, until it is dumped sound can’t be *properly* emulated.

We currently have no way of dumping it.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.