Javascript Menu by Deluxe-Menu.com

 

 

Wendi Allen
Allen Design

Tel: (408) 204-2447

Midway Logo

 

 

 

 

 

 

 

 

 

"MagicBus" controller for Hydro-Thunder


AsteroidsIn the late 1990's, as coin operated video games migrated away from custom hardware, and toward using general purpose PCs, developers faced an unexpected difficulty. Processing the usual arcade game I/O devices with even the fastest PC left players complaining that the controls just didn't feel responsive enough. And certain embedded tasks, such as debouncing coin switches, were problematic as well. In 1999, I was retained by Midway Games for the purpose of designing an embedded I/O controller. This family of boards, named Diego, Substitute, and MagicBus, provided all of the I/O handling for the PC. Neatly formatted data was sent to the PC over USB, or alternatively, by RS-232.

MagicBus had its own processor, a variant of the 8051 family. It had the ability to connect to 48 digital player switches, 8 analog inputs, several coin switches, and a bill validator. Its output ability included an assortment of LEDs, and high current drivers for incandescent lamps. It also controlled mechanical coin counters, as well as a non-volatile EEPROM for error reporting and for storing player statistics.

As with most of my designs, I wrote the firmware in assembly language. The most challenging task was the handling of the I2C bus. The processor did not have an internal hardware I2C driver, so I needed to "bit bang" two general purpose I/O pins. Complicating the design was the fact that two distinct peripherals used the I2C bus to communicate with the MCU.One peripheral was the USB physical layer interface chip, and the other was an EEPROM. Further complicating the I2C driver was the fact that many operations needed to be done atomically, including read-modify-write of the EEPROM, without interruption. I found it necessary to develop a complex state machine at the highest level, which would keep track of current and pending requests for the bus, prioritize them, and send requests to a lower level routine. That routine, also a software implemented state machine, would track the sequencing of the I2C requests, and feed singular I2C transaction requests to the lowest level hardware driver. It worked!

MagicBus was used in several of Midway's coin operated video games, including HydroThunder and OffRoad Thunder.

 

All trademarks are properties of their registered owners.

 

< Back to Accomplishments Page


HOME l Wendi Allen l Design Services l Accomplishments l Client List l Media Coverage l Links