Skip to navigation


Keyboard: TT214

[Acorn Electron version]

Name: TT214 [Show more] Type: Subroutine Category: Keyboard Summary: Ask a question with a "Y/N?" prompt and return the response
Context: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * TT210 calls TT214

Arguments: A The text token to print before the "Y/N?" prompt
Returns: C flag Set if the response was "yes", clear otherwise
.TT214 PHA \ Print a space, using the stack to preserve the value JSR TT162 \ of A PLA .TT221 JSR TT27 \ Print the text token in A LDA #225 \ Print recursive token 65 ("(Y/N)?") JSR TT27 JSR TT217 \ Scan the keyboard until a key is pressed, and return \ the key's ASCII code in A and X ORA #%00100000 \ Set bit 5 in the value of the key pressed, which \ converts it to lower case CMP #'y' \ If "y" was pressed, jump to TT218 BEQ TT218 LDA #'n' \ Otherwise jump to TT26 to print "n" and return from JMP TT26 \ the subroutine using a tail call (so all other \ responses apart from "y" indicate a no) .TT218 JSR TT26 \ Print the character in A, i.e. print "y" SEC \ Set the C flag to indicate a "yes" response RTS \ Return from the subroutine