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.10.31 Bindings für v_opnwk TOS
C: void v_opnwk ( int16_t *work_in, int16_t *handle, int16_t
*work_out );
Umsetzung:
void v_opnwk (int16_t *work_in, int16_t *handle,
int16_t *work_out)
{
intin[0..15] = work_in[0..15];
contrl[0] = 1;
contrl[1] = 0;
contrl[3] = 16;
contrl[6] = 0;
vdi ();
*handle = contrl[6];
work_out[0..44] = intout[0..44];
work_out[45..56] = ptsout[0..11];
}
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] 6 # Einträge in ptsout
contrl+6 contrl[3] 16 # Einträge in intin
contrl+8 contrl[4] 45 # Einträge in intout
contrl+12 contrl[6] handle
intin intin[0..15] work_in[0..15]
intout intout[0..44] work_out[0..44]
ptsout ptsout[0..11] work_out[45..56]
Hinweis: Das angegebene Binding gilt für den Einsatz unter
NVDI. Bei Druckertreibern gilt es einige Besonderheiten zu
beachten; zunächst kann bei Matrix-Druckern die maximale
Auflösung angegeben werden. Dies geht wie folgt:
ptsin[0] = maximale Auflösung in x-Richtung
ptsin[1] = maximale Auflösung in y-Richtung
contrl[1] = 1
Darüber hinaus kann für die Atari-Seitendrucker die
Adresse des internen Puffers ermittelt werden:
contrl[0] = High-Word
contrl[1] = Low-Word der Pufferadresse
Querverweis: v_opnwk GDOS GDOS-Treiber