Difference between revisions of "83Plus:BCALLs:4021"
From WikiTI
		
		
		
| (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 07: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
- a = initial key press to simulate
 - AppAllowContext, (IY + APIFlg) = 1 to allow Mon to pass context keys, like
 - kYequ to the cxMain routine.
 - CurLock, (IY + curFlags) = 1 to lock the cursor off
 
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