The source code for famed arcade bastard Defender has been posted to Github
Careful with that spike, Eugene.
Defender is an arcade classic and one of the most successful titles from what is now called the golden age of the arcades. Released in 1980, it was the first videogame co-designed by Eugene Jarvis and he was one of a team of four coders that developed it for the pinball company Williams (following the success of Space Invaders, it wanted to get into the arcade market).
You could tell that Defender was made by pinball designers, primarily because it was very fast, and very difficult. Jarvis is a designer of genius but he was also used to designing products where a high level of player skill and a desire for mastery could be taken for granted. His games never lost this quality, even though they somewhat softened over time: Robotron 2084 was still insanely difficult, while NARC and Smash TV gobbled up your lives like nobody's business.
Anyway: the source code for Defender has now been posted to Github. This is the code for the 'Red Label' version of the game, one of four versions distributed to arcades, and comes with some amusing notes on assembly from Mr Jarvis himself (or 'Dr J').
TO ASSEMBLE THE DEFENDER MESS
RASM PHR2,DEFA2,DEFB2,AMODE0;-X (ELSE CREF SYMBOL OVERFLOW)
RASM PHR2,SAMEXPA7
RASM PHR2,DEFA2,DEFB2
The biggest gaming news, reviews and hardware deals
Keep up to date with the most important stories and the best deals, as picked by the PC Gamer team.
TO GET THE DIAGS, CHAIN ALL.CF
LOAD IT ALL AND THEN PRAY IT WORKS
(NOTE: BEWARE OF ORDER OF LOADING
LOOK OUT FOR THE SELECTED BLOCK SHIT
DR J. 1/21/81
Retired coder James Cuff has been digging through the code, and found some interesting remnants of Williams' pinball heritage, with entries for a ball timer and the number of balls played (there are of course no balls in Defender).
You can also see the history of Williams as a pinball company. Balls played and ball timer. Lots of other fun cut and paste code in here. Use the code Luke :-) pic.twitter.com/sdGXR88C2iJuly 13, 2021
Cuff also found some amusing notes-to-self in what looks like the code for the game's 'attract' mode (the demo that arcade machines play to entice players). First it's 'Time to blow up the enemy' then a line later 'Blow up the bastard', before 'Move to the man'. Some element of it was 'For Eugene', before the machine has to 'Make it faster' then 'Put it back'.
I popped a line to Eugene Jarvis' current company to see what he thought about all this, and will update with any response. His name may not be familiar to younger readers, but this guy is one of the greats of the arcade even if, as he admitted in this old interview with Gamasutra, "I'm always trying to duplicate the success of Defender. It's like I'm kind of doomed to never have that level of success again, and I keep dreaming."
He's probably a fan, though. "I always think that MAME has been a wonderful thing, too, in preserving the heritage of games. Graphics have moved on and gameplay has moved on, but it's fun to see and play [old games] and see the history of the business. It's a history lesson that's great entertainment in its own right."
Rich is a games journalist with 15 years' experience, beginning his career on Edge magazine before working for a wide range of outlets, including Ars Technica, Eurogamer, GamesRadar+, Gamespot, the Guardian, IGN, the New Statesman, Polygon, and Vice. He was the editor of Kotaku UK, the UK arm of Kotaku, for three years before joining PC Gamer. He is the author of a Brief History of Video Games, a full history of the medium, which the Midwest Book Review described as "[a] must-read for serious minded game historians and curious video game connoisseurs alike."