Wednesday, November 19, 2014

Restoration - Boardset

I pulled the PCB out of the machine and connected it with my test harness to a CRT TV. After sitting in a garage unused since the 90s it was surely never going to work?

I couldn't believe my eyes - it booted up and everything seems ok. Maybe I won't need that spare PCB after all. There's a bit of an audio hiss under the sounds but that's it. I'm going to leave it running for a bit to see if it explodes. ;)

Saturday, November 15, 2014

OutRun Mini Restoration

Back in 1997, I bought an OutRun Mini cabinet. It cost £200 and had been in use in a youth club. It worked, but had been well used and seen better days.

When I left London and headed to university in 1999 the cabinet remained in my parent's garage. It's resided there for the past 15 years gathering dust.

Most of the cabinet was unwisely painted black at some point and the red side art covered. The black paint had started to flake off, taking the red stencilled side art with it; it looked pretty awful as you can see below. 

I got in touch with a chap called Rudy who has reproduced the side art. This is in the post and will serve as a nice motivational reminder of the way things should be. 

The control panel has also been painted black, the sticker ripped and the start button replaced. Everything works fine however. There are no broken cogs and the original OutRun steering wheel emblem is present. 

I have a replacement control panel in great condition, so I have a few options here for the restoration, so it should be one of the easier parts to get right. Some of the chipboard is in particularly poor condition at the base of the cabinet. 

The insides of the cabinet are dusty, but thankfully not rusty. I was quite concerned that storing the cabinet in a drafty garage for 15 years would have caused more obvious problems. 

Even the PCB shows no obvious signs of corrosion which is pleasing.  I doubt it still works, but I will check it in my test harness at some point. 

The bottom interior of the cabinet is filthy. As a bonus, I found 20p amongst the dust. Evidence below. 

It's nice to find out when the cabinet was born; 22nd July 1987. It was last serviced in 1996, a year before I bought it. 

There's a lengthy task ahead, and I will be stripping the cabinet down for a full refurbishment over the coming months. Hopefully I can restore this cabinet to its former glory and learn something along the way. 

Tuesday, November 11, 2014

CannonBall 0.3 - Widescreen Tilemaps & Freeplay

This is a version of CannonBall I meant to release a while ago, but moving house and family commitments ended up causing me to sit on it for a while. I suspect there may be some new bugs as there was a gap between coding and release, so please report anything found.

I also spoke with Colin who is going to carry on with CannonBoard work soon. Behind the scenes a lot is done and ready to go from a software point of view.

- Widescreen tilemap support for music selection screen.

- Widescreen support for map screen. The sea on the left now extends further.

- Freeplay Mode (enabled in config.xml for now)

- Optional Timing Fixes (enabled in config.xml for now)


Also of note is the following project, which is a port of CannonBall to Android phones, tablets and other devices. There are some bugs and suggestions I have for the author, but overall it runs nicely!

You will need to enable the installation of APK files from unknown sources in the Settings -> Security section of your device to use it.

The author has kindly released the source code, which is available here.

Cabinet Restoration

One benefit of moving is that I finally have space for my OutRun cabinet. It needs a lot of restoration work, so I will be devoting a lot of free time to this project in the coming months as well as supporting Colin with his CannonBoard work. I'll post some pictures once I get going.

Wednesday, August 06, 2014

Sega Enhanced (formerly OutRun Enhanced Edition)

The OutRun Enhanced Edition pack has evolved and is now a multi-pack supporting additional Sega titles. Adrian Smethurst created a patch for Super Hang-On and Limited Edition Hang-On to improve free play mode.

Originally, with free play mode selected by the dip switches, the game would never enter attract mode. It immediately went to the class selection screen when a game was over. If unattended, it would time out and go to the music selection screen. If still unattended, it would time out and start a game; the game (and music) would play until the game timer expired, after which the cycle would start again at the class selection screen.

Improved free play mode DOES allow attract mode (no automatic credit is given). To begin a game in free play mode, simply press the START button whenever it is flashing. This "coins up" the game, and proceeds to the class selection screen.

In addition, the OutRun Enhanced patches can now be applied to the original Japanese rom set with the alternate track layouts.

The patches to run Enduro Racer on the Space Harrier hardware are also included for convenience.

Download the package from here

Monday, July 14, 2014

Tile Editing

One of the problems with CannonBall feature development is that many of the remaining tasks are hard to achieve. Take the music selection screen for example; it's one of the parts of the game that isn't widescreen and remains letterboxed.

Now it would be easy to simply drop in a replacement graphic at this point and bypass the original code to display it. In fact many people have sent me such an image over the last couple of years in the hope I would do just that. But that's not really true to the ethos of what CannonBall is about. The real solution is to extend the original tilemap and use the tile layer to render the screen, rather than hack in a replacement.

Unfortunately, this approach needs a full tile editing tool, which is a rather complex way of achieving something that will look no different to the end user. Nevertheless, I'm writing such a tool so that tilemaps can be edited, new tiles created and the screen finally widened.

Currently I have the ability to import the music selection tilemap, edit tile data and edit tile maps. I'm in the process of creating the new tiles to extend the image to widescreen. As you can see above, the right hand side is relatively easy to extend and I'm just starting to tackle the more complex five columns on the left hand side. 

OutRun contains plenty of unused tiles, which can be replaced for this purpose. For example, the larger Space Harrier font exists in the tileset, which is of course unused. 

Now that tiles can be edited, I can also move on to create HUD graphics for the High / Low gear change, a MPH display and so forth. The next version of CannonBall will feature these improvements. 

UPDATE: And here is the final result in CannonBall. The observant among you will notice that I've based the new tilemap on the 3DS version. 

It was a lot of work for something that looks simple. One of the complications with the System 16 tilemap format is that bits have a shared usage, that I'd previously overlooked. After all, the complications of it don't really matter when simply rendering existing data. For example a typical word of the tilemap is configured as follows:

 MSB          LSB
 ---nnnnnnnnnnnnn Tile index (0-8191)
 ---ccccccc------ Palette (0-127)
 p--------------- Priority flag
 -??------------- Unused

As the index and palette share bits, this locks tiles to certain palettes dependent on their index. Therefore the previously identified unused tiles are not usable. Instead the new tiles end up being scattered through the tilemap from location 4096 onwards. I also had to create new palette entries to map to these tiles.

This explains why Sega games have tile duplication, where the same tiles appear multiple times in the graphic roms. It enables them to be used with multiple palettes. In practice I can't help but think it would have been simpler to double the tilemap memory, thus giving the palettes their own distinct bitrange and avoiding tile duplications. I guess this may have been a cost saving measure.

Tuesday, July 08, 2014

OutRun Unidesa PCB

Here are some relatively high quality photos from the Outrun PCB manufactured under license by Sega to the Spanish company Unidesa. You can click on the images for a larger version and then right click to save a high quality version.

Close up of the top left of the CPU PCB

Manufactured 5th May 1987

The main difference with the licensed PCB is the ribbon cable used to connect the two boards, as opposed to the direct connector on the original. 

The connectors are also slightly different, although I believe they are wired the same. The black connectors below are the power connectors for the two boards. 

Here are the connectors on the video board:

Here is a picture of the top CPU PCB. I haven't separated the boards to get a shot of the Video PCB yet.

I haven't powered up the board yet, but I'm told the ROMs are identical to the standard Revision B version. More information on this version of OutRun can be found here.

Tuesday, July 01, 2014

OutRun Enhanced Edition 1.10

A new version of OutRun Enhanced Edition is out. This is the enhanced version of the original OutRun ROMs, designed to be programmed and used with the original hardware. This version includes some new features and fixes from Adrian Smethurst.

There are selectable timing system fixes; 60 seconds on the lap timer represents 60 genuine seconds in real-time and the correct time when passing the Checkpoint when EXTEND TIME is shown.
The timing system fixes can be toggled in the Diagnostics mode in the Dip Switch assignments screen by moving the gear stick. Your choice will be backed up when the machine is powered down.

There are improvements to high-score inital entry system. Backspace can be used over the final initial to match many other Sega titles.

The Last Wave music is also added as an option to the sound test menu.

The timing system fixes will also feature in the next version of CannonBall too for those interested.