Prev: E064 Up: Map Next: E118
E0A9: Print Status Bar
Used by the routines at InitialiseGame and Handler_Doors.
PrintStatusBar E0A9 CALL Controller_DrawRoom Call Controller_DrawRoom.
Restore the default ZX Spectrum font.
E0AC LD HL,$3C00 Write 3C00 (CHARSET-0100) to *CHARS.
E0AF LD ($5C36),HL
Set up the attributes.
E0B2 LD A,$10 Set INK: YELLOW (06).
E0B4 RST $10
E0B5 LD A,$06
E0B7 RST $10
E0B8 LD A,$11 Set PAPER: *Active_BorderColour.
E0BA RST $10
E0BB LD A,($5BD0)
E0BE RST $10
Set up the screen buffer position.
E0BF LD C,$21 Set up the screen buffer location 01/21 using CL_SET.
E0C1 LD B,$01
E0C3 CALL $0DD9
Print the status bar text at the bottom of the screen.
E0C6 LD B,$20 B=20 (length of status bar string).
E0C8 LD DE,$F2BB DE=Messaging_GameStatusBar.
PrintStatusBar_Loop E0CB LD A,(DE) Fetch a character from *DE and store it in the accumulator.
E0CC INC DE Increment the string pointer by one.
E0CD CALL PrintColourCharacter Call PrintColourCharacter.
E0D0 DJNZ PrintStatusBar_Loop Decrease the string length counter by one and loop back to PrintStatusBar_Loop until the string is printed.
Prints the "Booty" count.
E0D2 LD C,$13 Set up the screen buffer location 01/13 using CL_SET.
E0D4 LD B,$01
E0D6 CALL $0DD9
Store *PlayerBooty in BC so we can use OUT_NUM_1 to print it to the screen.
E0D9 LD BC,($5BF4) BC=*PlayerBooty.
E0DD CALL $1A1B Call OUT_NUM_1.
Prints the "Treasure" count.
E0E0 LD C,$05 Set up the screen buffer location 01/05 using CL_SET.
E0E2 LD B,$01
E0E4 CALL $0DD9
Store *PlayerTreasure in BC so we can use OUT_NUM_1 to print it to the screen.
E0E7 LD BC,($5BF2) BC=*PlayerTreasure.
E0EB CALL $1A1B Call OUT_NUM_1.
E0EE CALL PrintStatusBarIcons Call PrintStatusBarIcons.
E0F1 LD A,($5BF2) Return if *PlayerTreasure is not equal to 00.
E0F4 CP $00
E0F6 RET NZ
This entry point is used by the routine at Handler_Items.
PrintFindTheGoldKey E0F7 LD A,$10 Set INK: WHITE (07).
E0F9 RST $10
E0FA LD A,$07
E0FC RST $10
E0FD LD A,$11 Set PAPER: *ActiveRoom_PaperColour.
E0FF RST $10
E100 LD A,($5BD1)
E103 RST $10
E104 LD B,$02 Set up the screen buffer location 02/21 using CL_SET.
E106 LD C,$21
E108 CALL $0DD9
E10B LD B,$20 B=20 (length of "find the gold key in xx seconds" string).
E10D LD DE,$E6BC DE=Messaging_FindTheGoldKey.
PrintFindTheGoldKey_Loop E110 LD A,(DE) Fetch a character from *DE and store it in the accumulator.
E111 CALL PrintColourCharacter Call PrintColourCharacter.
E114 INC DE Increment the string pointer by one.
E115 DJNZ PrintFindTheGoldKey_Loop Decrease the string length counter by one and loop back to PrintFindTheGoldKey_Loop until the string is printed.
E117 RET Return.
Prev: E064 Up: Map Next: E118