Prev: E058 Up: Map Next: E0A9
E064: Print Status Bar Icons
Used by the routines at InitialiseGame and PrintStatusBar.
PrintStatusBarIcons E064 LD HL,$F15B Write F15B (Graphics_Spark) to *CHARS.
E067 LD ($5C36),HL
Set up the screen buffer position.
E06A LD C,$21 Set up the screen buffer location 01/21 using CL_SET.
E06C LD B,$01
E06E CALL $0DD9
Skip showing any lives if the player is using their last life.
E071 LD A,($5BF1) Jump to PrintKeyIcon if *PlayerLives is equal to 00.
E074 CP $00
E076 JR Z,PrintKeyIcon
Display a life icon for each life the player has.
life
E078 LD B,A B=PlayerLives (number of lives counter).
PrintLifeIcon_Loop E079 LD A,$21 A=Player life icon (21).
E07B CALL PrintColourCharacter Call PrintColourCharacter.
E07E DJNZ PrintLifeIcon_Loop Decrease lives counter by one and loop back to PrintLifeIcon_Loop until all lives have been printed.
Put a space between the lives and the key icon.
Restore the default ZX Spectrum font.
PrintKeyIcon E080 LD HL,$3C00 Write 3C00 (CHARSET-0100) to *CHARS.
E083 LD ($5C36),HL
E086 LD A,$20 A=ASCII "space" (20).
E088 CALL PrintColourCharacter Call PrintColourCharacter.
Set up the screen buffer position.
E08B LD C,$1D Set up the screen buffer location 01/1D using CL_SET.
E08D LD B,$01
E08F CALL $0DD9
E092 LD HL,$F15B Write F15B (Graphics_Spark) to *CHARS.
E095 LD ($5C36),HL
Display the key icon.
key
E098 LD A,$22 A=Key icon left (22).
E09A CALL PrintColourCharacter Call PrintColourCharacter.
E09D LD A,$23 A=Key icon right (23).
E09F CALL PrintColourCharacter Call PrintColourCharacter.
Restore the default ZX Spectrum font.
E0A2 LD HL,$3C00 Write 3C00 (CHARSET-0100) to *CHARS.
E0A5 LD ($5C36),HL
E0A8 RET Return.
Prev: E058 Up: Map Next: E0A9