Difference between revisions of "83Plus:BCALLs:45CD"

From WikiTI
Jump to: navigation, search
(Carry flag output)
 
Line 12: Line 12:
  
 
=== Outputs ===
 
=== Outputs ===
* A = key press (might not be the same)
+
* 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)
  
 
=== Registers Destroyed ===
 
=== Registers Destroyed ===
Line 20: Line 21:
 
Calling this immediately after [[83Plus:BCALLs:4972|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.
 
Calling this immediately after [[83Plus:BCALLs:4972|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.
  
== Example ==
+
== Examples ==
 +
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
 
  ld a,kDraw
 
  B_CALL PullDownChk ;on LCD the draw menu should be visable
 
  B_CALL PullDownChk ;on LCD the draw menu should be visable

Latest revision as of 20:35, 22 December 2010

This article is missing some information (namely Destroys). You can help WikiTI by filling in the missing information.


Synopsis

Official Name: PullDownChk

BCALL Address: 45CD

Checks for and processes any keys relating to menus.

Inputs

  • A = key press

Outputs

  • 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)

Registers Destroyed

  • unknown

Comments

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.

Examples

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