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-File7.6.89 Bindings für v_get_driver_info TOS
C: void v_get_driver_info ( int16_t device_id, int16_t
info_select, int8_t *info_string );
Umsetzung:
void v_get_driver_info ( int16_t device_id, int16_t info_select,
int8_t *info_string )
{
intin[0] = device_id;
intin[1] = info_select;
contrl[0] = -1;
contrl[1] = 0;
contrl[3] = 2;
contrl[5] = 4;
contrl[6] = 0;
vdi ();
if ( info_select != 5 )
{
bptr = (int8_t *) intout ;
for ( ii = 0; ii < contrl[ 4 ]; ii ++ )
*info_string++ = *bptr++ ;
*info_string = 0 ;
}
else
*(int16_t *)info_string = intout[ 0 ] ;
}
GEM-Arrays:
Adresse Feldelement Belegung
contrl contrl[0] -1 # Opcode der Funktion
contrl+2 contrl[1] 0 # Einträge in ptsin
contrl+4 contrl[2] 0 # Einträge in ptsout
contrl+6 contrl[3] 2 # Einträge in intin
contrl+8 contrl[4] n # Einträge in intout
contrl+10 contrl[5] 4 # Sub-Opcode
contrl+12 contrl[6] 0
intin intin[0] device_id
intin+2 intin[1] info_select
intout intout[0..n-1] info_string