BattleZone Motor  Jed Margolin

 

Atari’s BattleZone game is considered the first real 3D video game. I did the 3D graphics algorithms and the hardware sounds.

 

This board produces the BattleZone Motor sound using the same circuit I designed for BattleZone except that the engine speed is controlled by a pot instead of a single bit.

 

What?

 

If you have played the original BattleZone you might not have noticed that the motor has only two speeds: Idle and Fast. That is because I had only one hardware bit to control the speed. I used an RC circuit to ramp the voltage up and down to a 555 timer.

 

In this one I use an actual pot. You can use a Trimpot at R20 or a Real Pot (not both). If you use a Real Pot you will have to connect it to the circuit with wires. (There are only three wires.) If you want you can control it with your own voltage (0 - +5V). Trimpot R17 sets the idle frequency.

 

To do the motor sound I used two counters with different cycle rates. One divides by 10, the other divides by 12. Then I add several of the bits together. As you increase the frequency the difference frequency increases. That is what why the throbbing sound (the beat frequency) gets faster with motor speed.

 

 

 

 

I could have done it with a microcontroller such as the Texas Instruments MSP430G2xxx series but then it would have just been a sound from a sound chip.

 

What can you do with the BattleZone motor other than to play with it for a few minutes?

 

1.  Put it on a bicycle with a speed sensor. Add a speaker. The board has an LM386 speaker driver which is good for a few watts.

 

2.  Put it in your electric car. Some time in the 1990s I was walking in a parking lot past a car that I realized was unusually quiet even though it had a gas engine. It was a bright sun-shiny day and if it had backed up I might not have noticed the backup lights. Now there are electric cars that are totally quiet. They (the government) could require electric cars to have a backup beeper but do you want your expensive electric car to sound like a garbage truck? How about a BattleZone tank instead, especially if you have a loud sound system with the bass turned up? You can use a speed sensor or you can control it manually. You can gun the motor when someone walks by. That works too when you are moving forward behind someone. You don’t have to use it all the time, just at slow speeds when pedestrians are around. Use it when you are driving slowly past an elementary school when the kids are out on the playground. That might be fun for everyone.

 

Files:

Schematic: bzmotor_schematic.pdf

Gerber Files: jm_bzr2.zip

Bill of Materials: bzmotor-R2_bom.pdf

 

You can order blank PC Boards from PCBWAY (they will give me a small royalty):

www.pcbway.com/project/shareproject/Atari_BattleZone_Engine_Sound_Generator.html

 

Background:

When the first Star Wars movie came out (summer 1977). I was blown away. I left the theater thinking, “ I have to do a 3D Space War game.”  I had had computer graphics in college and knew how everyone did it. They used homogeneous coordinates which are very computationally intensive. I knew there would be no way to do realtime 3D with homogeneous coordinates in a video game. At the time the computer graphics community was doing what I called Pretty Pictures where it would take a few hours (or many many hours) to render one frame. The only people doing realtime 3D graphics were companies like Singer-Link who did $10M flight trainers for the military. I came up with a different way of doing it that was much less computationally intensive but still did the 3D math exactly right. I called it Unit Vector Math for 3D Graphics (Click Here). My Unit Vector Math is also free of the nasty “axis problem” that Euler function rotations have.

 

When Atari offered me a job as a hardware engineer in the Coin-Op Division that made the games for the arcades I took it (1979).

 

Before I started my 3D Space War game I worked on BattleZone. For that I did a stripped down version of my algorithms.

 

BattleZone was the first 3D game that did real 3D. The “3D” games that had been done did fake 3D.

 

BattleZone was a very successful game.

 

After the game came out we were approached by a group of Army colonels who asked us if we would convert it into a trainer to teach the gunners in the new Infantry Fighting Vehicle (later renamed the Bradley Fighting Vehicle) how to properly fire TOW missiles. It was originally called Army BattleZone and then became the Bradley Trainer. This is a good article about it:  https://arcadeblogger.com/2016/10/28/bradley-trainer-ataris-top-secret-military-project/

 

If you are interested in the technical details of the technology used in BattleZone see:

1.  The Secret Life of Vector Generators: Click Here.

2.  The Secret Life of XY Monitors: Click Here.

 

Original BattleZone Motor Schematics:   bzmotor-original.pdf

BattleZone - Schematic Package: Click Here

BattleZone Operators Manual : Click Here

 

The reason we used XY (vector) graphics was because in 1981 the memory to do a frame buffer for a raster display was prohibitively expensive.

 

It was in 1981 that IBM came out with its first PC, the IBM 5150 PC. It featured the 4.77-MHz Intel 8088 CPU, and 16 kB base memory. Its retail price was $1,565 in 1981 money.

 

Its only video was a character generator so it didn’t do graphics,

 

When other companies came out with graphics cards they had only a frame buffer. No 3D acceleration. No 2D acceleration. The Programmer had to set each pixel in software. It was way too slow to do realtime 3D. The Apple II (1977) also used only a frame buffer and would have been too slow to do realtime 3D graphics. And it was also too expensive to use in an arcade game.

 

To see what else happened in computer technology in 1981 see this: https://www.computerhope.com/history/1981.htm

 

Happy BattleZone Motoring.

 

Jed Margolin

Virginia City Highlands

Nevada

January 11, 2022