Home AESAES List boxesList boxes Menu libraryMenu library

8.16 MagiC library

This library contains special functions, which only available on MagiC.

sys_recalc_cicon_colours Passes RGB-triplets in promille for icon conversion in 'direct colour' screen modes
sys_set_editob Define edit object
sys_set_getfn Get AES function
sys_set_setfn Change AES function
sys_set_winframe_manager Install a new window-frame manager
sys_set_getdisp Determine AES dispatcher
sys_set_appl_getinfo Install function for appl_getinfo

See also: About the AES

8.16.1 sys_set_getdisp

Name: Determine AES dispatcher
 
Opcode: 0 (sub-opcode 0)
 
Syntax: void sys_set_getdisp(void **disp_addr, void **disp_err);
 
Description:
 
Return value:
 
Availability: As of MagiC 5.20
 
Group: MagiC library
 
See also: Binding
 

8.16.1.1 Bindings for sys_set_getdisp

C: void sys_set_getdisp(void **disp_addr, void **disp_err);
 
Binding:
 
void sys_set_getdisp(void **disp_addr, void **disp_err)
{
   int_in[0]  = 0;      /* Subcode 0: determine AES dispatcher */

   crys_if(0);

   *disp_addr = addr_out[0];
   if (disp_err)
      *disp_err = addr_out[1];
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 0 # Entry in addr_in
control+8 control[4] 2 # Entry in addr_out
int_in int_in[0] 0
addr_out addr_out[0]

8.16.2 sys_recalc_cicon_colours

Name: ???
 
Opcode: 0 (sub-opcode 5)
 
Syntax: void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
 
Description: Pass RGB-triplets in promille (1/1000th) for the icon conversion with 'direct colour' screen modes.
 
Only used from MagxDesk.
 
Return value: unknown.
 
Availability: As of MagiC 5.20 from 20.11.97
 
Group: Resource library
 
See also: Binding
 

8.16.2.1 Bindings for sys_recalc_cicon_colours

C: void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
 
Binding:
 
void *sys_recalc_cicon_colours( uint16_t colour_values[3*256] );
{
   int_in[0]  = 5;               /* Subcode 5: */
   addr_in[0] = colour_values;

   crys_if(0);
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 0 # Entry in addr_out
int_in int_in[0] 5
addr_in addr_in[0] colour_values

8.16.3 sys_set_editob

Name: Define edit object.
 
Opcode: 0 (sub-opcode 4)
 
Syntax: void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) );
 
Description:
 
Return value: unknown.
 
Availability: As of MagiC 5.20
 
Group: MagiC library
 
See also: Binding
 

8.16.3.1 Bindings for sys_set_editob

C: void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) );
 
Binding:
 
void *sys_set_editob( int16_t cdecl (*editob) (PARMBLK *pb) )
{
   int_in[0]  = 4;      /* Subcode 4: define Edit object */
   addr_in[0] = editob;

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 4
addr_in addr_in[0] editob
addr_out addr_out[0]

8.16.4 sys_set_getfn

Name: AES-Funktion ermitteln
 
Opcode: 0 (sub-opcode 1)
 
Syntax: AES_FUNCTION *sys_set_getfn( int16_t fn );
 
Description: Es wird ermittelt ob die AES Funktion mit der Nummer fn vorhanden ist.
 
Return value: NULL oder die Adresse der Funktion.
 
Availability: MagiC
 
Group: MagiC library
 
See also: Binding
 

8.16.4.1 Bindings for sys_set_getfn

C: AES_FUNCTION *sys_set_getfn( int16_t fn );
 
Binding:
 
AES_FUNCTION *sys_set_getfn( int16_t fn )
{
   int_in[0]  = 1;      /* Subcode 1: AES-Funktion ermitteln */
   int_in[1]  = fn;

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 2 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 0 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 1
int_in+2 int_in[1] fn
addr_out addr_out[0]

8.16.5 sys_set_setfn

Name: AES-Funktion ändern
 
Opcode: 0 (sub-opcode 2)
 
Syntax: int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f );
 
Description: Setzt die Adresse der AES Funktion mit der Nummer fn neu.
 
Return value:
 
Availability: MagiC
 
Group: MagiC library
 
See also: Binding
 

8.16.5.1 Bindings for sys_set_setfn

C: int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f );
 
Binding:
 
int16_t sys_set_setfn( int16_t fn, AES_FUNCTION *f )
{
   int_in[0]  = 2;      /* Subcode 2: AES-Funktion ändern */
   int_in[1]  = fn;
   addr_in[0] = f;

   crys_if(0);

   return ( int_out[0] );
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 2 # Entry in int_in
control+4 control[2] 1 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 0 # Entry in addr_out
int_in int_in[0] 2
int_in+2 int_in[1] fn
addr_in addr_in[0] f
addr_out addr_out[0]

8.16.6 sys_set_winframe_manager

Name: Install a new window-frame manager
 
Opcode: 0 (sub-opcode 6)
 
Syntax: int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh, WINFRAME_HANDLER *new_wfh, WINFRAME_SETTINGS **set )
 
Description:
 
Return value: unknown.
 
Availability: As of MagiC 6
 
Group: Window library
 
See also: Binding
 

8.16.6.1 Bindings for sys_set_winframe_manager

C: int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh, WINFRAME_HANDLER *new_wfh, WINFRAME_SETTINGS **set );
 
Binding:
 
int16_t sys_set_winframe_manager( WINFRAME_HANDLER *old_wfh,
            WINFRAME_HANDLER *new_wfh,
            WINFRAME_SETTINGS **set )
{
   int_in[0]  = 6;      /* Subcode 6: Window-frame manager */
   addr_in[0] = old_wfh;
   addr_in[1] = new_wfh;

   crys_if(0);

   *set = addr_out[0];

   return ( int_out[0] );
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 1 # Entry in int_out
control+6 control[3] 2 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 6
addr_in addr_in[0] old_wfh
addr_in+4 addr_in[1] new_wfh
int_out int_out[0] return value
addr_out addr_out[0] set

8.16.7 sys_set_appl_getinfo

Name: Install function for appl_getinfo.
 
Opcode: 0 (sub-opcode 3)
 
Syntax: AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f );
 
Description:
 
Return value: Previous function for appl_getinfo.
 
Availability: As of MagiC 5.20
 
Group: MagiC library
 
See also: Binding
 

8.16.7.1 Bindings for sys_set_appl_getinfo

C: AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f );
 
Binding:
 
AES_FUNCTION *sys_set_appl_getinfo( AES_FUNCTION *f )
{
   int_in[0]  = 3;      /* Subcode 3: define Edit objcet */
   addr_in[0] = f;

   crys_if(0);

   return ( addr_out[0] );
}
GEM-Arrays:
 

Address Element Contents
control control[0] 0 # Function opcode
control+2 control[1] 1 # Entry in int_in
control+4 control[2] 0 # Entry in int_out
control+6 control[3] 1 # Entry in addr_in
control+8 control[4] 1 # Entry in addr_out
int_in int_in[0] 3
addr_in addr_in[0] f
addr_out addr_out[0]

Home AESAES List boxesList boxes Menu libraryMenu library