Z88 Developers' Notes | ||
---|---|---|
Contents | Contents of System Calls |
OS_Bix, Bind in extended address for availability
RST 20H, DEFB $60
IN:
B = 0, bind in physical address in HL BHL = extended pointer to bind into physical address space IY points at OSPUSH frame (preserved by previous OZ call) containing: offset: contents: 10 <RETurn address to caller> 0E <original bank bindings for segment 2 & 3> 0C <HL> 0A <DE> 08 <BC> 06 <AF> 04 <pointer to OZ call address> 02 <original bank bindings for segment 2 & 3> 00 <IY> OUT:
DE = old binding of segment 1 in E, and segment 2 in D. B = 0, always, identifying a converted local pointer HL = (possibly modified) address for segment 1.Registers changed after return:
A..C..../IXIY same .FB.DEHL/.... differentNotes:
Internal operating system usage.Related calls:
OS_Bix and OS_Box are called from GN_ or OS_ 2 byte calls. Binds in extended or local address, identified by BHL (B=0 local) into segment 1. The (offset) address is automatically forced to segment 1, if necessary. If the address already are in segment 1 or 0, no binding occur (the bindings are still returned in DE). B = 0 always returned to indicate a local address in segment 1 or segment 0.
If request address was in segment 3 then segment 2 was not affected.
OS_Box, restore bindings after OS_Bix
OS_Fc, select fast code (fast bank switching)
OS_Mal, allocate memory
OS_Mcl, close memory (free memory pool)
OS_Mfr, free (previously allocated block) memory
OS_Mgb, get current bank binding in segment
OS_Mop, open memory (allocate memory pool)
OS_Mpb, set new bank binding in segment