Notes:Bomb Jack (Arcade)

Bonus Life code:

5A07: C9           ret			;This routine has been dummied out. Change to push af (E5). 5A08: C5           push bc		;Push BC. 5A09: D5            push de		;Push DE. !CHECK BONUS LIFE TEMP VAR 5A0A: 3A AE 81     ld   a,($81AE)	;Set A to Bonus Life Temp Var. 5A0D: FE FF        cp   $FF		;Check if Temp Var is set to FF. 5A0F: CA E3 5A     jp   z,$5AE3	;If true, jump out. No more bonus lives this game. !CHECK DIP SWITCH SETTINGS 5A12: 3A 14 80     ld   a,($8014)	;Set A to Dip Switch 2 settings. 5A15: E6 07        and  $07		;AND with 07 - Get the Extra Life settings. 5A17: FE 00        cp   $00		;Check if it's set to "None" 5A19: 20 03        jr   nz,$5A1E	;If not, jump. 5A1B: C3 E3 5A     jp   $5AE3		 ;Jump out of subroutine - no extra lives. 5A1E: FE 01        cp   $01		;Is the Bonus Life setting "Every 100k?" 5A20: 20 05        jr   nz,$5A27	;If it's not, jump to next check. 5A22: 06 0A        ld   b,$0A		 ;Set Bonus Life Value No.1 to 0A (100k). 5A24: C3 59 5A     jp   $5A59		 ;Jump to "Bonus Life - Variable" point. 5A27: FE 02        cp   $02		;Is the bonus life setting "Every 30k?" 5A29: 20 05        jr   nz,$5A30	;If it's not, jump to next check. 5A2B: 06 03        ld   b,$03		 ;Set Bonus Life Value No.1 to 03 (30k). 5A2D: C3 59 5A     jp   $5A59		 ;Jump to "Bonus Life - Variable" point. 5A30: FE 03        cp   $03		;Is the bonus life setting "50k only?" 5A32: 20 05        jr   nz,$5A39	;If it's not, jump to next check. 5A34: 06 05        ld   b,$05		 ;Set Bonus Life Value No.1 to 05 (50k). 5A36: C3 69 5A     jp   $5A69		 ;Jump to "Bonus Life - One Only" point. 5A39: FE 04        cp   $04		;Is the bonus life setting "100k only?" 5A3B: 20 05        jr   nz,$5A42	;If it's not, jump to next check. 5A3D: 06 0A        ld   b,$0A		 ;Set Bonus Life Value No.1 to 0A (100k). 5A3F: C3 69 5A     jp   $5A69		 ;Jump to "Bonus Life - One Only" point. 5A42: FE 05        cp   $05		;Is the bonus life setting "50k and 100k?" 5A44: 20 07        jr   nz,$5A4D	;If it's not, jump to next check. 5A46: 06 05        ld   b,$05		 ;Set Bonus Life Value No.1 to 05 (50k). 5A48: 0E 0A        ld   c,$0A		 ;Set Bonus Life Value No.2 to 0A (100k). 5A4A: C3 7A 5A     jp   $5A7A		 ;Jump to "Bonus Life - Two Only" point. 5A4D: FE 06        cp   $06		;Is the bonus life setting "100k and 300k?" 5A4F: C2 9F 5A     jp   nz,$5A9F	;If it's not, jump to "Bonus Life - 50k, 100k, 300k" point. 5A52: 06 0A        ld   b,$0A		 ;Set Bonus Life Value No.1 to 0A (100k). 5A54: 0E 1E        ld   c,$1E		 ;Set Bonus Life Value No.2 to 1E (300k). 5A56: C3 7A 5A     jp   $5A7A		 ;Jump to "Bonus Life - Two Only" point. !BONUS LIFE - VARIABLE 5A59: 16 00        ld   d,$00		;Set D to 00. 5A5B: 3A AD 81     ld   a,($81AD)	 ;Set A to Bonus Life Counter. 5A5E: B8           cp   b		 ;Check is player has reached the requisite number of points. 5A5F: DA D4 5A     jp   c,$5AD4	 ;If so, jump to "Bonus Life Incrementing" point. 5A62: 14           inc  d		 ;Increment D. 5A63: 90            sub  b		 ;Subtract 1 from B. 5A64: 32 AD 81      ld   ($81AD),a	 ;Set Bonus Life Counter to A. 5A67: 18 F2         jr   $5A5B		 ;Jump back and check again. !BONUS LIFE - ONE ONLY 5A69: 3A AD 81     ld   a,($81AD)	;Set A to Bonus Life Counter. 5A6C: B8           cp   b		;Check if player has reached the Bonus Life value. 5A6D: DA E3 5A     jp   c,$5AE3	;If not, branch out. 5A70: 16 01        ld   d,$01		 ;Set D to 01. 5A72: 3E FF        ld   a,$FF		 ;Set A to FF. 5A74: 32 AE 81     ld   ($81AE),a	 ;Set Bonus Life Temp Var to FF. 5A77: C3 D4 5A     jp   $5AD4		 ;Jump to "Bonus Life Incrementing" point. !BONUS LIFE - TWO ONLY 5A7A: 16 00        ld   d,$00		;Set D to 00. 5A7C: 3A AE 81     ld   a,($81AE)	;Set A to Bonus Life Temp Var. 5A7F: FE 01        cp   $01		;Check if the player has recieved an extra life for the first Bonus Life value. 5A81: 28 0D        jr   z,$5A90	;If true, don't bother checking it again. 5A83: 3A AD 81     ld   a,($81AD)	 ;Set A to Bonus Life Counter. 5A86: B8           cp   b		 ;Check if player has reached the first Bonus Life value. 5A87: DA E3 5A     jp   c,$5AE3	 ;If not, branch out. 5A8A: 14           inc  d		  ;Increment D. 5A8B: 3E 01         ld   a,$01		  ;Set A to 01. 5A8D: 32 AE 81     ld   ($81AE),a	  ;Set Bonus Life Temp Var to 01. 5A90: 3A AD 81     ld   a,($81AD)	;Set A to Bonus Life Counter. 5A93: B9           cp   c		;Check if player has reached the second Bonus Life value. 5A94: 38 3E        jr   c,$5AD4	;If not, jump to "Bonus Life Incrementing" point. 5A96: 14           inc  d		 ;Increment D. 5A97: 3E FF         ld   a,$FF		 ;Set A to FF. 5A99: 32 AE 81     ld   ($81AE),a	;Set Bonus Life Temp Var to FF. 5A9C: C3 D4 5A     jp   $5AD4		;Jump to Bonus Life !BONUS LIFE - 50k, 100k, 300k 5A9F: 16 00        ld   d,$00		;Set D to 00. 5AA1: 3A AE 81     ld   a,($81AE)	;Set A to Bonus Live Temp Var. 5AA4: FE 01        cp   $01		;Check if the player has recieved an extra life for the first Bonus Life value. 5AA6: 28 12        jr   z,$5ABA	;If true, don't check it again. 5AA8: FE 02        cp   $02		 ;Check if the player has recieved an extra life for the second Bonus Life value. 5AAA: 28 1B        jr   z,$5AC7	 ;If true, don't check it again. 5AAC: 3A AD 81     ld   a,($81AD)	  ;Set A to Bonus Life Counter. 5AAF: FE 05        cp   $05		  ;Check if player has reached 50k points. 5AB1: DA E3 5A     jp   c,$5AE3	  ;If not, branch out. 5AB4: 14           inc  d		   ;Increment D. 5AB5: 3E 01         ld   a,$01		   ;Set A to 01. 5AB7: 32 AE 81     ld   ($81AE),a	   ;Set Bonus Life Temp Var to 01. 5ABA: 3A AD 81     ld   a,($81AD)	  ;Set A to Bonus Life Counter. 5ABD: FE 0A        cp   $0A		  ;Check if player has reached 100k points. 5ABF: 38 13        jr   c,$5AD4	  ;If not, jump to "Bonus Life Incrementing" point. 5AC1: 14           inc  d		   ;Increment D. 5AC2: 3E 02         ld   a,$02		   ;Set A to 02. 5AC4: 32 AE 81     ld   ($81AE),a	   ;Set Bonus Life Temp Var to 02. 5AC7: 3A AD 81     ld   a,($81AD)	  ;Set A to Bonus Life Counter. 5ACA: FE 1E        cp   $1E		  ;Check if player has reached 300k points. 5ACC: 38 06        jr   c,$5AD4	  ;If not, jump to "Bonus Life Incrementing" point. 5ACE: 14           inc  d		   ;Increment D. 5ACF: 3E FF         ld   a,$FF		   ;Set A to FF. 5AD1: 32 AE 81     ld   ($81AE),a	   ;Set Bonus Life Temp Var to FF. !BONUS LIFE INCREMENTING 5AD4: 7A           ld   a,d		;Set A to D. 5AD5: FE 00         cp   $00		;Check if player has recieved any bonus lives. 5AD7: 28 0A        jr   z,$5AE3	;If not, branch out. 5AD9: 3A 9B 81     ld   a,($819B)	 ;Set number of lives to A. 5ADC: 82            add  a,d		 ;Add D to A. 5ADD: 32 9B 81      ld   ($819B),a	 ;Give the player the appropriate number of bonus lives. 5AE0: CD F3 4F     call $4FF3		 ;Call (HUD update?) subroutine. 5AE3: D1           pop  de		;Pop DE. 5AE4: C1           pop  bc		;Pop BC. 5AE5: F1            pop  af		;Pop AF. 5AE6: C9           ret			;End of subroutine.
 * 1) BONUS LIVES (SCORE) SUBROUTINE