Wednesday, November 27, 2013

CannonBoard

Colin Davies and myself are working on an exciting new project for owners of original OutRun cabinets: CannonBoard. 

The goal is to allow the original OutRun PCB to be cleanly replaced with a modern PC running CannonBall. There will be no soldering; no cable cutting and absolutely no cabinet butchery. Damaging original cabinets makes us very very sad. Simply unplug the cables from the PCB and connect to our interface. Restore your cabinet to the original PCB at any point. It's plug and play!

This approach has a number of advantages. You'll have 60 fps, a wealth of easily configurable options and the ability to play tracks from LayOut. Plus you can tinker with the CannonBall source code if you're technically minded. If this fills you with horror, you can turn all the options off to ensure your experience is identical to the original game whilst furiously sucking a Werther's original.

Colin is working on the hardware interface. A standard Windows, Mac or Linux machine will connect via USB to a cheap $10 Arduino board, mounted on a custom PCB. This custom PCB plugs into the cabinet controls.

Custom PCB


I'm working on the software side of things. CannonBall will communicate with the Arduino to receive inputs from the controls and output to the cabinet motors and lights. I've got the easy job, although I do need to port some more of the OutRun cabinet related code that I missed out. 
Arduino

We're aiming to support all cabinet models from the mini through to the deluxe sitdown. Like all good hobby projects, there is no strict schedule attached to the project. But progress so far is looking promising.

11 comments:

Kungfu Steve said...

This is really cool. But if going this far... with a PC as a controller... I wonder, why not push the envelope? Sega has just released a stereoscopic version of Space Harrier in 3d for the 3ds. (theres a link to the article at mameworld, which includes technical details) Adding a stereo port jack, would be trivial.. and many lcd shutterglasses can be found for dirt cheap on ebay. Other than that.. I think there should be the ability to add more traffic - to increase difficulty. And a speed increase, possibly with a 4way shifter option, to fill in the larger speed range gap. The game is fairly fast as is.. but adding the option to go into reckless-speed would be fun. (similar to Super Hangons turbo button, or Turbo Outrun.. but no instant boost) Rear surround sound speakers could be added, as well as a sub. When cars passed, they would pan to the correct channel. Custom EQ / environmental/cabinet effects allowed, so sounds can be dialed into replacement / custom speakers.. and or add special effects like cabinet resonance for rear speakers that are rear-sealed. The faster driving top speed, would create better need to actually use the brake pedal... which is something that I rarely if ever used. Maybe make it so that if Hard mode is selected, it opens up more tracks that are not available in the easier modes. That 4way shifting, gets a slightly higher speed and or acceleration boost as a bonus. And add addition of a second motor, which could raise and lower the cabinet angle.. that tracks with the hill angles of the game. (Maybe copy over Afterburners or output code.. ) I also wonder.. if 2way traffic can be added. The only real difference between forward and reverse traffic, is pretty much the graphics. All that would be needed is some speed & formula tweaking. And finally, if theres a 3d mode.. might as well utilize that much like Continental Circus 3D.. where parts of cars that wreck, fly out of the screen. You could alter the original car, so that the tire was stripped in frames, and a tire would actually be presented to fly out at different vectors. CS has tires, spoilers, engine smoke (several sprites trailing) , and more... come out of the screen. Even in 2d mode.. that could be kinda fun to see... as originally, no cars hit were damaged.

Kungfu Steve said...

Ahh, heres Space Harrier Deluxe Cabinet. It has full x & y motion. Could copy this, to add to the new Outrun:

http://www.youtube.com/watch?v=yS7HeRsakBY


and heres the article on Stereoscopic 3D space harrier

http://blogs.sega.com/2013/11/25/sega-3d-classics-space-harrier-3d-interview-with-developer-m2/

matt said...

Maybe try to get OutRun 3D on the Nintendo 3DS using CannonBall? https://twitter.com/LinearLoveStory/statuses/406710593635115009

I wanted to post this on the forum, but I cannot log in as the forum software says "/reassembler/ucp.php" cannot be found?

yt said...

It will be interesting to see what games M2 work on next. Sega haven't been kind to OutRun in recent years though and there hasn't really been a quality conversion since the Saturn. Any version from here onwards will have some substituted graphics (licensed vehicles, advertising changed etc.) Whether OutRun makes the cut will be a business decision rather than a technical one for Sega.

If M2 don't do the job, then I'll happily port the engine once homebrew is realised on the 3DS... :-D

I'd like to do some further options for CannonBall in the future too. I'd love ghost racing or multiplayer. But it's a lot of work.


matt said...

Looks like the forum has been reset?

yt said...

Looks like it has. I will try to find out what is going on. :-/

Martin Lawes said...

Hi there

What's the plan with regards to the video output from the 'PC' will the custom board convert it to CGA so it plums straight into the monitor or will we need an arcadeVGA or soft15k and a compatible card?

Lovingl your outrun projects all round!

Thanks, Mart.

yt said...

Colin has been investigating some solutions on the video output front. Once we've got a little further I'll be sure to post some details.

Damien said...

Instead of using a PC and an Arduino with in/out pins, why not use a PC that already have these pins, like a Raspberry Pi? I believe it would be a much cheaper setup and you would only have to provide an iso for the SD card.

yt said...

Damien: The main reason at this stage would be performance. The Pi isn't exactly a power-house when it comes to fast 2D performance from what I understand.

CannonBall has been successfully ported to run at 30fps on Pi at 4:3 (although not released by the author) However, it's not running at 60fps.

Whlst CannonBall runs faster than MAME, but it does still use some level of emulation. For example, the YM2151 chip is emulated to produce the sound and the graphics hardware is still emulated to some degree.

When you factor in the overhead of additional threading to handling the communication I/O, the Pi is going to struggle. This project pretty much lives or dies by the responsiveness of the controls. If they aren't rock solid, we've failed.

I think with some focused work, we could have things running on the Pi. But it's not particularly straightforward.

Plus a second hand PC + Arduino can probably be found on ebay for $50-100.

Davi Lucarelli said...

Hey, just wondering if this ever was released. I'd love to have one and finally put an end to my OutRun PCB struggles