Patent 4162792 for Mattel's Auto Race and Football games includes the text "...part of the file wrapper of this application is a computer program...." I ordered a copy of the file wrapper from the patent office and found 6502 source code.
Unfortunately, the source code in the patent file wrapper is incomplete and it looks like the code was being converted from one assembler format to another. Initializers and data tables are missing, labels were being reduced to 6 characters in length, there are some typos, and some of the code isn't in a working state. The data for the sounds (whistles and "Charge!") is missing, so I captured the piezo output from a Mattel Football game and converted that.
There's no schematic or parts list, so I figured out the hardware by reading the comments and looking at the addresses used. Then I designed a compatible setup and built it on perfboard with point-to-point wiring. I took a couple of shortcuts; I used a GAL for the glue logic to reduce the parts count, and I used an LED display from a generic football clone game. I connected the piezo to a 6532 output. I wrote some test code to make sure the hardware was working like I expected, then modified the game source code until it worked. I had to debug a few problems by capturing the address bus with a Saleae Logic 16 and following along in the source code. And I had to figure out some initial variable values through trial and error. I think the "clock tick" sound can be improved by changing some variable values, and sometimes a ghost 6th defender temporarily appears.
Here is my source and my binary.
Here's how I hooked up the parts.
Here is the PLD file for the GAL and the JED.
top of my board
bottom of my board
back to chip decap page
back to Arcade Game Info page
back to Home page