Skip to navigation

Elite on the BBC Micro and NES

Keyboard: TT214

[6502 Second Processor 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: No direct references to this subroutine in this source file

Arguments: A The text token to print before the "Y/N?" prompt
Returns: C flag Set if the response was "yes", clear otherwise
.TT214 \.TT214 \ These instructions are commented out in the original \PHA \ source \JSR TT162 \PLA .TT221 JSR TT27 \ Print the text token in A LDA #206 \ Print extended token 206 ("{all caps}(Y/N)?") JSR DETOK 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