![]() |
Routines |
Prev: 30574 | Up: Map | Next: 30626 |
30575 | CALL 61923 | Check for keypresses or hang up the phone |
30578 | RET Z | Return if no key with an ASCII code in the range 48-127 was pressed |
30579 | CP 97 | Is the ASCII code of the keypress less than 97 ('a')? |
30581 | RET C | Return if so |
30582 | CP 104 | Is the ASCII code of the keypress less than 104 ('h')? |
30584 | JR C,30591 | Jump if so |
30586 | CP 115 | Was 's' pressed? |
30588 | RET NZ | Return if not |
30589 | SUB 11 | A=104 |
30591 | ADD A,7 | A=104-111 (message number of a name) |
30593 | LD (32720),A | Store this at 32720 |
30596 | PUSH AF | Save the name message number briefly |
30597 | LD A,40 | Message 40: ''{name}' I SAID ' |
30599 | CALL 30154 | Queue this message urgently |
30602 | LD HL,(32663) | Collect the address of the second byte of the phone entry from 32663 |
30605 | POP AF | Restore the name message number to A |
30606 | CP (HL) | Set the zero flag if Sam has used the correct name |
30607 | LD A,46 | Message 46: 'I DUNNO NO {name}' |
30609 | JR NZ,30617 | Jump unless Sam has used the correct name |
This entry point is used by the routine at 30627.
|
||
30611 | DEC HL | Point HL at the first byte of the phone entry |
30612 | LD (HL),0 | Mark the phone entry inactive |
30614 | INC HL | Point HL at the third byte of the phone entry |
30615 | INC HL | |
30616 | LD A,(HL) | A=telephone message number |
30617 | LD HL,512 | Clear 32666 and set bit 1 of the telephone call status flags at 32667 (to disconnect the call) |
30620 | LD (32666),HL | |
30623 | JP 30154 | Queue the telephone message urgently |
Prev: 30574 | Up: Map | Next: 30626 |