Prev: 00543 Up: Map Next: 00747
00685: Test Keys Variable
Used by the routine at HandleInterrupt.
Look up the BASIC variable "keys". A value of 1 enables speaking each key press.
Output
F Z flag set if key speech is enabled
TestKeysVariable 00685 LD A,171 Call FindVariable for "keys".
00687 CALL FindVariable
00690 JR NZ,TestKeysVariable_State Jump to TestKeysVariable_State if it was not found.
00692 INC HL Move to the first letter of the name.
00693 LD A,101 Jump to TestKeysVariable_State if this is not "e".
00695 CPI
00697 JR NZ,TestKeysVariable_State
00699 LD A,121 Jump to TestKeysVariable_State if the next letter is not "y".
00701 CPI
00703 JR NZ,TestKeysVariable_State
00705 LD A,243 Jump to TestKeysVariable_State if the next letter is not "s".
00707 CPI
00709 JR NZ,TestKeysVariable_State
00711 XOR A Jump to TestKeysVariable_State if the name has not ended.
00712 CPI
00714 JR NZ,TestKeysVariable_State
00716 CPI Jump to TestKeysVariable_State if the value header is not empty.
00718 JR NZ,TestKeysVariable_State
00720 CP (HL) Jump to TestKeysVariable_Off if keys is 0.
00721 JR Z,TestKeysVariable_Off
00723 INC A Jump to TestKeysVariable_State if keys is not 1.
00724 CP (HL)
00725 JR NZ,TestKeysVariable_State
00727 DEC A Call ReadWorkspace for the flags byte.
00728 CALL ReadWorkspace
00731 SET 1,(HL) Enable key speech.
TestKeysVariable_State 00733 XOR A Call ReadWorkspace for the flags byte.
00734 CALL ReadWorkspace
00737 BIT 1,(HL) Set the Z flag from the key-speech flag.
00739 RET Return.
keys is 0; turn key speech off.
TestKeysVariable_Off 00740 CALL ReadWorkspace Call ReadWorkspace.
00743 RES 1,(HL) Disable key speech and jump to TestKeysVariable_State.
00745 JR TestKeysVariable_State
Prev: 00543 Up: Map Next: 00747