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:
10 <RETurn address to caller>
0E <original bank bindings for segment 2 & 3>
04 <pointer to OZ call address>
02 <original bank bindings for segment 2 & 3>
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:
Internal operating system usage.
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
OZ_Mgb, get current bank binding in segment
OZ_Mpb, set new bank binding in segment