Official Name: PullDownChk
BCALL Address: 45CD
Checks for and processes any keys relating to menus.
- A = key press
- Carry flag set if menu requires further keypresses.
- Carry flag reset if a final keypress is returned in A (might be the same as the original keypress)
Calling this immediately after GetKey will allow OS menus to appear during execution of your program. The output of this routine may be an unprocessed key or it may be the result of a menu action. For instance if a=kenter was sent to this routine while entry 2 is highlighted in the Draw menu, the output of this routine would be a=kLine.
getmenukeyloop: B_CALL GetKey B_CALL PullDownChk jr c,getmenukeyloop ;Loop if more keypresses are needed ;After the loop, A holds a keypress value
ld a,kDraw B_CALL PullDownChk ;on LCD the draw menu should be visable ld a,kDown B_CALL PullDownChk ;cursor should move from entry 1 to entry 2 ld a,kEnter B_CALL PullDownChk ;output of routine should be kLine