Astro Blaster Secret Bonus 01

Secret Bonus Number 01

Finding the long-lost secret bonus in Astro Blaster

By Don Hodges

Started 1/14/2008
Last update 02/18/2017


A few years back I compiled a list of the known secret bonuses in Astro Blaster.  Here is what I came up with:

Number 03, bonus 1000 points. Shoot all enemies without missing.
Number 04, bonus 700 points. Shoot all enemies before they wrap around to the other side of the screen, during waves that have the enemies that fly horizontally or diagonally.
Number 09, bonus 500, 700, 900, 1000 or 1500 points. Don't move at all when docking with the mother ship (1000 points for a PERFECTLY centered approach, 1500 points for 'the paint scraper', when you brush a docking clamp of the mother ship).
Number 12, bonus 700 points. Shoot all enemies before any escape the screen through the bottom (certain waves only).
Number 13, bonus 500 points. Shoot all enemies in proper order in sector 1.
Number 14, bonus 1000 points. Shoot all enemies in proper order in sector 2.
Number 15, bonus 1500 points. Shoot all enemies in proper order in sector 3.
Number 16, bonus 2000 points. Shoot all enemies in proper order in sector 4.
Number 17, bonus 2500 points. Shoot all enemies in proper order in sector 5.
Number 18, bonus 3000 points. Shoot all enemies in proper order in sector 6.
Number 19, bonus 3500 points. Shoot all enemies in proper order in sector 7.
Number 22, bonus 600 points. Never get laser temperature critical during the sector (awarded before docking).
Number 25, bonus 500 points. Not dying during the sector (awarded before docking).

After creating the list, I added it to the arcade-history website's entry for Astro Blaster.  As we can see, the list is missing entries for bonuses 01, 02, 05-08, 10, 11, 20, 21, 23, and 24  I posted a question to a mameworld message board, asking for more info.  None came.  Internet searches, then and now, come up with no new information on these missing secret bonuses.

So I decided to examine the game's code to see if I could find the remaining bonuses.  Here is what I found.

Let's look at the setup for a typical known, existing bonus, the one for bonus #04:

2C37: 3A 56 CD 	LD A,($CD56)	; Load A with exit screen counter
2C3A: B7 	OR A		; Is this award to be given?
2C3B: C2 45 2C 	JP NZ,$2C45	; No, do next test
2C3E: 06 07 	LD B,$07 	; Set points at 700
2C40: 0E 04 	LD C,$04 	; Set bonus number #04
2C42: CD 4D 31 	CALL $314D 	; Display secret bonus #04 for shooting all before exiting

Comparing all the calls to the subroutine at $314D, which displays the secret bonuses, we discover a call for a secret bonus numbered 01.

3A64: 3A 60 	CD LD A,($CD60)	; Load A with the bonus #01 indicator
3A67: B7 	OR A		; Is there a bonus #01?
3A68: C2 72 3A 	JP NZ,$3A72	; No, jump ahead
3A6B: 06 14 	LD B,$14 	; Yes, load B with #14 (20 decimal) for 2,000 points
3A6D: 0E 01 	LD C,$01 	; Set bonus number #01
3A6F: CD 4D 31 	CALL $314D 	; Display secret bonus #01 for doing something.

The highlighted line of code is the important one that shows us a bonus that is unknown, number 01.  Next, we must find out what will trigger this bonus.  Running a watch point on memory location #CD60 during play reveals the answer.   It turns out this bonus is given for not missing any fireballs, during the final wave of each sector in the asteroid field.

Astro Blaster Secret Bonus Number 01

At first this appears to be an extremely difficult task, if not near impossible, to accomplish.  This may explain the fact that there is nothing on the Internet anywhere [according to my latest searches anyway - maybe I just missed it?] about any secret bonus #01 for Astro Blaster.

After some experimenting we discover that the counter which checks for this bonus is reset each time the player's ship is destroyed.  So, an easy way to achieve the bonus can be done by sacrificing a life at the very end of the asteroid field, and then using the warp on the rest of the shortened sector.  I have uploaded a youtube video showing the feat:

aAlso, there is a strange quirk in the following segment that I can't seem to account for.  It is in the subroutine that checks for secret bonuses 13 through 19, awarded for shooting enemies in the proper order.  It also checks for secret bonus number 20.

2C53: 3A 59 CD 	LD A,($CD59) 	; Load A with check for shooting enemies in proper order
2C56: B7 	OR A 		; Check for match
2C57: C2 7D 2C 	JP NZ,$2C7D 	; No, jump out
2C5A: 3A 7B C9 	LD A,($C97B) 	; Yes, load A with 2nd check for shooting enemies in proper order
2C5D: E6 81 	AND $81 	; Check for match
2C5F: CA 7D 2C 	JP Z,$2C7D 	; No, jump out
2C62: 3A 7C C9 	LD A,($C97C) 	; Yes, load A with sector number
2C65: 0E 20 	LD C,$20 	; Load C with #20 for bonus number 20
2C67: FE 08 	CP $08 		; Compare sector number with 8
2C69: CA 70 2C 	JP Z,$2C70 	; If equal skip next 3 steps
2C6C: 0E 12 	LD C,$12 	; Else load C with 12
2C6E: 81 	ADD A,C 	; Add wave number.  C is now between 13 and 19
2C6F: 4F 	LD C,A 		; Store C as bonus number based on wave
2C70: 3A 7C C9 	LD A,($C97C) 	; Load A with sector number
2C73: 47 	LD B,A 		; Copy to B
2C74: CB 27 	SLA A
2C76: CB 27 	SLA A		; Multiply A by 4
2C78: 80 	ADD A,B		; Add one.  Now A is 5 times the level
2C79: 47 	LD B,A 		; Set bonus score based on wave
2C7A: CD 4D 31 	CALL $314D 	; Add score for secret bonus #13 through #20

After looking closely at the code (refer to the highlighted lines), we see it loads the bonus number with 20 (one of the missing bonuses) and checks to see if its on sector number 8, in order to award it.

Wait, this game doesn't have 8 sectors, it has 7.

When playing this game, when a player completes sector 7, the game repeats itself again starting at sector 1.  However, during the attract mode, the game cycles through 8 sectors instead of just 7.

There does not appear to be any way for a player to reach sector 8 during a regular game.  Using a MAME cheat, we can force to 8 the memory location that is used for the sector and observe what happens when playing in sector 8. The following MAME cheat can be used to access sector 8:

:astrob:00000000:C97C:00000008:FFFFFFFF:Play Sector 8

Learn about MAME cheats at

Sector 8 is playable; it is programmed to play the last six waves of sector 5, and during this sector, players can achieve secret bonus #20 for 4,000 points.  This is the highest scoring secret bonus of the lot.  It is awarded the same way as bonuses 13 through 19, by destroying all the enemies of a wave in a certain order.

Here is a screen shot of secret bonus number 20:

Astro Blaster Secret Bonus Number 20

Comments and Conclusions

It would be cool if there was something the player could do to get to sector 8 without hacking.  However, close analysis of the code does not show anything to indicate that this is possible.

Further analysis of the game code does not seem to reveal any other unknown secret bonuses.  My guess is that the other secret bonuses existed at some point in the game's development, but were taken out before the game was released.  Also, it appears that initially there were 8 sectors to play through, and this was changed to 7 at some point before release.  The code which plays sector 8 is still there and is easily seen during the attract mode.

So, we can add the following two bonuses to the list, making the secret bonus list for Astro Blaster complete, at least as far as I can tell:

Number 01, bonus 2000 points. Shoot all fireballs in the asteroid belt.
Number 20, bonus 4000 points. Shoot all enemies in proper order in sector 8. (can only be achieved by hacking the game to play sector 8?)

Coming Next:  Debunking the myth that you can get extra shields by shooting Darth Vader 30 times in Star Wars.



In accordance with Title 17 U.S.C. Section 107, some of the material on this site is distributed without profit to those who have expressed a prior interest in receiving the included information for research and educational purposes. For more information go to: If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner.


All content Copyright © 2008 Don Hodges
Various logos are trademarks of their respective companies.
Send Email to Don Hodges