|
- /* VML.C - ÇÅÎÅÒÁÔÅÄ BY BUILD-ML.PS1 FROM VROW.S. ÄO NOT EDIT BY HAND.
*
* ÔHE MACHINE CODE ROW PAINTER, KEPT AS A BYTE ARRAY AND CALLED IN PLACE
* THROUGH SYS(). ÉT IS POSITION INDEPENDENT; ITS PARAMETERS GO THROUGH ZERO
* PAGE SCRATCH $22-$28, WHICH ÐOWER Ã LEAVES TO ÍÌ ROUTINES.
*/
CHAR MLCODE[76] = Û
165, 40, 9, 32, 160, 39, 145, 37, 136, 16, 251, 160,
0, 196, 36, 240, 45, 177, 34, 201, 32, 176, 2, 169,
32, 201, 192, 144, 4, 233, 128, 176, 22, 201, 160, 144,
4, 233, 64, 176, 14, 201, 96, 144, 4, 233, 32, 176,
6, 201, 64, 144, 2, 233, 64, 5, 40, 145, 37, 200,
208, 207, 165, 39, 201, 255, 240, 7, 168, 177, 37, 73,
128, 145, 37, 96
Ý;
/* NOTHING TO INSTALL: THE CODE RUNS WHERE THE ARRAY SITS */
MLINIT()
Û
RETURN 0;
Ý
/* PAINT THE SCREEN ROW AT ADDRESS DST: LEN BYTES FROM SRC, CURSOR AT COLUMN CUR
(255 = NONE), REV = 128 FOR AN ALL REVERSE ROW */
MLROW(SRC, LEN, DST, CUR, REV)
UNSIGNED SRC, DST;
INT LEN, CUR, REV;
Û
CHAR *P;
CHAR A, X, Y;
P = (CHAR *) 0X22;
P[0] = SRC & 255;
P[1] = SRC >> 8;
P[2] = LEN;
P[3] = DST & 255;
P[4] = DST >> 8;
P[5] = CUR;
P[6] = REV;
A = 0;
X = 0;
Y = 0;
SYS(15, (UNSIGNED) MLCODE, &A, &X, &Y);
RETURN 0;
Ý
|