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.28 Bindings für vqt_advance32 TOS
C: void vqt_advance32 ( int16_t handle, int16_t ch, fix31
*x_advance, fix31 *y_advance );
Umsetzung:
void vqt_advance32 (int16_t handle, int16_t ch,
fix31 *x_advance, fix31 *y_advance)
{
intin[0] = ch;
contrl[0] = 247;
contrl[1] = 0;
contrl[3] = 1;
contrl[6] = handle;
vdi ();
*x_advance = ptsout[4..5];
*y_advance = ptsout[6..7];
}
GEM-Arrays:
Adresse Feldelement Belegung
contrl contrl[0] 247 # Opcode der Funktion
contrl+2 contrl[1] 0 # Einträge in ptsin
contrl+4 contrl[2] 4 # Einträge in ptsout
contrl+6 contrl[3] 1 # Einträge in intin
contrl+8 contrl[4] 0 # Einträge in intout
contrl+12 contrl[6] handle
intin intin[0] ch
ptsout+8 ptsout[4..5] x_advance
ptsout+12 ptsout[6..7] y_advance
Es handelt sich bei x_advance und y_advance nur um den
Abstand, der für die Positionierung des nächsten Zeichens
benutzt wird, d.h. x_advance beinhaltet keine
Zeichenüberhänge.