Prev: 76F9 Up: Map Next: 772F
76FA: 'T' pressed - telephone
The address of this routine is found in the table of keypress handling routines at ED00. It is called from the main loop at F02B when 'T' is pressed.
H 0xE6 (Sam)
76FA CALL $749E Is Sam standing next to a telephone?
76FD RET Z Return if not
76FE LD HL,$7F92 The buffer at 7F92 will hold the digits dialled by Sam
7701 LD BC,$0500 B=5, C=0
7704 LD (HL),C Initialise the digit buffer at 7F92 by filling it with zeroes
7705 INC L
7706 DJNZ $7704
7708 LD L,$9B HL=7F9B (telephone call status flags)
770A CCF A=0x80 if the phone is ringing, 0x00 otherwise
770B SBC A,A
770C AND $80
770E LD (HL),A Set bit 7 at 7F9B if Sam has picked up a ringing telephone
770F LD L,$FC HL=7FFC (Sam's status flags)
7711 LD (HL),$10 Set bit 4: Sam is on the phone
7713 LD L,$D3 Store the phone's identifier at 7FD3
7715 LD (HL),E
7716 JR NZ,$771F Jump if the phone is ringing
7718 LD A,$02 Subtract $2 from Sam's cash supply
771A CALL $6E8C
771D JR $7725
Sam has picked up a telephone that is ringing.
771F LD A,($5C79) Collect the second byte of the FRAMES system variable, which is incremented every 5.12s
7722 LD L,$99 Copy this byte to 7F99
7724 LD (HL),A
7725 LD A,$29 Message 0x29: 'I LIFTED THE PHONE '
This entry point is used by the unused routine at 7A34 with A=0x27: 'I HUNG UP'.
7727 CALL $75CA Queue the message urgently
This entry point is used by the routine at F1E3.
772A LD H,$E6 0xE6=Sam
772C JP $ECEE Make a sound effect
Prev: 76F9 Up: Map Next: 772F