5 EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word
\r
6 EXTRN C m1:word, C m2:word, C m3:word, C m4:word, C n1:word, C n2:word, C n3:word, C n4:word
\r
8 SEGMENT poro para private 'CODE'
\r
12 PUBLIC C plzline, C setplzparas, C psini, C lsini4, C lsini16
\r
19 INCLUDE 'lsini4.inc'
\r
23 INCLUDE 'lsini16.inc'
\r
28 ARG y1:word, vseg:word
\r
41 IRP ccc, <3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12,19,18,17,16,23,22,21,20,27,26,25,24,31,30,29,28,35,34,33,32,39,38,37,36,43,42,41,40,47,46,45,44,51,50,49,48,55,54,53,52,59,58,57,56,63,62,61,60,67,66,65,64,71,70,69,68,75,74,73,72,79,78,77,76,83,82,81,80>
\r
46 mov bx, [ds:si+0c200h]
\r
49 mov ah, [(ds:ccc) + bx + 0c100h]
\r
52 mov bx, [ds:ccc + di + 0c400h]
\r
54 add ah, [ds:bx + di + 0c300h]
\r
57 mov bx, [ds:si+0c200h]
\r
60 mov al, [ds:ccc + bx + 0c100h]
\r
63 mov bx, [ds:ccc + di + 0c400h]
\r
65 add al, [ds:bx + di + 0c300h]
\r
95 arg c1:word, c2:word, c3:word, c4:word
\r
97 IRP ccc, <0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83>
\r
99 add ax, OFFSET psini+ccc*8
\r
100 mov [word (cs:lc1_&ccc)], ax
\r
103 add ax, OFFSET lsini16-ccc*8+80*8
\r
104 mov [word (cs:lc2_&ccc)], ax
\r
106 add ax, OFFSET psini-ccc*4+80*4
\r
107 mov [word (cs:lc3_&ccc)], ax
\r
110 add ax, OFFSET lsini4+ccc*32
\r
111 mov [word (cs:lc4_&ccc)], ax
\r
116 PUBLIC C set_plzstart
\r
118 PROC C set_plzstart
\r
123 mov al, 18h ; linecompare
\r
124 mov ah, [Byte start]
\r
127 mov ah, [Byte start+1]
\r
131 out dx, ax ; 8th bit
\r