David Haywood's Homepage
MAME work and other stuff
February 19, 2013 Haze Categories: General News. 6 Comments

Cool Riders by Sega is another one of those titles where the hardware is so odd it has Mamedev stumped. The driver hasn’t really seen much attention over the last year so I decided to at least correct a few things in it.

First of all it’s a dual screen game, and we were sending all the blit commands to just one screen, I fixed that, setting it up with a dual screen layout in MAME, and hooked up the different backgrounds for each screen too.

I also added code to interpret some more of the blit parameters, rather than ignoring them. This allows you to see roughly where the road should be, and follow the attract sequences compared to videos of the real thing.

Additionally I made it possible to load a fake ASCII font rom in debug versions of MAME so that the test mode can be navigated, allowing for further fixes.

None of this is really much help tho, because the biggest problem remains the missing / not understood compression used on all the blitter objects / sprites. The compression is used on EVERYTHING except the backgrounds hence having to load the fake ASCII rom just to be able to see the test mode properly. Not even the backgrounds make sense entirely, I can’t find the scroll registers for them.

With the changes the emulation now looks like this



even with this work it’s still obviously a long way off the Real Thing (alt video).

I hope we can figure it out, it’s Sega’s final sprite scaler game, and actually runs at the same resolution as the Model 2 boards, I guess they just decided that this unique H1 board was a dead-end and 3D tech was the way forward. As mentioned in previous updates about the game it’s really just a re-worked version of OutRunners with bikes, so many bits of the game are clearly just re-skinned versions of that game it’s quite amazing to see!

Anyway, after doing this, and recording the video, Kale has also put some effort into figuring things out, actually hooking up the inputs now by using test mode enabled by use of the fake ASCII characters, he has also attempted to hook up sound, but that too seems more complex and involves both the sub SH1, a 68k, 2 SCSPs and likely some sound DMAs in addition to a complex interrupts setup, so for now it still remains silent. You can now coin the game up and ‘drive’ the random squares you see around, so that’s certainly progress.

Additionally I found that the ‘ingame’ palette wasn’t always right, and found out there are additional palette writes in the same place as the ‘sprites’ get uploaded, and these are used to fade between level backgrounds. Here is a second video showing the inputs working as per Kale’s fix, and the fading. (sorry about the excessive flicker on this one, I think frameskip was turned on)



Nothing about this hardware is straightforward, but that’s why it’s taken so long to even make this much progress.

Kale also added some (very) preliminary sound



Can’t guarantee any more progress in the short term, but I think it’s good to remind people that drivers are rarely forgotten completely.

6 Comments

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

I admire you guys. I think you could work for NSA or something. :)

nice efforts as always :)
maybe one day if u find time u could take a look at the game called ‘moonquake’ .. which again it seems to be avoided by the mame gang unfortunately :[

Moonquake is on Amiga hardware, and has a protection MCU in the trapdoor slot, it may not be possible to emulate without further data, and it’s a prototype, and 68705s are typically read protected..

warning to sjy96525

if you continue to spam this blog, and dev email addresses then work will stop on this driver IMMEDIATELY.

consider yourself permanently banned from this site already.

Is H1 considered a Modified System 32 Hardware? Because I heard the fact that it was based on a rumored 2D-Saturn hardware.

No, it has no real relation to System 32, or Saturn.