Debunking The Myth That You Can Win
Extra Shields In Star Wars
By Shooting Darth Vader's Ship 30+ Times
By Don Hodges Posted 7/5/2009
Updated 8/14/2015
Hit Vader 30 times and you will be rewarded? I think not. The excellent 1983 arcade game,
Star Wars, was made by
Atari.
For many years there have been rumors circulating that if a skilled player is
able to shoot Darth Vader's ship 30 times, presumably in a single round, he would be rewarded with extra
shields. The number of shields awarded would be 27, but on rare occasions
it could be 255 shields. For those who don't know, this game
consists of three stages. In the first stage, a player pilots an X-Wing
fighter against 3 enemy ships, which can either be 3 TIE Fighters, or 2 TIE
Fighters and Darth Vader in his special ship. The player has
about 30 seconds in this stage to shoot as many enemy ships as possible.
The enemies also shoot back in the form of slow moving fireballs which must
either be evaded or shot down and destroyed by the player. Enemy TIE fighters will
explode when hit. Darth Vader cannot be killed - hits landed on his ship
will award 2,000 points and stun Vader's ship for about 1 second. While Vader's ship is
stunned, it flashes from green to white and back, and it ceases shooting fireballs at the
player. Also, during this time, any more player lasers that hit Vader's
ship will have no effect; they will score no points, nor will they increase the
amount of time that the ship is stunned. The player must wait for the stun
effect to wear off before being able to register a hit on it again.
Vader's ship has been hit and is flashing white.
Let the Debunk Begin
To debunk this myth, I offer the following points of evidence. 1.
There is simply not enough time to accomplish the feat. The round offers
about 30 seconds of gameplay before it ends. A skilled player would have to shoot Vader an average of once
per second. Even the most skilled of players would not be able to do this.
2. The game's software is hard coded to allow a maximum of 9 shields for
the player. This is extremely important because the subroutine which draws
the number of shields at the top of the screen goes haywire if more than 9
shields are drawn. This is easily seen by using a cheat code and setting
the shields to 27 while playing
this game in the MAME emulator:
Using a MAME cheat to set the shields to 27 shows buggy behavior. 3. Further analysis of the
game's code does not reveal any other locations where 27 or 255 [or any other
number, for that matter] are added to the player's shields. The only part
of the game's program code that ever add to the shields are those that run at
the end of a wave, and those instructions are careful
to make sure that the player never has more than 9 shields. 4.
Code analysis shows that while the game does keep track of how many times
Vader's ship has been hit [memory address #493A], it does not use this
information for anything. 5. When shields are lost during
the game, the game's program subtracts 1 from the number of shields. Since
the player is allowed to have 0 (zero) shields, when checking for game over, the
game's code checks
to see if the negative flag has been set, and if it has, to end the game.
The result of this is that any number of shields that a player might obtain that
are between 128 and 255 trigger an immediate game over. This is easy
to verify using a MAME cheat to set the shields to a number in this range.
So, even a properly written subroutine that might add 255 shields and check for
overflow, could only award a max shield total of 127 without the game ending
immediately. 6. Using a MAME cheat, we can cause the
program to play this stage of the game for an unlimited time, instead of the
usual 30 seconds. Doing this, it becomes possible to land 30 or more hits
on Vader's ship [it usually takes many minutes to do] and discover that no extra
shields are awarded. I think of all the points listed here, this one is
the most conclusive of them all. The MAME cheat code to allow
infinite time follows: [NOTE: this only works
in MAME version .126 and lower. add this line to the end of your cheat.dat file]
:starwars:20000000:68C3:00000020:000000FF:Infinite Time In Space
Learn about MAME cheats at
http://cheat.retrogames.com With all of the evidence noted
above, therefore, I submit that this legendary classic arcade game video game
myth be buried forever as the urban legend that it is. Q.E.D.
|