Difference between revisions of "83Plus:BCALLs:4021"

From WikiTI
Jump to: navigation, search
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:83Plus:BCALLs:By Name:Monitor|MonForceKey]] [[Category:83Plus:BCALLs:By Name|MonForceKey]] [[Category:83Plus:BCALLs:By Address|4021 - MonForceKey]]
 
[[Category:83Plus:BCALLs:By Name:Monitor|MonForceKey]] [[Category:83Plus:BCALLs:By Name|MonForceKey]] [[Category:83Plus:BCALLs:By Address|4021 - MonForceKey]]
 +
 
== Synopsis ==
 
== Synopsis ==
 
'''Official Name:''' MonForceKey
 
'''Official Name:''' MonForceKey
Line 5: Line 6:
 
'''BCALL Address:''' 4021
 
'''BCALL Address:''' 4021
  
Calls the system monitor but allows the programmer to push an initial key through cxMain.  This is very much like [[83Plus:BCALLs:401E|Mon]].
+
Calls the system monitor but allows the programmer to push an initial key through [[83Plus:RAM:858D|cxMain]].  This is very much like [[83Plus:BCALLs:401E|Mon]].
  
 
=== Inputs ===
 
=== Inputs ===
 
* a = initial key press to simulate
 
* a = initial key press to simulate
* AppAllowContext, (IY + APIFlg) = 1 to allow Mon to pass context keys, like
+
* [[83Plus:Flags:28|AppAllowContext, (IY + APIFlg)]] = 1 to allow Mon to pass context keys, like
 
* kYequ to the cxMain routine.
 
* kYequ to the cxMain routine.
* CurLock, (IY + curFlags) = 1 to lock the cursor off
+
* [[83Plus:Flags:0C|CurLock, (IY + curFlags)]] = 1 to lock the cursor off
  
 
=== Outputs ===
 
=== Outputs ===
Line 17: Line 18:
  
 
=== Registers Destroyed ===
 
=== Registers Destroyed ===
* ??
+
* Doesn't matter because it doesn't return
  
 
== Comments ==
 
== Comments ==

Latest revision as of 08:47, 6 February 2008


Synopsis

Official Name: MonForceKey

BCALL Address: 4021

Calls the system monitor but allows the programmer to push an initial key through cxMain. This is very much like Mon.

Inputs

Outputs

  • none

Registers Destroyed

  • Doesn't matter because it doesn't return

Comments

The system NEVER returns from this B_CALL. The programmer should find alternative methods of regaining control and exiting such as hooks, cxMain, etc.

Example

To simulate a key press by the user when first entering the system monitor:

;set up edit buffer
;...
ld a,k8
B_CALL MonForceKey  ;should see the number 8 appear in the edit buffer