]> 4ch.mooo.com Git - plz.git/blob - copper.ass
unable to compile because LINK.EXE is unknown. thus i cannot test original codes...
[plz.git] / copper.ass
1 .8087
2                 PUBLIC  _frame_count
3                 PUBLIC  _cop_drop
4                 PUBLIC  _cop_pal
5                 PUBLIC  _do_pal
6                 PUBLIC  _cop_start
7                 PUBLIC  _cop_scrl
8                 PUBLIC  _cop_plz
9                 PUBLIC  close_copper_
10                 PUBLIC  init_copper_
11                 PUBLIC  _pompota
12                 PUBLIC  _moveplz
13                 PUBLIC  _fadepal
14                 PUBLIC  _cop_fadepal
15                 EXTRN   _k1:BYTE
16                 EXTRN   _k2:BYTE
17                 EXTRN   _k3:BYTE
18                 EXTRN   _k4:BYTE
19                 EXTRN   _l1:BYTE
20                 EXTRN   _l2:BYTE
21                 EXTRN   _l3:BYTE
22                 EXTRN   _l4:BYTE
23                 EXTRN   _il1:BYTE
24                 EXTRN   _il2:BYTE
25                 EXTRN   _il3:BYTE
26                 EXTRN   _il4:BYTE
27                 EXTRN   _ik1:BYTE
28                 EXTRN   _ik2:BYTE
29                 EXTRN   _ik3:BYTE
30                 EXTRN   _ik4:BYTE
31 DGROUP          GROUP   _DATA
32 COPPER_TEXT             SEGMENT WORD PUBLIC USE16 'CODE'
33                 ASSUME CS:COPPER_TEXT, DS:DGROUP, SS:DGROUP
34 _frame_count:
35         add             byte ptr [bx+si],al
36 _cop_drop:
37         add             byte ptr [bx+si],al
38 _cop_pal:
39         add             byte ptr [bx+si],al
40 L$1:
41         add             byte ptr [bx+si],al
42 _do_pal:
43         add             byte ptr [bx+si],al
44 _cop_start:
45     DB  0
46 L$2:
47     DB  0
48 _cop_scrl:
49         add             byte ptr [bx+si],al
50 _cop_plz:
51         add             word ptr [bx+si],ax
52 close_copper_:
53         mov             bx,7
54         mov             ax,0
55         mov             cx,0
56         mov             dx,0
57         int             0fcH
58         mov             bx,7
59         mov             ax,1
60         mov             cx,0
61         mov             dx,0
62         int             0fcH
63         mov             bx,7
64         mov             ax,2
65         mov             cx,0
66         mov             dx,0
67         int             0fcH
68         retf
69 init_copper_:
70         mov             bx,7
71         mov             ax,1
72 ;       mov             cx,offset copper1
73 ;       mov             dx,COPPER_TEXT
74         int             0fcH
75         mov             bx,7
76         mov             ax,2
77 ;       mov             cx,offset copper2
78 ;       mov             dx,COPPER_TEXT
79         int             0fcH
80         mov             bx,7
81         mov             ax,0
82 ;       mov             cx,offset copper3
83 ;       mov             dx,COPPER_TEXT
84         int             0fcH
85         retf
86 copper1:
87         mov             dx,3d4H
88         mov             al,0dH
89         mov             ah,byte ptr cs:_cop_start
90         out             dx,ax
91         mov             al,0cH
92         mov             ah,byte ptr cs:L$2
93         out             dx,ax
94         mov             dx,3c0H
95         mov             al,33H
96         out             dx,al
97         mov             ax,word ptr cs:_cop_scrl
98         out             dx,al
99         retf
100 copper2:
101         ;pusha
102         push    AX
103         push    CX
104         push    DX
105         push    BX
106         push    SP
107         push    BP
108         push    SI
109         push    DI
110         push            ds
111         inc             word ptr cs:_frame_count
112         cmp             word ptr cs:_do_pal,0
113         je              L$3
114         lds             si,dword ptr cs:_cop_pal
115         mov             cx,300H
116         mov             dx,3c8H
117         mov             al,0
118         out             dx,al
119         inc             dx
120         ;rep outsb
121         movsb
122         movsb
123         mov             word ptr cs:_do_pal,0
124 L$3:
125         cmp             word ptr cs:_cop_plz,0
126         je              L$4
127         push            cs
128         call            near ptr _pompota
129         push            cs
130         call            near ptr _moveplz
131 L$4:
132         cmp             word ptr cs:_cop_drop,0
133         je              L$5
134         push            cs
135         call            near ptr L$14
136 L$5:
137         pop             ds
138         ;popa
139         pop     AX
140         pop     CX
141         pop     DX
142         pop     BX
143         pop     SP
144         pop     BP
145         pop     SI
146         pop     DI
147         retf
148 copper3:
149         retf
150 L$6:
151     DB  0
152 _pompota:
153         mov             word ptr cs:0cH,4
154         mov             dx,3d4H
155         mov             ax,3c18H
156         out             dx,ax
157         mov             ax,0f07H
158         out             dx,ax
159         mov             ax,3c18H
160         inc             byte ptr cs:L$6
161         test            byte ptr cs:L$6,1
162         je              L$7
163         mov             word ptr cs:_cop_scrl,0
164         mov             ax,3d18H
165 L$7:
166         out             dx,ax
167         retf
168 _moveplz:
169         push            ds
170         ;;;;????push            seg _k1
171         pop             ds
172         add             word ptr DGROUP:_k1,0fffdH
173         and             word ptr DGROUP:_k1,0fffH
174         add             word ptr DGROUP:_k2,0fffeH
175         and             word ptr DGROUP:_k2,0fffH
176         add             word ptr DGROUP:_k3,1
177         and             word ptr DGROUP:_k3,0fffH
178         add             word ptr DGROUP:_k4,2
179         and             word ptr DGROUP:_k4,0fffH
180         add             word ptr DGROUP:_l1,0ffffH
181         and             word ptr DGROUP:_l1,0fffH
182         add             word ptr DGROUP:_l2,0fffeH
183         and             word ptr DGROUP:_l2,0fffH
184         add             word ptr DGROUP:_l3,2
185         and             word ptr DGROUP:_l3,0fffH
186         add             word ptr DGROUP:_l4,3
187         and             word ptr DGROUP:_l4,0fffH
188         pop             ds
189         retf
190 L$8:
191         cmp             al,0
192         cmp             al,0
193         cmp             al,0
194         cmp             al,0
195         cmp             ax,3e00H
196         add             byte ptr [bx],bh
197         add             byte ptr [bx+si],al
198         inc             cx
199         add             byte ptr [bp+si],al
200         inc             sp
201         add             byte ptr [bp],al
202         dec             ax
203         add             byte ptr [bp+si],cl
204         dec             sp
205         add             byte ptr [bp],cl
206         push            cx
207         add             byte ptr [si],dl
208         push            di
209         add             byte ptr [bp+si],bl
210         pop             bp
211         add             byte ptr [bx+si],ah
212         add             byte ptr fs:[bx+si],ch
213         ;;;;????insb
214         add             byte ptr [bx+si],dh
215         je              L$9
216 L$9:
217         jns             L$10
218 L$10:
219         jge             L$11
220 L$11:
221         add             byte ptr [bx+si],87H
222         add             byte ptr -6e00H[si],cl
223         add             byte ptr -6300H[bx],dl
224         add             byte ptr -5800H[bp+si],ah
225         add             byte ptr -4b00H[bp],ch
226         add             byte ptr -3e00H[bp+di],bh
227         add             cl,cl
228         add             al,dl
229         add             bh,dl
230         add             dh,bl
231         add             ch,ah
232         add             ch,ch
233         add             ch,dh
234         add             ch,bh
235         add             byte ptr [di],al
236         add             word ptr [di],cx
237         add             word ptr ds:[1f01H],dx
238         add             word ptr [bx],sp
239         add             word ptr [bx+si],si
240         add             word ptr [bx+di],di
241         add             word ptr 1[bp+di],ax
242         dec             sp
243         add             word ptr 1[bp],dx
244         ;pusha
245         push    AX
246         push    CX
247         push    DX
248         push    BX
249         push    SP
250         push    BP
251         push    SI
252         push    DI
253         add             word ptr 1[bp+si],bp
254         je              L$12
255     DB  7eH
256 L$12:
257     DD  L$13
258 L$13:
259     DB  1
260 _fadepal:
261         add             byte ptr [bx+si],al
262         add             byte ptr [bx+si],al
263         add             byte ptr [bx+si],al
264         add             byte ptr [bx+si],al
265         add             byte ptr [bx+si],al
266         add             byte ptr [bx+si],al
267         add             byte ptr [bx+si],al
268         add             byte ptr [bx+si],al
269         add             byte ptr [bx+si],al
270         add             byte ptr [bx+si],al
271         add             byte ptr [bx+si],al
272         add             byte ptr [bx+si],al
273         add             byte ptr [bx+si],al
274         add             byte ptr [bx+si],al
275         add             byte ptr [bx+si],al
276         add             byte ptr [bx+si],al
277         add             byte ptr [bx+si],al
278         add             byte ptr [bx+si],al
279         add             byte ptr [bx+si],al
280         add             byte ptr [bx+si],al
281         add             byte ptr [bx+si],al
282         add             byte ptr [bx+si],al
283         add             byte ptr [bx+si],al
284         add             byte ptr [bx+si],al
285         add             byte ptr [bx+si],al
286         add             byte ptr [bx+si],al
287         add             byte ptr [bx+si],al
288         add             byte ptr [bx+si],al
289         add             byte ptr [bx+si],al
290         add             byte ptr [bx+si],al
291         add             byte ptr [bx+si],al
292         add             byte ptr [bx+si],al
293         add             byte ptr [bx+si],al
294         add             byte ptr [bx+si],al
295         add             byte ptr [bx+si],al
296         add             byte ptr [bx+si],al
297         add             byte ptr [bx+si],al
298         add             byte ptr [bx+si],al
299         add             byte ptr [bx+si],al
300         add             byte ptr [bx+si],al
301         add             byte ptr [bx+si],al
302         add             byte ptr [bx+si],al
303         add             byte ptr [bx+si],al
304         add             byte ptr [bx+si],al
305         add             byte ptr [bx+si],al
306         add             byte ptr [bx+si],al
307         add             byte ptr [bx+si],al
308         add             byte ptr [bx+si],al
309         add             byte ptr [bx+si],al
310         add             byte ptr [bx+si],al
311         add             byte ptr [bx+si],al
312         add             byte ptr [bx+si],al
313         add             byte ptr [bx+si],al
314         add             byte ptr [bx+si],al
315         add             byte ptr [bx+si],al
316         add             byte ptr [bx+si],al
317         add             byte ptr [bx+si],al
318         add             byte ptr [bx+si],al
319         add             byte ptr [bx+si],al
320         add             byte ptr [bx+si],al
321         add             byte ptr [bx+si],al
322         add             byte ptr [bx+si],al
323         add             byte ptr [bx+si],al
324         add             byte ptr [bx+si],al
325         add             byte ptr [bx+si],al
326         add             byte ptr [bx+si],al
327         add             byte ptr [bx+si],al
328         add             byte ptr [bx+si],al
329         add             byte ptr [bx+si],al
330         add             byte ptr [bx+si],al
331         add             byte ptr [bx+si],al
332         add             byte ptr [bx+si],al
333         add             byte ptr [bx+si],al
334         add             byte ptr [bx+si],al
335         add             byte ptr [bx+si],al
336         add             byte ptr [bx+si],al
337         add             byte ptr [bx+si],al
338         add             byte ptr [bx+si],al
339         add             byte ptr [bx+si],al
340         add             byte ptr [bx+si],al
341         add             byte ptr [bx+si],al
342         add             byte ptr [bx+si],al
343         add             byte ptr [bx+si],al
344         add             byte ptr [bx+si],al
345         add             byte ptr [bx+si],al
346         add             byte ptr [bx+si],al
347         add             byte ptr [bx+si],al
348         add             byte ptr [bx+si],al
349         add             byte ptr [bx+si],al
350         add             byte ptr [bx+si],al
351         add             byte ptr [bx+si],al
352         add             byte ptr [bx+si],al
353         add             byte ptr [bx+si],al
354         add             byte ptr [bx+si],al
355         add             byte ptr [bx+si],al
356         add             byte ptr [bx+si],al
357         add             byte ptr [bx+si],al
358         add             byte ptr [bx+si],al
359         add             byte ptr [bx+si],al
360         add             byte ptr [bx+si],al
361         add             byte ptr [bx+si],al
362         add             byte ptr [bx+si],al
363         add             byte ptr [bx+si],al
364         add             byte ptr [bx+si],al
365         add             byte ptr [bx+si],al
366         add             byte ptr [bx+si],al
367         add             byte ptr [bx+si],al
368         add             byte ptr [bx+si],al
369         add             byte ptr [bx+si],al
370         add             byte ptr [bx+si],al
371         add             byte ptr [bx+si],al
372         add             byte ptr [bx+si],al
373         add             byte ptr [bx+si],al
374         add             byte ptr [bx+si],al
375         add             byte ptr [bx+si],al
376         add             byte ptr [bx+si],al
377         add             byte ptr [bx+si],al
378         add             byte ptr [bx+si],al
379         add             byte ptr [bx+si],al
380         add             byte ptr [bx+si],al
381         add             byte ptr [bx+si],al
382         add             byte ptr [bx+si],al
383         add             byte ptr [bx+si],al
384         add             byte ptr [bx+si],al
385         add             byte ptr [bx+si],al
386         add             byte ptr [bx+si],al
387         add             byte ptr [bx+si],al
388         add             byte ptr [bx+si],al
389         add             byte ptr [bx+si],al
390         add             byte ptr [bx+si],al
391         add             byte ptr [bx+si],al
392         add             byte ptr [bx+si],al
393         add             byte ptr [bx+si],al
394         add             byte ptr [bx+si],al
395         add             byte ptr [bx+si],al
396         add             byte ptr [bx+si],al
397         add             byte ptr [bx+si],al
398         add             byte ptr [bx+si],al
399         add             byte ptr [bx+si],al
400         add             byte ptr [bx+si],al
401         add             byte ptr [bx+si],al
402         add             byte ptr [bx+si],al
403         add             byte ptr [bx+si],al
404         add             byte ptr [bx+si],al
405         add             byte ptr [bx+si],al
406         add             byte ptr [bx+si],al
407         add             byte ptr [bx+si],al
408         add             byte ptr [bx+si],al
409         add             byte ptr [bx+si],al
410         add             byte ptr [bx+si],al
411         add             byte ptr [bx+si],al
412         add             byte ptr [bx+si],al
413         add             byte ptr [bx+si],al
414         add             byte ptr [bx+si],al
415         add             byte ptr [bx+si],al
416         add             byte ptr [bx+si],al
417         add             byte ptr [bx+si],al
418         add             byte ptr [bx+si],al
419         add             byte ptr [bx+si],al
420         add             byte ptr [bx+si],al
421         add             byte ptr [bx+si],al
422         add             byte ptr [bx+si],al
423         add             byte ptr [bx+si],al
424         add             byte ptr [bx+si],al
425         add             byte ptr [bx+si],al
426         add             byte ptr [bx+si],al
427         add             byte ptr [bx+si],al
428         add             byte ptr [bx+si],al
429         add             byte ptr [bx+si],al
430         add             byte ptr [bx+si],al
431         add             byte ptr [bx+si],al
432         add             byte ptr [bx+si],al
433         add             byte ptr [bx+si],al
434         add             byte ptr [bx+si],al
435         add             byte ptr [bx+si],al
436         add             byte ptr [bx+si],al
437         add             byte ptr [bx+si],al
438         add             byte ptr [bx+si],al
439         add             byte ptr [bx+si],al
440         add             byte ptr [bx+si],al
441         add             byte ptr [bx+si],al
442         add             byte ptr [bx+si],al
443         add             byte ptr [bx+si],al
444         add             byte ptr [bx+si],al
445         add             byte ptr [bx+si],al
446         add             byte ptr [bx+si],al
447         add             byte ptr [bx+si],al
448         add             byte ptr [bx+si],al
449         add             byte ptr [bx+si],al
450         add             byte ptr [bx+si],al
451         add             byte ptr [bx+si],al
452         add             byte ptr [bx+si],al
453         add             byte ptr [bx+si],al
454         add             byte ptr [bx+si],al
455         add             byte ptr [bx+si],al
456         add             byte ptr [bx+si],al
457         add             byte ptr [bx+si],al
458         add             byte ptr [bx+si],al
459         add             byte ptr [bx+si],al
460         add             byte ptr [bx+si],al
461         add             byte ptr [bx+si],al
462         add             byte ptr [bx+si],al
463         add             byte ptr [bx+si],al
464         add             byte ptr [bx+si],al
465         add             byte ptr [bx+si],al
466         add             byte ptr [bx+si],al
467         add             byte ptr [bx+si],al
468         add             byte ptr [bx+si],al
469         add             byte ptr [bx+si],al
470         add             byte ptr [bx+si],al
471         add             byte ptr [bx+si],al
472         add             byte ptr [bx+si],al
473         add             byte ptr [bx+si],al
474         add             byte ptr [bx+si],al
475         add             byte ptr [bx+si],al
476         add             byte ptr [bx+si],al
477         add             byte ptr [bx+si],al
478         add             byte ptr [bx+si],al
479         add             byte ptr [bx+si],al
480         add             byte ptr [bx+si],al
481         add             byte ptr [bx+si],al
482         add             byte ptr [bx+si],al
483         add             byte ptr [bx+si],al
484         add             byte ptr [bx+si],al
485         add             byte ptr [bx+si],al
486         add             byte ptr [bx+si],al
487         add             byte ptr [bx+si],al
488         add             byte ptr [bx+si],al
489         add             byte ptr [bx+si],al
490         add             byte ptr [bx+si],al
491         add             byte ptr [bx+si],al
492         add             byte ptr [bx+si],al
493         add             byte ptr [bx+si],al
494         add             byte ptr [bx+si],al
495         add             byte ptr [bx+si],al
496         add             byte ptr [bx+si],al
497         add             byte ptr [bx+si],al
498         add             byte ptr [bx+si],al
499         add             byte ptr [bx+si],al
500         add             byte ptr [bx+si],al
501         add             byte ptr [bx+si],al
502         add             byte ptr [bx+si],al
503         add             byte ptr [bx+si],al
504         add             byte ptr [bx+si],al
505         add             byte ptr [bx+si],al
506         add             byte ptr [bx+si],al
507         add             byte ptr [bx+si],al
508         add             byte ptr [bx+si],al
509         add             byte ptr [bx+si],al
510         add             byte ptr [bx+si],al
511         add             byte ptr [bx+si],al
512         add             byte ptr [bx+si],al
513         add             byte ptr [bx+si],al
514         add             byte ptr [bx+si],al
515         add             byte ptr [bx+si],al
516         add             byte ptr [bx+si],al
517         add             byte ptr [bx+si],al
518         add             byte ptr [bx+si],al
519         add             byte ptr [bx+si],al
520         add             byte ptr [bx+si],al
521         add             byte ptr [bx+si],al
522         add             byte ptr [bx+si],al
523         add             byte ptr [bx+si],al
524         add             byte ptr [bx+si],al
525         add             byte ptr [bx+si],al
526         add             byte ptr [bx+si],al
527         add             byte ptr [bx+si],al
528         add             byte ptr [bx+si],al
529         add             byte ptr [bx+si],al
530         add             byte ptr [bx+si],al
531         add             byte ptr [bx+si],al
532         add             byte ptr [bx+si],al
533         add             byte ptr [bx+si],al
534         add             byte ptr [bx+si],al
535         add             byte ptr [bx+si],al
536         add             byte ptr [bx+si],al
537         add             byte ptr [bx+si],al
538         add             byte ptr [bx+si],al
539         add             byte ptr [bx+si],al
540         add             byte ptr [bx+si],al
541         add             byte ptr [bx+si],al
542         add             byte ptr [bx+si],al
543         add             byte ptr [bx+si],al
544         add             byte ptr [bx+si],al
545         add             byte ptr [bx+si],al
546         add             byte ptr [bx+si],al
547         add             byte ptr [bx+si],al
548         add             byte ptr [bx+si],al
549         add             byte ptr [bx+si],al
550         add             byte ptr [bx+si],al
551         add             byte ptr [bx+si],al
552         add             byte ptr [bx+si],al
553         add             byte ptr [bx+si],al
554         add             byte ptr [bx+si],al
555         add             byte ptr [bx+si],al
556         add             byte ptr [bx+si],al
557         add             byte ptr [bx+si],al
558         add             byte ptr [bx+si],al
559         add             byte ptr [bx+si],al
560         add             byte ptr [bx+si],al
561         add             byte ptr [bx+si],al
562         add             byte ptr [bx+si],al
563         add             byte ptr [bx+si],al
564         add             byte ptr [bx+si],al
565         add             byte ptr [bx+si],al
566         add             byte ptr [bx+si],al
567         add             byte ptr [bx+si],al
568         add             byte ptr [bx+si],al
569         add             byte ptr [bx+si],al
570         add             byte ptr [bx+si],al
571         add             byte ptr [bx+si],al
572         add             byte ptr [bx+si],al
573         add             byte ptr [bx+si],al
574         add             byte ptr [bx+si],al
575         add             byte ptr [bx+si],al
576         add             byte ptr [bx+si],al
577         add             byte ptr [bx+si],al
578         add             byte ptr [bx+si],al
579         add             byte ptr [bx+si],al
580         add             byte ptr [bx+si],al
581         add             byte ptr [bx+si],al
582         add             byte ptr [bx+si],al
583         add             byte ptr [bx+si],al
584         add             byte ptr [bx+si],al
585         add             byte ptr [bx+si],al
586         add             byte ptr [bx+si],al
587         add             byte ptr [bx+si],al
588         add             byte ptr [bx+si],al
589         add             byte ptr [bx+si],al
590         add             byte ptr [bx+si],al
591         add             byte ptr [bx+si],al
592         add             byte ptr [bx+si],al
593         add             byte ptr [bx+si],al
594         add             byte ptr [bx+si],al
595         add             byte ptr [bx+si],al
596         add             byte ptr [bx+si],al
597         add             byte ptr [bx+si],al
598         add             byte ptr [bx+si],al
599         add             byte ptr [bx+si],al
600         add             byte ptr [bx+si],al
601         add             byte ptr [bx+si],al
602         add             byte ptr [bx+si],al
603         add             byte ptr [bx+si],al
604         add             byte ptr [bx+si],al
605         add             byte ptr [bx+si],al
606         add             byte ptr [bx+si],al
607         add             byte ptr [bx+si],al
608         add             byte ptr [bx+si],al
609         add             byte ptr [bx+si],al
610         add             byte ptr [bx+si],al
611         add             byte ptr [bx+si],al
612         add             byte ptr [bx+si],al
613         add             byte ptr [bx+si],al
614         add             byte ptr [bx+si],al
615         add             byte ptr [bx+si],al
616         add             byte ptr [bx+si],al
617         add             byte ptr [bx+si],al
618         add             byte ptr [bx+si],al
619         add             byte ptr [bx+si],al
620         add             byte ptr [bx+si],al
621         add             byte ptr [bx+si],al
622         add             byte ptr [bx+si],al
623         add             byte ptr [bx+si],al
624         add             byte ptr [bx+si],al
625         add             byte ptr [bx+si],al
626         add             byte ptr [bx+si],al
627         add             byte ptr [bx+si],al
628         add             byte ptr [bx+si],al
629         add             byte ptr [bx+si],al
630         add             byte ptr [bx+si],al
631         add             byte ptr [bx+si],al
632         add             byte ptr [bx+si],al
633         add             byte ptr [bx+si],al
634         add             byte ptr [bx+si],al
635         add             byte ptr [bx+si],al
636         add             byte ptr [bx+si],al
637         add             byte ptr [bx+si],al
638         add             byte ptr [bx+si],al
639         add             byte ptr [bx+si],al
640         add             byte ptr [bx+si],al
641         add             byte ptr [bx+si],al
642         add             byte ptr [bx+si],al
643         add             byte ptr [bx+si],al
644         add             byte ptr [bx+si],al
645         add             byte ptr [bx+si],al
646         add             byte ptr [bx+si],al
647         add             byte ptr [bx+si],al
648         add             byte ptr [bx+si],al
649         add             byte ptr [bx+si],al
650         add             byte ptr [bx+si],al
651         add             byte ptr [bx+si],al
652         add             byte ptr [bx+si],al
653         add             byte ptr [bx+si],al
654         add             byte ptr [bx+si],al
655         add             byte ptr [bx+si],al
656         add             byte ptr [bx+si],al
657         add             byte ptr [bx+si],al
658         add             byte ptr [bx+si],al
659         add             byte ptr [bx+si],al
660         add             byte ptr [bx+si],al
661         add             byte ptr [bx+si],al
662         add             byte ptr [bx+si],al
663         add             byte ptr [bx+si],al
664         add             byte ptr [bx+si],al
665         add             byte ptr [bx+si],al
666         add             byte ptr [bx+si],al
667         add             byte ptr [bx+si],al
668         add             byte ptr [bx+si],al
669         add             byte ptr [bx+si],al
670         add             byte ptr [bx+si],al
671         add             byte ptr [bx+si],al
672         add             byte ptr [bx+si],al
673         add             byte ptr [bx+si],al
674         add             byte ptr [bx+si],al
675         add             byte ptr [bx+si],al
676         add             byte ptr [bx+si],al
677         add             byte ptr [bx+si],al
678         add             byte ptr [bx+si],al
679         add             byte ptr [bx+si],al
680         add             byte ptr [bx+si],al
681         add             byte ptr [bx+si],al
682         add             byte ptr [bx+si],al
683         add             byte ptr [bx+si],al
684         add             byte ptr [bx+si],al
685         add             byte ptr [bx+si],al
686         add             byte ptr [bx+si],al
687         add             byte ptr [bx+si],al
688         add             byte ptr [bx+si],al
689         add             byte ptr [bx+si],al
690         add             byte ptr [bx+si],al
691         add             byte ptr [bx+si],al
692         add             byte ptr [bx+si],al
693         add             byte ptr [bx+si],al
694         add             byte ptr [bx+si],al
695         add             byte ptr [bx+si],al
696         add             byte ptr [bx+si],al
697         add             byte ptr [bx+si],al
698         add             byte ptr [bx+si],al
699         add             byte ptr [bx+si],al
700         add             byte ptr [bx+si],al
701         add             byte ptr [bx+si],al
702         add             byte ptr [bx+si],al
703         add             byte ptr [bx+si],al
704         add             byte ptr [bx+si],al
705         add             byte ptr [bx+si],al
706         add             byte ptr [bx+si],al
707         add             byte ptr [bx+si],al
708         add             byte ptr [bx+si],al
709         add             byte ptr [bx+si],al
710         add             byte ptr [bx+si],al
711         add             byte ptr [bx+si],al
712         add             byte ptr [bx+si],al
713         add             byte ptr [bx+si],al
714         add             byte ptr [bx+si],al
715         add             byte ptr [bx+si],al
716         add             byte ptr [bx+si],al
717         add             byte ptr [bx+si],al
718         add             byte ptr [bx+si],al
719         add             byte ptr [bx+si],al
720         add             byte ptr [bx+si],al
721         add             byte ptr [bx+si],al
722         add             byte ptr [bx+si],al
723         add             byte ptr [bx+si],al
724         add             byte ptr [bx+si],al
725         add             byte ptr [bx+si],al
726         add             byte ptr [bx+si],al
727         add             byte ptr [bx+si],al
728         add             byte ptr [bx+si],al
729         add             byte ptr [bx+si],al
730         add             byte ptr [bx+si],al
731         add             byte ptr [bx+si],al
732         add             byte ptr [bx+si],al
733         add             byte ptr [bx+si],al
734         add             byte ptr [bx+si],al
735         add             byte ptr [bx+si],al
736         add             byte ptr [bx+si],al
737         add             byte ptr [bx+si],al
738         add             byte ptr [bx+si],al
739         add             byte ptr [bx+si],al
740         add             byte ptr [bx+si],al
741         add             byte ptr [bx+si],al
742         add             byte ptr [bx+si],al
743         add             byte ptr [bx+si],al
744         add             byte ptr [bx+si],al
745         add             byte ptr [bx+si],al
746         add             byte ptr [bx+si],al
747         add             byte ptr [bx+si],al
748         add             byte ptr [bx+si],al
749         add             byte ptr [bx+si],al
750         add             byte ptr [bx+si],al
751         add             byte ptr [bx+si],al
752         add             byte ptr [bx+si],al
753         add             byte ptr [bx+si],al
754         add             byte ptr [bx+si],al
755         add             byte ptr [bx+si],al
756         add             byte ptr [bx+si],al
757         add             byte ptr [bx+si],al
758         add             byte ptr [bx+si],al
759         add             byte ptr [bx+si],al
760         add             byte ptr [bx+si],al
761         add             byte ptr [bx+si],al
762         add             byte ptr [bx+si],al
763         add             byte ptr [bx+si],al
764         add             byte ptr [bx+si],al
765         add             byte ptr [bx+si],al
766         add             byte ptr [bx+si],al
767         add             byte ptr [bx+si],al
768         add             byte ptr [bx+si],al
769         add             byte ptr [bx+si],al
770         add             byte ptr [bx+si],al
771         add             byte ptr [bx+si],al
772         add             byte ptr [bx+si],al
773         add             byte ptr [bx+si],al
774         add             byte ptr [bx+si],al
775         add             byte ptr [bx+si],al
776         add             byte ptr [bx+si],al
777         add             byte ptr [bx+si],al
778         add             byte ptr [bx+si],al
779         add             byte ptr [bx+si],al
780         add             byte ptr [bx+si],al
781         add             byte ptr [bx+si],al
782         add             byte ptr [bx+si],al
783         add             byte ptr [bx+si],al
784         add             byte ptr [bx+si],al
785         add             byte ptr [bx+si],al
786         add             byte ptr [bx+si],al
787         add             byte ptr [bx+si],al
788         add             byte ptr [bx+si],al
789         add             byte ptr [bx+si],al
790         add             byte ptr [bx+si],al
791         add             byte ptr [bx+si],al
792         add             byte ptr [bx+si],al
793         add             byte ptr [bx+si],al
794         add             byte ptr [bx+si],al
795         add             byte ptr [bx+si],al
796         add             byte ptr [bx+si],al
797         add             byte ptr [bx+si],al
798         add             byte ptr [bx+si],al
799         add             byte ptr [bx+si],al
800         add             byte ptr [bx+si],al
801         add             byte ptr [bx+si],al
802         add             byte ptr [bx+si],al
803         add             byte ptr [bx+si],al
804         add             byte ptr [bx+si],al
805         add             byte ptr [bx+si],al
806         add             byte ptr [bx+si],al
807         add             byte ptr [bx+si],al
808         add             byte ptr [bx+si],al
809         add             byte ptr [bx+si],al
810         add             byte ptr [bx+si],al
811         add             byte ptr [bx+si],al
812         add             byte ptr [bx+si],al
813         add             byte ptr [bx+si],al
814         add             byte ptr [bx+si],al
815         add             byte ptr [bx+si],al
816         add             byte ptr [bx+si],al
817         add             byte ptr [bx+si],al
818         add             byte ptr [bx+si],al
819         add             byte ptr [bx+si],al
820         add             byte ptr [bx+si],al
821         add             byte ptr [bx+si],al
822         add             byte ptr [bx+si],al
823         add             byte ptr [bx+si],al
824         add             byte ptr [bx+si],al
825         add             byte ptr [bx+si],al
826         add             byte ptr [bx+si],al
827         add             byte ptr [bx+si],al
828         add             byte ptr [bx+si],al
829         add             byte ptr [bx+si],al
830         add             byte ptr [bx+si],al
831         add             byte ptr [bx+si],al
832         add             byte ptr [bx+si],al
833         add             byte ptr [bx+si],al
834         add             byte ptr [bx+si],al
835         add             byte ptr [bx+si],al
836         add             byte ptr [bx+si],al
837         add             byte ptr [bx+si],al
838         add             byte ptr [bx+si],al
839         add             byte ptr [bx+si],al
840         add             byte ptr [bx+si],al
841         add             byte ptr [bx+si],al
842         add             byte ptr [bx+si],al
843         add             byte ptr [bx+si],al
844         add             byte ptr [bx+si],al
845         add             byte ptr [bx+si],al
846         add             byte ptr [bx+si],al
847         add             byte ptr [bx+si],al
848         add             byte ptr [bx+si],al
849         add             byte ptr [bx+si],al
850         add             byte ptr [bx+si],al
851         add             byte ptr [bx+si],al
852         add             byte ptr [bx+si],al
853         add             byte ptr [bx+si],al
854         add             byte ptr [bx+si],al
855         add             byte ptr [bx+si],al
856         add             byte ptr [bx+si],al
857         add             byte ptr [bx+si],al
858         add             byte ptr [bx+si],al
859         add             byte ptr [bx+si],al
860         add             byte ptr [bx+si],al
861         add             byte ptr [bx+si],al
862         add             byte ptr [bx+si],al
863         add             byte ptr [bx+si],al
864         add             byte ptr [bx+si],al
865         add             byte ptr [bx+si],al
866         add             byte ptr [bx+si],al
867         add             byte ptr [bx+si],al
868         add             byte ptr [bx+si],al
869         add             byte ptr [bx+si],al
870         add             byte ptr [bx+si],al
871         add             byte ptr [bx+si],al
872         add             byte ptr [bx+si],al
873         add             byte ptr [bx+si],al
874         add             byte ptr [bx+si],al
875         add             byte ptr [bx+si],al
876         add             byte ptr [bx+si],al
877         add             byte ptr [bx+si],al
878         add             byte ptr [bx+si],al
879         add             byte ptr [bx+si],al
880         add             byte ptr [bx+si],al
881         add             byte ptr [bx+si],al
882         add             byte ptr [bx+si],al
883         add             byte ptr [bx+si],al
884         add             byte ptr [bx+si],al
885         add             byte ptr [bx+si],al
886         add             byte ptr [bx+si],al
887         add             byte ptr [bx+si],al
888         add             byte ptr [bx+si],al
889         add             byte ptr [bx+si],al
890         add             byte ptr [bx+si],al
891         add             byte ptr [bx+si],al
892         add             byte ptr [bx+si],al
893         add             byte ptr [bx+si],al
894         add             byte ptr [bx+si],al
895         add             byte ptr [bx+si],al
896         add             byte ptr [bx+si],al
897         add             byte ptr [bx+si],al
898         add             byte ptr [bx+si],al
899         add             byte ptr [bx+si],al
900         add             byte ptr [bx+si],al
901         add             byte ptr [bx+si],al
902         add             byte ptr [bx+si],al
903         add             byte ptr [bx+si],al
904         add             byte ptr [bx+si],al
905         add             byte ptr [bx+si],al
906         add             byte ptr [bx+si],al
907         add             byte ptr [bx+si],al
908         add             byte ptr [bx+si],al
909         add             byte ptr [bx+si],al
910         add             byte ptr [bx+si],al
911         add             byte ptr [bx+si],al
912         add             byte ptr [bx+si],al
913         add             byte ptr [bx+si],al
914         add             byte ptr [bx+si],al
915         add             byte ptr [bx+si],al
916         add             byte ptr [bx+si],al
917         add             byte ptr [bx+si],al
918         add             byte ptr [bx+si],al
919         add             byte ptr [bx+si],al
920         add             byte ptr [bx+si],al
921         add             byte ptr [bx+si],al
922         add             byte ptr [bx+si],al
923         add             byte ptr [bx+si],al
924         add             byte ptr [bx+si],al
925         add             byte ptr [bx+si],al
926         add             byte ptr [bx+si],al
927         add             byte ptr [bx+si],al
928         add             byte ptr [bx+si],al
929         add             byte ptr [bx+si],al
930         add             byte ptr [bx+si],al
931         add             byte ptr [bx+si],al
932         add             byte ptr [bx+si],al
933         add             byte ptr [bx+si],al
934         add             byte ptr [bx+si],al
935         add             byte ptr [bx+si],al
936         add             byte ptr [bx+si],al
937         add             byte ptr [bx+si],al
938         add             byte ptr [bx+si],al
939         add             byte ptr [bx+si],al
940         add             byte ptr [bx+si],al
941         add             byte ptr [bx+si],al
942         add             byte ptr [bx+si],al
943         add             byte ptr [bx+si],al
944         add             byte ptr [bx+si],al
945         add             byte ptr [bx+si],al
946         add             byte ptr [bx+si],al
947         add             byte ptr [bx+si],al
948         add             byte ptr [bx+si],al
949         add             byte ptr [bx+si],al
950         add             byte ptr [bx+si],al
951         add             byte ptr [bx+si],al
952         add             byte ptr [bx+si],al
953         add             byte ptr [bx+si],al
954         add             byte ptr [bx+si],al
955         add             byte ptr [bx+si],al
956         add             byte ptr [bx+si],al
957         add             byte ptr [bx+si],al
958         add             byte ptr [bx+si],al
959         add             byte ptr [bx+si],al
960         add             byte ptr [bx+si],al
961         add             byte ptr [bx+si],al
962         add             byte ptr [bx+si],al
963         add             byte ptr [bx+si],al
964         add             byte ptr [bx+si],al
965         add             byte ptr [bx+si],al
966         add             byte ptr [bx+si],al
967         add             byte ptr [bx+si],al
968         add             byte ptr [bx+si],al
969         add             byte ptr [bx+si],al
970         add             byte ptr [bx+si],al
971         add             byte ptr [bx+si],al
972         add             byte ptr [bx+si],al
973         add             byte ptr [bx+si],al
974         add             byte ptr [bx+si],al
975         add             byte ptr [bx+si],al
976         add             byte ptr [bx+si],al
977         add             byte ptr [bx+si],al
978         add             byte ptr [bx+si],al
979         add             byte ptr [bx+si],al
980         add             byte ptr [bx+si],al
981         add             byte ptr [bx+si],al
982         add             byte ptr [bx+si],al
983         add             byte ptr [bx+si],al
984         add             byte ptr [bx+si],al
985         add             byte ptr [bx+si],al
986         add             byte ptr [bx+si],al
987         add             byte ptr [bx+si],al
988         add             byte ptr [bx+si],al
989         add             byte ptr [bx+si],al
990         add             byte ptr [bx+si],al
991         add             byte ptr [bx+si],al
992         add             byte ptr [bx+si],al
993         add             byte ptr [bx+si],al
994         add             byte ptr [bx+si],al
995         add             byte ptr [bx+si],al
996         add             byte ptr [bx+si],al
997         add             byte ptr [bx+si],al
998         add             byte ptr [bx+si],al
999         add             byte ptr [bx+si],al
1000         add             byte ptr [bx+si],al
1001         add             byte ptr [bx+si],al
1002         add             byte ptr [bx+si],al
1003         add             byte ptr [bx+si],al
1004         add             byte ptr [bx+si],al
1005         add             byte ptr [bx+si],al
1006         add             byte ptr [bx+si],al
1007         add             byte ptr [bx+si],al
1008         add             byte ptr [bx+si],al
1009         add             byte ptr [bx+si],al
1010         add             byte ptr [bx+si],al
1011         add             byte ptr [bx+si],al
1012         add             byte ptr [bx+si],al
1013         add             byte ptr [bx+si],al
1014         add             byte ptr [bx+si],al
1015         add             byte ptr [bx+si],al
1016         add             byte ptr [bx+si],al
1017         add             byte ptr [bx+si],al
1018         add             byte ptr [bx+si],al
1019         add             byte ptr [bx+si],al
1020         add             byte ptr [bx+si],al
1021         add             byte ptr [bx+si],al
1022         add             byte ptr [bx+si],al
1023         add             byte ptr [bx+si],al
1024         add             byte ptr [bx+si],al
1025         add             byte ptr [bx+si],al
1026         add             byte ptr [bx+si],al
1027         add             byte ptr [bx+si],al
1028         add             byte ptr [bx+si],al
1029 _cop_fadepal:
1030         add             byte ptr [bx+si],al
1031         add             byte ptr [bx+si],al
1032 L$14:
1033         inc             word ptr cs:2
1034         cmp             word ptr cs:_cop_drop,40H
1035         ja              L$15
1036         push            bx
1037         mov             bx,word ptr cs:_cop_drop
1038         shl             bx,1
1039         add             bx,offset L$8
1040         mov             bx,word ptr cs:[bx]
1041         mov             dx,3d4H
1042         mov             al,18H
1043         mov             ah,bl
1044         out             dx,ax
1045         mov             al,7
1046         mov             ah,bh
1047         shl             ah,1
1048         shl             ah,1
1049         shl             ah,1
1050         shl             ah,1
1051         and             ah,10H
1052         or              ah,0fH
1053         out             dx,ax
1054         pop             bx
1055         retf
1056 L$15:
1057         cmp             word ptr cs:_cop_drop,100H
1058         jae             L$19
1059         cmp             word ptr cs:_cop_drop,80H
1060         jae             L$16
1061         cmp             word ptr cs:_cop_drop,60H
1062         ja              L$19
1063 L$16:
1064         mov             word ptr cs:_cop_pal,offset _fadepal
1065         mov             word ptr cs:L$1,COPPER_TEXT
1066         mov             word ptr cs:_do_pal,1
1067         cmp             word ptr cs:_cop_drop,41H
1068         je              L$18
1069         mov             dx,3d4H
1070         mov             ax,3c18H
1071         out             dx,ax
1072         mov             ax,0f07H
1073         out             dx,ax
1074         push            ds
1075         push            si
1076         push            di
1077         push            cx
1078         lds             si,dword ptr cs:_cop_fadepal
1079         mov             di,offset _fadepal
1080         mov             cx,30H
1081 L$17:
1082         mov             ax,word ptr [si]
1083         add             byte ptr cs:300H[di],al
1084         adc             byte ptr cs:[di],ah
1085         mov             ax,word ptr 2[si]
1086         add             byte ptr cs:301H[di],al
1087         adc             byte ptr cs:1[di],ah
1088         mov             ax,word ptr 4[si]
1089         add             byte ptr cs:302H[di],al
1090         adc             byte ptr cs:2[di],ah
1091         mov             ax,word ptr 6[si]
1092         add             byte ptr cs:303H[di],al
1093         adc             byte ptr cs:3[di],ah
1094         mov             ax,word ptr 8[si]
1095         add             byte ptr cs:304H[di],al
1096         adc             byte ptr cs:4[di],ah
1097         mov             ax,word ptr 0aH[si]
1098         add             byte ptr cs:305H[di],al
1099         adc             byte ptr cs:5[di],ah
1100         mov             ax,word ptr 0cH[si]
1101         add             byte ptr cs:306H[di],al
1102         adc             byte ptr cs:6[di],ah
1103         mov             ax,word ptr 0eH[si]
1104         add             byte ptr cs:307H[di],al
1105         adc             byte ptr cs:7[di],ah
1106         mov             ax,word ptr 10H[si]
1107         add             byte ptr cs:308H[di],al
1108         adc             byte ptr cs:8[di],ah
1109         mov             ax,word ptr 12H[si]
1110         add             byte ptr cs:309H[di],al
1111         adc             byte ptr cs:9[di],ah
1112         mov             ax,word ptr 14H[si]
1113         add             byte ptr cs:30aH[di],al
1114         adc             byte ptr cs:0aH[di],ah
1115         mov             ax,word ptr 16H[si]
1116         add             byte ptr cs:30bH[di],al
1117         adc             byte ptr cs:0bH[di],ah
1118         mov             ax,word ptr 18H[si]
1119         add             byte ptr cs:30cH[di],al
1120         adc             byte ptr cs:0cH[di],ah
1121         mov             ax,word ptr 1aH[si]
1122         add             byte ptr cs:30dH[di],al
1123         adc             byte ptr cs:0dH[di],ah
1124         mov             ax,word ptr 1cH[si]
1125         add             byte ptr cs:30eH[di],al
1126         adc             byte ptr cs:0eH[di],ah
1127         mov             ax,word ptr 1eH[si]
1128         add             byte ptr cs:30fH[di],al
1129         adc             byte ptr cs:0fH[di],ah
1130         add             di,10H
1131         add             si,20H
1132         dec             cx
1133         jne             L$17
1134         pop             cx
1135         pop             di
1136         pop             si
1137         pop             ds
1138         retf
1139 L$18:
1140         mov             dx,3d4H
1141         mov             ax,9018H
1142         out             dx,ax
1143         mov             ax,1f07H
1144         out             dx,ax
1145         push            cs
1146         call            near ptr L$20
1147         retf
1148 L$19:
1149         mov             word ptr cs:_cop_drop,0
1150         retf
1151 L$20:
1152         push            ax
1153         push            ds
1154         ;;;;????push            seg _k1
1155         pop             ds
1156         mov             ax,word ptr DGROUP:_il1
1157         mov             word ptr DGROUP:_l1,ax
1158         mov             ax,word ptr DGROUP:_il2
1159         mov             word ptr DGROUP:_l2,ax
1160         mov             ax,word ptr DGROUP:_il3
1161         mov             word ptr DGROUP:_l3,ax
1162         mov             ax,word ptr DGROUP:_il4
1163         mov             word ptr DGROUP:_l4,ax
1164         mov             ax,word ptr DGROUP:_ik1
1165         mov             word ptr DGROUP:_k1,ax
1166         mov             ax,word ptr DGROUP:_ik2
1167         mov             word ptr DGROUP:_k2,ax
1168         mov             ax,word ptr DGROUP:_ik3
1169         mov             word ptr DGROUP:_k3,ax
1170         mov             ax,word ptr DGROUP:_ik4
1171         mov             word ptr DGROUP:_k4,ax
1172         pop             ds
1173         pop             ax
1174         retf
1175 COPPER_TEXT             ENDS
1176 _DATA           SEGMENT WORD PUBLIC USE16 'DATA'
1177 _DATA           ENDS
1178                 END