© 2011 by C. White & D. Finck
Please also visit Chris' Blog
OutRun: Enhanced Edition is strictly a non-profit project. OutRun: Enhanced Edition is free. Its source code is free. Selling it is not allowed. SEGA's ROM images are copyrighted material. They cannot be distributed without the explicit permission of the copyright owner. No portions of the original game code are included in this package. Please see the included license for further details. OutRun is a trademark of the SEGA Corporation. This project is not affiliated with SEGA in any way.
This is an updated version of OutRun, Sega's seminal arcade racer. It is intended to be programmed to EPROMs and used with the original arcade hardware.
Originally, the game only stored a small amount of bookkeeping data in the "backup RAM". This enhanced version uses some of the significant amount of unused capacitor-powered low-power RAM present to store the high-score table.
OutRun uses a 0.1F capacitor to provide power to the RAM. Under normal conditions, it can only be expected to provide power for about one week between power cycles. This doesn't mean it will only back-up the high-scores for only one week; it means you'll need to power up the game every week or so to prevent their loss.
YMMV, as it will depend on the power consumption of your RAM ICs, the condition of your capacitor, ambient temperature, etc.
Note: the back-up time may be improved by installing a larger super-capacitor (e.g. 0.5F or 1.0F) or possibly a battery-pack.
If the high-score table becomes corrupted, or the user wishes to erase or reset them, enter diagnostic mode and perform a BACK UP RAM CLEAR. This will reset the high score table to the factory defaults.
Originally, with freeplay mode selected by the dipswitches, the game would never enter attract mode. It immediately went to the music selection screen when a game was over. If unattended, it would time out and start a game; the game (and music) would play, after which then the cycle would start again at the music selection screen.
Improved freeplay mode DOES allow attract mode (no automatic credit is given). To begin a game in freeplay mode, press the START button. This "coins up" the game, and proceeds to the music selection screen.
Note: Freeplay attract mode will only occur when there are NO CREDITS; if multiple credits are inserted, the game will still automatically start until no credits remain.
This version allows you to preview the music selected before starting the race. The original only played the "waves" sound on this screen.
An optional enhancement to display your speed in MPH rather than km/h. This feature can be enabled by setting dipswitch B, position 4.
A bug occurred with the dipswitches set to have attract mode audio ("advertise sound") OFF.
During attract mode, occationally the Ferrari would be mid-crash when the demo paused to display the title screen. This would sometimes cause emission of a brief tire-screeching sound. This bug has been fixed in the the enhanced edition.
This tile appeared in the far left hand column. It may have been visible depending on your monitor configuration.
When running the memory test, the program ROMs were misreported. Each pair of interleaved ROMs was reversed. This version will report the correct ICs as either good or bad.
You will need the following original "Out Run (sitdown/upright, Rev B)" ROMs to patch:
epr-10380b.133 (CRC: 0x1f6cadad) epr-10381b.132 (CRC: 0xc4c3fa1a) epr-10382b.118 (CRC: 0xbe8c412b) epr-10383b.117 (CRC: 0x10a2014a)Place these files in the 'rominjector\in' subdirectory. Name them as above.
There are two patching options which are listed below.
The first option involves using the 'bspatch' utility which you can download from here: http://www.daemonology.net/bsdiff/
You can find the appropriate patches in the 'bspatch' subdirectory of this package. You will need to execute bspatch as follows:
bspatch [oldFile] [newFile] [patchFile]bspatch epr-10380b.133 epr-10380b.133.new patch-epr-10380b.133 bspatch epr-10381b.132 epr-10381b.132.new patch-epr-10381b.132 bspatch epr-10382b.118 epr-10382b.118.new patch-epr-10382b.118 bspatch epr-10383b.117 epr-10383b.117.new patch-epr-10383b.117
The second option provides more flexibility and uses a custom tool that is included with this package.
Firstly, ensure you have java installed. (http://java.com to install).
Execute 'RomInjector' by clicking the 'run.bat' file in the 'rominjector' subdirectory.
If execution has been successful you should see the following output:
RomInjector: Verify roms... RomInjector: Read and patch data... RomInjector: Write Checksums... RomInjector: Write roms...
Your new files can be found in the 'rominjector\out' subdirectory.
Compatibility with various ROM versions is as follows:
In general, if your game shows the text "SELECT MUSIC BY STEERING" on the screen during the music selection screen, it should be compatible.
For existing Rev A & Rev B romsets, simply use the 4 files generated in the 'rominjector\out' subdirectory.
For the third revision above, you will also need to program and install updated sub-CPU files from the Rev A or B romset (these do not need to be patched):
epr-10327a.76 (CRC: 0xe28a5baf) epr-10329a.58 (CRC: 0xda131c81) epr-10328a.75 (CRC: 0xd5ec5e5d) epr-10330a.57 (CRC: 0xba9ec82a)
All output ROM files are 64kB, and require 27C512 EPROMs.
Install the programmed EPROMs at their repsective locations in on the main CPU PCB: IC117, IC118, IC132 & IC133.
The in-game music would continually play throughout attract mode if you failed to achieve a highscore. Now the in-game music is stopped at game over.
This issue was present in the original game, but the music would eventually stop during attract mode when the Best Outrunners screen displayed. It could arguably be considered a bug in the original game too. Please note, that if you achieve a high score, Last Wave is correctly played into attract mode as per the original game.
Note that if you are upgrading from the previous version (1.0.0), you only need to re-program IC 118 and IC 133.
Chris fixed sprite zoom lookup table. This was a bug in the original game code.
Chris fixed some audio percussion samples, as well as a sprite X-Position wrapping bug (a bug in the original OutRun code).
Note that none of the original game code is included in the package. Only tools to patch original ROMs with our new code.