Prev: 57444 Up: Map Next: 57624
57513: Print Status Bar
Used by the routines at InitialiseGame and Handler_Doors.
PrintStatusBar 57513 CALL Controller_DrawRoom Call Controller_DrawRoom.
Restore the default ZX Spectrum font.
57516 LD HL,15360 Write 15360 (CHARSET-256) to *CHARS.
57519 LD (23606),HL
Set up the attributes.
57522 LD A,16 Set INK: YELLOW (6).
57524 RST 16
57525 LD A,6
57527 RST 16
57528 LD A,17 Set PAPER: *Active_BorderColour.
57530 RST 16
57531 LD A,(23504)
57534 RST 16
Set up the screen buffer position.
57535 LD C,33 Set up the screen buffer location 1/33 using CL_SET.
57537 LD B,1
57539 CALL 3545
Print the status bar text at the bottom of the screen.
57542 LD B,32 B=32 (length of status bar string).
57544 LD DE,62139 DE=Messaging_GameStatusBar.
PrintStatusBar_Loop 57547 LD A,(DE) Fetch a character from *DE and store it in the accumulator.
57548 INC DE Increment the string pointer by one.
57549 CALL PrintColourCharacter Call PrintColourCharacter.
57552 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.
57554 LD C,19 Set up the screen buffer location 1/19 using CL_SET.
57556 LD B,1
57558 CALL 3545
Store *PlayerBooty in BC so we can use OUT_NUM_1 to print it to the screen.
57561 LD BC,(23540) BC=*PlayerBooty.
57565 CALL 6683 Call OUT_NUM_1.
Prints the "Treasure" count.
57568 LD C,5 Set up the screen buffer location 1/5 using CL_SET.
57570 LD B,1
57572 CALL 3545
Store *PlayerTreasure in BC so we can use OUT_NUM_1 to print it to the screen.
57575 LD BC,(23538) BC=*PlayerTreasure.
57579 CALL 6683 Call OUT_NUM_1.
57582 CALL PrintStatusBarIcons Call PrintStatusBarIcons.
57585 LD A,(23538) Return if *PlayerTreasure is not equal to 0.
57588 CP 0
57590 RET NZ
This entry point is used by the routine at Handler_Items.
PrintFindTheGoldKey 57591 LD A,16 Set INK: WHITE (7).
57593 RST 16
57594 LD A,7
57596 RST 16
57597 LD A,17 Set PAPER: *ActiveRoom_PaperColour.
57599 RST 16
57600 LD A,(23505)
57603 RST 16
57604 LD B,2 Set up the screen buffer location 2/33 using CL_SET.
57606 LD C,33
57608 CALL 3545
57611 LD B,32 B=32 (length of "find the gold key in xx seconds" string).
57613 LD DE,59068 DE=Messaging_FindTheGoldKey.
PrintFindTheGoldKey_Loop 57616 LD A,(DE) Fetch a character from *DE and store it in the accumulator.
57617 CALL PrintColourCharacter Call PrintColourCharacter.
57620 INC DE Increment the string pointer by one.
57621 DJNZ PrintFindTheGoldKey_Loop Decrease the string length counter by one and loop back to PrintFindTheGoldKey_Loop until the string is printed.
57623 RET Return.
Prev: 57444 Up: Map Next: 57624