David Haywood's Homepage
MAME work and other stuff
September 7, 2015 Haze Categories: General News. 20 Comments on Twin GP

When I correctly hooked up the dual stack PCB setups for Air Rescue and F1 Exhaust Note it was pointed out to me that GP Rider on the X-Board platform used a similar setup – a bridge board with shared RAM mapped directly into the address space of the main CPUs on each stack rather than a network.

In order to support this the driver (and several components used by the driver) required a little work in order to allow for multiple instances of the PCB stack to run under MAME at the same time.

I did this work, but the game still didn’t work correctly (the game would desync and break shortly after coining up), at that point I passed it on to SailorSat to look at and she observed that the RAM was actually banked, and once she hooked that up it started working as expected.

There’s no new fancy double screen attract graphics in this like Air Rescue and F1 Exhaust Note have, but there are a few things you won’t see unless you’re running the Twin setup either way. Note, I believe the Twin setup is the only official Sega configuration for this game, and while it can run with a single PCB stack that isn’t how it was designed to run.

GP Rider
GP Rider
GP Rider
GP Rider
GP Rider
GP Rider


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

Wow, great stuff, and amazing teamwork between you and SailorSat! Always nice to see tag teaming happen like this.

Looking forward to trying this out. Is this how Daytona USA worked as well (bridge board with shared RAM)? Would be neat to see that networked properly “down the road” as well, though IIRC there are other issues standing in the way first.


I think all the Model 2 stuff used actual link cables, so can be handled with 2 instances of MAME (or at least that will be the case once they work properly)

SailorSat actually checked in some M2 Comms work too.

Thanks for the explanation, Haze. Model 2 sounds a lot easier to get networked at least in theory, and I didn’t realize SailorSat had been working on it already. Nice! That said, I checked back at the driver in it’s pretty rough shape it seems. Didn’t Elsemi donate his code for use with the model2 driver, or was the idea discounted? I could also be misremembering. His standalone work is pretty nice and it would be a shame if it can’t be used but I’m sure there are reasons.

Actually I got Sega Rally and Daytona linked up in MAME a long time ago, but that was more of a dirty hack.

Currently I am gathering all kinds of information on the different network hardware (Model 2, Model 2A, Model 2B and Model 2C each have their own comm board) and software (EPR-16726, EPR-18643 and EPR-18643A).

I believe the hardware is pretty much the same, as I have seen EPR-18643 on both Model 2A and Model 2B.
Also Model 2 and Model 2A are virtually the same board, with 2A having lots of unused space added.

Once I have all the information I need, I might first build an adapter to interface the Model 2 boards to the ISA Bus, like I did with Model 1. ( http://images.arianchen.de/sega2isa/model1/170520151388.jpg )

Daytona USA: http://images.arianchen.de/sega-comm/model2-front.jpg
Sega Rally: http://images.arianchen.de/sega-comm/model2a-front.jpg
Virtua On: http://images.arianchen.de/sega-comm/model2b-com_top.jpg

As for ElSemis code – I don’t have any facts to rely on, but I would take a guess that currently no one is working on the Model 2 driver.

@SailorSat – thanks for the information – that sounds very promising and cool as your X-Board work in this post. You may be aware of other past attempts to “network” Model 2 systems using Elsemi’s standalone emulator as a base (example: a separate “Daytona Online Tool” released in February 2009), but they were likely even more hacky than your original accomplishment. It would be quite nice indeed to see something truly accurate to the original architecture after you have your ISA bus interface working.

After looking a bit further it does seem no one is working on the model2 driver, so I think you’re right, but at least we might have solild network support for whenever it gets more attention. I’m not sure what the issues are with the driver but I’m willing to bet they run deep, and not easy to wrestle down, so I’m not exactly holding my breath, as tempting as it would be to turn funny shades of blue over it. :-)

In any event, that’s not really why we’re here – I’m in awe over the great progess you and Haze made with GP Rider and X-Board – I’m sure it wasn’t easy, it certainly doesn’t sound that way, so thanks again.

I’ve just notice the control are broken in Angelkids (Sega/Nasco 1988). I don’t know from which Mame release, it is like that.
You are the author of this driver, this is why I post here before Mametester.
And as usual, thank you for letting us know what is going on on the Mame dev front, it’s always appreciated.

controls on Angel Kids seem fine to me, it’s a dual joystick game.

Yes, Haze, you are right.

Excuse me for the trouble.

Excellent progress, fantastic work, thank you SailorSat and Haze. :)

Hi Haze,
This is not related to Twin GP
A small request from my side for Legionnaire
Thank You


Haze 1, Hammad 0

Amazing news! I like too much all Twin games.

Okay Thank You Haze :-)

May I ask here What’s going on with Donggul Donggul Haerong ?
In the newest MAME (0.165) I am able to finish the first level/round and then the game crashes at randomly position ?!
I know that this game is marked as NOT WORKING, but still this is a great breakthru !

Nothing is going on with Donggul Donggul Haerong, it’s marked as NOT WORKING, that’s all you need to know.

Nothing has changed, the crashes are random, they’ve always been random, I’ve completed the game before yet other times have had it crash before even hitting the title screen, they probably base protection checks on the real time clock or something.

Hi Haze, I’m trying to run Outrunners 4player, looks to be running fine I just cant setup the controls to work when one instance isn’t in focus. Is this even possible ?

An option to allow MAME to read inputs even when not in focus has been added and will be available in the next version, it’s turned OFF by default, but can be turned on with the -global_inputs option.

note, it only works with RAWinput, so if you’re using some hacked directinput build, or devices that don’t work with the rawinput system you’re out of luck.

Thanks Haze = )

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.