+;--------------------------- show icon ----------------------------------------
+
+disp_icons:
+ ld hl,VIDEO_MEM+(16*57);57 rows down = seven rows from bottom
+ ld b,16*7 ;draw 16x (screen width) 7x (height)
+cleanline:
+ ld a,%00000000 ;blank line mask
+ ld (hl),a ;draw one piece of the divider-line
+ inc hl ;move right (8 pixels = 1 byte)
+ djnz cleanline ;repeat (16bytes * 7rows * 8pixels)
+
+ ld hl,VIDEO_MEM+(56*16)
+ ld (PutWhere),hl
+
+ call disp_lives
+
+ ld ix,spr_icon01 ;armorIcon
+ ld de,$1a01 ;icon #1
+ call putwidesprite ;display icon
+ call disp_armor ;display value
+
+ ld ix,spr_icon00
+ ld a,(torp_occ)
+ or a
+ jr z,no_torp
+ ld ix,spr_icon02 ;torpedoIcon
+no_torp:
+ ld de,$2a01 ;icon #2
+ call putwidesprite ;display
+
+ ld ix,spr_icon00 ;
+ ld de,$3a01 ;icon #3
+ call putwidesprite
+ ld ix,spr_icon00 ;emptyIcon
+ ld de,$4a01 ;icon #4
+ call putwidesprite
+ ld ix,spr_icon00 ;emptyIcon
+ ld de,$5a01 ;icon #5
+ call putwidesprite
+
+ ld a,(your_pickup) ;pickups taken
+ add a,a ;picks*2
+ ret z ;return if no pickups
+ add a,a ;picks*4
+ add a,a ;picks*8
+ add a,a ;picks*$10
+ add a,$0a ;add 0ah
+ ld d,a ;y-pos = picks * $10 + $0a (1a,2a,3a,4a,5a)
+ ld e,$01 ;x-pos = bottom (1a01,2a01,3a01,4a01,5a01)
+
+ ld ix,spr_icon
+ call putwidesprite
+ ret
+
+disp_armor:
+ ld hl,$3926 ;Display Armor left
+ ld (_penCol),hl ;place @ armorIcon
+ ld a,(your_armor) ;load armor left
+ add a,'0' ;make digit
+ call _vputmap ;display char
+ ret
+
+disp_lives:
+ ld hl,$3900 ;display Lives
+ ld (_penCol),hl ;bottom left
+ ld hl,savestr+2
+ ld (hl),'L'
+ inc hl
+ ld (hl),'x'
+ inc hl
+
+ ld a,(lives) ;nr of lives in a
+ add a,'0' ;make digit
+ ld (hl),a
+ dec hl \ dec hl
+ call _vputs ;display on screen
+ ret
+
+;--------------------------- game over / new game / death ---------------------