Prev: 44770 Up: Map Next: 44880
44815: PauseMenu
Pause screen overlay shown when the player presses key 1 during gameplay. Draws two lines of text (pause message and restart prompt) over the game screen using the tile-blit helper at 44509. Sets the border to yellow (6) and waits for the player to press key 1 again. If key 1 is pressed, jumps directly to 36457 (GameEntry) to restart the game. Any other key resumes play by returning normally. If the corridor view was active (mode=1), calls 32719 to restore the room display before returning.
Input
Used by the routine at 36457.
44815 CALL 33479 draw game-window border
44818 LD HL,20614 HL = $5086 (mid-screen attribute row)
44821 LD (31257),HL set draw pointer
44824 LD B,20 20-character message line
This entry point is used by the routine at 44561.
44826 LD DE,44770 DE = text data for pause message line 1
44829 CALL 44509 blit text
44832 LD HL,20675 next screen row
44835 LD (31257),HL
44838 LD B,25 25-character second line
44840 LD DE,44790 text data for "PRESS 1 TO RESTART" line
44843 CALL 44509 blit text
44846 CALL 44109 short wait (debounce key release)
This entry point is used by the routine at 44561.
44849 LD A,6 6 = yellow border
44851 OUT (254),A flash border yellow (indicates pause)
44853 CALL 44093 wait loop (keyboard debounce / delay)
44856 LD BC,63486 BC = $F7FE: keyboard row for keys 1-5
44859 IN A,(C) read keyboard
This entry point is used by the routine at 44561.
44861 RRA bit 0 → carry (key 1 = active-low)
44862 JP NC,36457 key 1 held: restart game from entry
44865 XOR A A = 0
44866 OUT (254),A restore border to black
44868 CALL 33479 redraw game-window frame
44871 LD A,(31252) A = room mode (31252)
This entry point is used by the routine at 44561.
44874 CP 1 mode 1 = corridor view active
This entry point is used by the routine at 44561.
44876 CALL Z,32719 if in corridor: redraw room contents
44879 RET resume game loop
Prev: 44770 Up: Map Next: 44880