Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File8.20.5.1 Bindings für fnts_do TOS
C: int16_t fnts_do ( FNT_DIALOG *fnt_dialog, int16_t
button_flags, int32_t id_in, int32_t pt_in, int32_t
ratio_in, int16_t *check_boxes, int32_t *id, fix31 *pt,
int32_t *ratio );
Umsetzung:
int16_t fnts_do ( FNT_DIALOG *fnt_dialog, int16_t button_flags,
int32_t id_in, int32_t pt_in,
int32_t ratio_in, int16_t *check_boxes,
int32_t *id, fix31 *pt, int32_t *ratio )
{
addr_in[0] = fnt_dialog;
int_in[0] = button_flags;
int_in[1..2] = id_in;
int_in[3..4] = pt_in;
int_in[5..6] = ratio_in;
crys_if (187);
*check_boxes = int_out[1];
*id = int_out[2..3];
*pt = int_out[4..5];
*ratio = int_out[6..7];
return ( int_out[0] );
}
GEM-Arrays:
Adresse Feldelement Belegung
control control[0] 187 # Opcode der Funktion
control+2 control[1] 7 # Einträge in int_in
control+4 control[2] 8 # Einträge in int_out
control+6 control[3] 1 # Einträge in addr_in
control+8 control[4] 0 # Einträge in addr_out
addr_in addr_in[0] fnt_dialog
int_in int_in[0] button_flags
int_in+2 int_in[1..2] id_in
int_in+6 int_in[3..4] pt_in
int_in+10 int_in[5..6] ratio_in
int_out int_out[0] Return-Wert
int_out+2 int_out[1] check_boxes
int_out+4 int_out[2..3] id
int_out+8 int_out[4..5] pt
int_out+12 int_out[6..7] ratio