]> 4ch.mooo.com Git - 16.git/blob - 16/xw__/mxot.asm
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / 16 / xw__ / mxot.asm
1 .387
2                 PUBLIC  MXSETFONT
3                 PUBLIC  MXSETTEXTCOLOR
4                 PUBLIC  MXOUTCHAR
5                 PUBLIC  MXOUTTEXT
6                 PUBLIC  MXSETTEXTSTEP
7                 PUBLIC  MXGETTEXTSTEP
8                 EXTRN   MX_CODESEGMENT:BYTE
9                 EXTRN   MXPUTIMAGE:BYTE
10 MX_TEXT         SEGMENT PARA PUBLIC USE16 'CODE'
11                 ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
12 L$1:
13         add             byte ptr [bx+si],al
14         add             byte ptr [bx+si],al
15         add             byte ptr [bx+si],al
16         add             byte ptr [bx+si],al
17         ; The label referred to here is an undefined location
18         jle             0ffffff8bH
19         movsw
20         and             word ptr -7e67H[di],7e7eH
21         call            bx
22         call            bx
23         out             0ffH,ax
24         jle             L$9
25         ????
26         ????
27         ????
28         jl              L$7
29         adc             byte ptr [bx+si],al
30         adc             byte ptr [bx+si],bh
31 L$2:
32         jl              L$2
33         jl              L$8
34         adc             byte ptr [bx+si],al
35         adc             byte ptr [bx+si],bh
36         adc             byte ptr -2[si],dl
37         push            sp
38         adc             dh,bh
39         adc             byte ptr [bx+si],bh
40 L$3:
41         jl              L$3
42 L$4:
43         ????
44         jl              L$5
45         inc             byte ptr [bx+si]
46         sbb             byte ptr [si],bh
47         jle             L$11
48         cmp             al,18H
49         add             bh,bh
50         out             0c3H,ax
51     DB  81H, 81H, 0c3H, 0e7H
52 L$5:
53         inc             word ptr [bx+si]
54         cmp             al,66H
55         inc             dx
56         inc             dx
57     DB  66H, 3cH
58 L$6:
59         add             bh,bh
60         ret
61         cwd
62         mov             bp,99bdH
63 L$7:
64         ret
65         inc             word ptr [bx]
66         add             ax,word ptr [di]
67         ; The label referred to here is an undefined location
68         js              0ffffffe1H
69     DB  84H
70 L$8:
71         test            byte ptr 7cH[bx+si],bh
72         add             byte ptr 7c82H[bp+si],10H
73         cmp             byte ptr [bx+si],dl
74         sbb             al,10H
75         sbb             al,10H
76         adc             byte ptr [bx+si],dl
77         xor             byte ptr [bx+si],dh
78         and             bh,byte ptr ds:[2222H]
79         pushad
80         cwd
81         pop             dx
82         cmp             al,0e7H
83         out             3cH,ax
84         pop             dx
85         cwd
86         add             byte ptr [bx+si],dl
87         xor             byte ptr -10H[bx+si],dh
88 L$9:
89         jo              L$10
90         adc             byte ptr [bx+si],al
91         add             al,0e0H
92         lock loopnz     L$6
93         adc             byte ptr [bx+si],38H
94         push            sp
95         adc             byte ptr [bx+si],dl
96         push            sp
97         cmp             byte ptr [bx+si],dl
98         dec             ax
99         dec             ax
100         dec             ax
101         dec             ax
102         dec             ax
103         add             byte ptr [bx+si],cl
104         jle             L$4
105         xchg            ax,dx
106         jb              L$10
107         adc             dl,byte ptr [bp+si]
108         add             byte ptr [si],bh
109         and             bl,byte ptr [bx+si]
110         and             al,24H
111         sbb             byte ptr 3cH[si],al
112         add             byte ptr [bx+si],al
113         add             byte ptr [bx+si],al
114     DB  0, 3eH
115     DD  ds:[3eH]
116 L$10:
117         add             byte ptr [bx+si],bh
118         push            sp
119     DB  10H
120 L$11:
121         adc             byte ptr [bx+si],dl
122         push            sp
123         cmp             dh,bh
124         add             byte ptr [bx+si],dl
125         cmp             byte ptr 10H[si],dl
126         adc             byte ptr [bx+si],dl
127         add             byte ptr [bx+si],al
128         adc             byte ptr [bx+si],dl
129         adc             byte ptr 38H[si],dl
130         adc             byte ptr [bx+si],al
131         add             byte ptr [bx+si],cl
132         add             al,0feH
133         add             al,8
134         add             byte ptr [bx+si],al
135         add             byte ptr [bx+si],ah
136         inc             ax
137         inc             byte ptr 20H[bx+si]
138         add             byte ptr [bx+si],al
139         add             byte ptr [bx+si],al
140         add             byte ptr -380H[bx+si],0
141         add             byte ptr [bx+si],al
142         and             al,42H
143         inc             word ptr 24H[bp+si]
144         add             byte ptr [bx+si],al
145         add             byte ptr [bx+si],al
146         adc             byte ptr [bx+si],bh
147 L$12:
148         jl              L$12
149         add             byte ptr [bx+si],al
150         add             byte ptr [bx+si],al
151         ????
152         jl              L$15
153         adc             byte ptr [bx+si],al
154         add             byte ptr [bx+si],al
155         add             byte ptr [bx+si],al
156         add             byte ptr [bx+si],al
157         add             byte ptr [bx+si],al
158         add             byte ptr [bx+si],dl
159         adc             byte ptr [bx+si],dl
160         adc             byte ptr [bx+si],dl
161         add             byte ptr [bx+si],dl
162         add             byte ptr [bx+si],al
163         and             al,24H
164         add             byte ptr [bx+si],al
165     DB  0
166 L$13:
167         add             byte ptr [bx+si],al
168         and             al,24H
169         jle             140H
170         jle             142H
171 L$14:
172         and             al,0
173         cmp             byte ptr 50H[si],dl
174         cmp             byte ptr [si],dl
175         push            sp
176         cmp             byte ptr [bx+si],dl
177         add             byte ptr [bp+si],al
178         inc             sp
179         or              byte ptr [bx+si],dl
180         and             byte ptr [bp+si],al
181         cmp             byte ptr 38H[si],al
182         pusha
183         xchg            ax,sp
184 L$15:
185     DB  88H
186 L$16:
187         je              138H
188         and             byte ptr [bx+si],ah
189         inc             ax
190         add             byte ptr [bx+si],al
191         add             byte ptr [bx+si],al
192         add             byte ptr [bx+si],dl
193         and             byte ptr 40H[bx+si],al
194         inc             ax
195         and             byte ptr [bx+si],dl
196         add             byte ptr 20H[bx+si],al
197         adc             byte ptr [bx+si],dl
198         adc             byte ptr [bx+si],ah
199 L$17:
200         inc             ax
201         add             byte ptr [bx+si],al
202         and             al,18H
203         jle             L$18
204         and             al,0
205         add             byte ptr [bx+si],al
206         adc             byte ptr [bx+si],dl
207         jl              L$18
208         adc             byte ptr [bx+si],al
209         add             byte ptr [bx+si],al
210         add             byte ptr [bx+si],al
211         add             byte ptr [bx+si],al
212         adc             byte ptr [bx+si],dl
213         and             byte ptr [bx+si],al
214         add             byte ptr [bx+si],al
215         cld
216     DB  0
217 L$18:
218         add             byte ptr [bx+si],al
219         add             byte ptr [bx+si],al
220         add             byte ptr [bx+si],al
221         add             byte ptr [bx+si],al
222         add             byte ptr [bx+si],dl
223         add             byte ptr [bx+si],al
224         add             al,8
225         adc             byte ptr [bx+si],ah
226         inc             ax
227 L$19:
228         add             byte ptr [bx+si],7cH
229         ????
230     DB  8aH, 92H
231 L$20:
232         mov             byte ptr 0c6H,al
233     DD  L$21
234 L$21:
235         adc             byte ptr [bx+si],dl
236         adc             byte ptr [bx+si],bh
237         add             byte ptr L$13[bx+si],bh
238         add             al,18H
239         pusha
240         cmp             ah,0
241         js              L$14
242         add             al,38H
243         add             al,84H
244         js              L$22
245 L$22:
246         sbb             al,24H
247         inc             sp
248         test            dh,bh
249         add             al,0eH
250         add             ah,bh
251         cmp             al,4
252         add             al,84H
253         js              L$23
254 L$23:
255         js              L$16
256         cmp             al,84H
257         test            byte ptr [bx+si],bh
258         cld
259         add             al,4
260         or              byte ptr [bx+si],dl
261         and             byte ptr [bx+si],ah
262         add             byte ptr -7cH[bx+si],bh
263         test            byte ptr -7cH[bx+si],bh
264         test            byte ptr [bx+si],bh
265         js              L$17
266         test            byte ptr 4[si],bh
267         test            byte ptr [bx+si],bh
268         add             byte ptr [bx+si],al
269         adc             byte ptr [bx+si],al
270         add             byte ptr [bx+si],al
271         adc             byte ptr [bx+si],al
272         add             byte ptr [bx+si],al
273         adc             byte ptr [bx+si],al
274         add             byte ptr [bx+si],dl
275         adc             byte ptr [bx+si],ah
276         or              byte ptr [bx+si],dl
277         and             byte ptr 20H[bx+si],al
278         adc             byte ptr [bx+si],cl
279         add             byte ptr [bx+si],al
280         add             ah,bh
281         add             byte ptr [bx+si],al
282         cld
283         add             byte ptr [bx+si],al
284         inc             ax
285         and             byte ptr [bx+si],dl
286         or              byte ptr [bx+si],dl
287         and             byte ptr [bx+si],al
288         js              L$19
289         add             al,8
290         adc             byte ptr [bx+si],al
291 L$24:
292         adc             byte ptr [bx+si],al
293         jl              L$20
294         mov             dx,0bea6H
295         cmp             byte ptr [si],78H
296         test            byte ptr -7b04H[si],al
297         test            byte ptr -800H[si],al
298         test            byte ptr -7b08H[si],al
299         test            al,bh
300         add             byte ptr -7cH[bx+si],bh
301         add             byte ptr -7b80H[bx+si],78H
302         add             al,dh
303         mov             byte ptr -7b7cH[si],al
304         mov             al,dh
305         add             ah,bh
306         add             byte ptr -7f10H[bx+si],80H
307         cld
308         add             ah,bh
309         add             byte ptr -7f10H[bx+si],80H
310         add             byte ptr [bx+si],78H
311         test            byte ptr -7b64H[bx+si],al
312         test            byte ptr [bx+si],bh
313         test            byte ptr -37cH[si],al
314         test            byte ptr 84H[si],al
315         cmp             byte ptr [bx+si],dl
316         adc             byte ptr [bx+si],dl
317         adc             byte ptr [bx+si],dl
318         cmp             byte ptr [bx+si],al
319         sbb             al,8
320         or              byte ptr [bx+si],cl
321         mov             byte ptr 70H[bx+si],cl
322         test            byte ptr -1f70H[bx+si],cl
323         nop
324         mov             byte ptr -8000H[si],al
325         add             byte ptr -7f80H[bx+si],80H
326         cld
327         add             dh,al
328         stosb
329         xchg            ax,dx
330         add             byte ptr -7d7eH[bp+si],0
331         add             dl,0a2H
332         xchg            ax,dx
333         mov             al,byte ptr 82H[bp]
334         js              L$24
335         test            byte ptr -7b7cH[si],al
336         js              L$25
337 L$25:
338         clc
339         test            byte ptr -7f08H[si],al
340         add             byte ptr 7800H[bx+si],84H
341         test            byte ptr -776cH[si],al
342         jbe             L$26
343 L$26:
344         clc
345         test            byte ptr -6f08H[si],al
346         mov             byte ptr 7800H[si],al
347         test            byte ptr 478H[bx+si],al
348         test            byte ptr [bx+si],bh
349         ????
350         adc             byte ptr [bx+si],dl
351         adc             byte ptr [bx+si],dl
352         adc             byte ptr [bx+si],dl
353         add             byte ptr -7b7cH[si],al
354         test            byte ptr 7884H[si],al
355         add             byte ptr -7b7cH[si],al
356         test            byte ptr 3048H[si],al
357         add             byte ptr -7d7eH[bp+si],al
358         adc             byte ptr -3956H[bp+si],0
359         add             byte ptr 28H[si],10H
360         sub             byte ptr -7eH[si],al
361         add             byte ptr 44H[si],al
362         inc             sp
363         cmp             byte ptr [bx+si],dl
364         adc             byte ptr [bx+si],dl
365         add             dh,bh
366         add             al,8
367         adc             byte ptr [bx+si],ah
368         inc             ax
369         inc             byte ptr [bx+si]
370         js              L$32
371         inc             ax
372         inc             ax
373         inc             ax
374         inc             ax
375         js              L$27
376 L$27:
377         add             byte ptr 2040H[bx+si],al
378         adc             byte ptr [bx+si],cl
379         add             al,0
380         js              L$29
381         or              byte ptr [bx+si],cl
382         or              byte ptr [bx+si],cl
383         js              L$28
384 L$28:
385         adc             byte ptr [bx+si],ch
386 L$29:
387         inc             sp
388         add             byte ptr [bx+si],0
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             bh,bh
394         and             byte ptr [bx+si],ah
395         adc             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         cmp             byte ptr [si],al
400         cmp             al,44H
401         jl              L$30
402 L$30:
403         add             byte ptr 40H[bx+si],al
404         js              L$33
405         inc             sp
406         js              L$31
407 L$31:
408         add             byte ptr [bx+si],al
409 L$32:
410         cmp             al,40H
411         inc             ax
412         inc             ax
413         cmp             al,0
414         add             byte ptr [si],al
415         add             al,3cH
416         inc             sp
417         inc             sp
418         cmp             al,0
419         add             byte ptr [bx+si],al
420         cmp             byte ptr 7cH[si],al
421         inc             ax
422         cmp             al,0
423         add             byte ptr [si],cl
424         adc             byte ptr [si],bh
425         adc             byte ptr [bx+si],dl
426         adc             byte ptr [bx+si],al
427         add             byte ptr [bx+si],al
428         cmp             al,44H
429         inc             sp
430         cmp             al,4
431         cmp             byte ptr [bx+si],al
432         inc             ax
433         inc             ax
434         js              L$35
435         inc             sp
436         inc             sp
437         add             byte ptr [bx+si],al
438         adc             byte ptr [bx+si],al
439         adc             byte ptr [bx+si],dl
440         adc             byte ptr [bx+si],dl
441         add             byte ptr [bx+si],al
442         add             al,0
443         add             al,4
444         add             al,44H
445         cmp             byte ptr [bx+si],al
446 L$33:
447         inc             ax
448         inc             ax
449         push            ax
450         pusha
451         push            ax
452         dec             ax
453         add             byte ptr [bx+si],al
454         xor             byte ptr [bx+si],dl
455         adc             byte ptr [bx+si],dl
456         adc             byte ptr [bx+si],dl
457         add             byte ptr [bx+si],al
458         add             byte ptr 54H[bx+si],ch
459         push            sp
460         inc             sp
461         inc             sp
462         add             byte ptr [bx+si],al
463         add             byte ptr 44H[bx+si],bh
464         inc             sp
465         inc             sp
466         inc             sp
467         add             byte ptr [bx+si],al
468         add             byte ptr [bx+si],bh
469         inc             sp
470         inc             sp
471         inc             sp
472         cmp             byte ptr [bx+si],al
473         add             byte ptr [bx+si],al
474 L$34:
475         js              L$42
476         inc             sp
477         js              L$41
478         inc             ax
479     DB  0
480 L$35:
481         add             byte ptr [si],bh
482         inc             sp
483         inc             sp
484         cmp             al,4
485         add             al,0
486         add             byte ptr 60H[si],bl
487         inc             ax
488         inc             ax
489         inc             ax
490         add             byte ptr [bx+si],al
491         add             byte ptr [bx+si],bh
492 L$36:
493         inc             ax
494         jl              L$38
495         jl              L$37
496 L$37:
497         add             byte ptr [bx+si],dl
498 L$38:
499         cmp             byte ptr [bx+si],dl
500         adc             byte ptr [bx+si],dl
501         sbb             byte ptr [bx+si],al
502         add             byte ptr [bx+si],al
503         inc             sp
504         inc             sp
505         inc             sp
506         inc             sp
507         cmp             byte ptr [bx+si],al
508         add             byte ptr [bx+si],al
509         inc             sp
510         inc             sp
511         inc             sp
512         sub             byte ptr [bx+si],dl
513         add             byte ptr [bx+si],al
514         add             byte ptr 44H[si],al
515 L$39:
516         push            sp
517         push            sp
518         insb
519         add             byte ptr [bx+si],al
520         add             byte ptr 28H[si],al
521 L$40:
522         adc             byte ptr [bx+si],ch
523         inc             sp
524 L$41:
525     DB  0
526 L$42:
527         add             byte ptr [bx+si],al
528         inc             sp
529         inc             sp
530         inc             sp
531         cmp             al,4
532         jl              L$43
533 L$43:
534         add             byte ptr 4[si],bh
535         cmp             byte ptr 7cH[bx+si],al
536         add             byte ptr [bx+si],al
537         or              byte ptr [bx+si],dl
538         adc             byte ptr [bx+si],dh
539         adc             byte ptr [bx+si],dl
540         or              byte ptr [bx+si],al
541         adc             byte ptr [bx+si],dl
542         adc             byte ptr [bx+si],al
543         adc             byte ptr [bx+si],dl
544         adc             byte ptr [bx+si],al
545         and             byte ptr [bx+si],dl
546         adc             byte ptr [bx+si],bl
547         adc             byte ptr [bx+si],dl
548         and             byte ptr -68H[si],ah
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],dl
553         sub             byte ptr -7eH[si],al
554         cmp             dh,0
555         jl              L$34
556         add             byte ptr 7c80H[bx+si],4
557         jl              L$44
558 L$44:
559         sub             byte ptr [bx+si],al
560         inc             sp
561         inc             sp
562         inc             sp
563         cmp             byte ptr [bx+si],al
564         cmp             al,0
565         jl              L$54
566         jl              L$53
567         jl              L$45
568 L$45:
569         jle             L$36
570         cmp             byte ptr [si],al
571         cmp             al,44H
572         jl              L$46
573 L$46:
574         and             al,0
575 L$47:
576         cmp             byte ptr [si],al
577         cmp             al,44H
578         jl              L$48
579 L$48:
580         js              L$49
581 L$49:
582         cmp             byte ptr [si],al
583         cmp             al,44H
584         jl              L$50
585 L$50:
586         sbb             byte ptr [bx+si],bl
587         cmp             byte ptr [si],al
588         cmp             al,44H
589         jl              L$51
590 L$51:
591         add             byte ptr [bx+si],al
592         js              L$39
593         cmp             byte ptr 8[bx+si],38H
594         jl              L$40
595         cmp             byte ptr 7cH[si],al
596         inc             ax
597         cmp             al,0
598         dec             ax
599         add             byte ptr [bx+si],bh
600         inc             sp
601         jl              L$55
602         cmp             al,0
603         js              L$52
604 L$52:
605         cmp             byte ptr 7cH[si],al
606         inc             ax
607 L$53:
608         cmp             al,0
609 L$54:
610         add             byte ptr [bx+si],ch
611         add             byte ptr [bx+si],dl
612         adc             byte ptr [bx+si],dl
613         adc             byte ptr [bx+si],al
614         adc             byte ptr [bx+si],ch
615         add             byte ptr [bx+si],dl
616         adc             byte ptr [bx+si],dl
617         adc             byte ptr [bx+si],al
618         add             byte ptr [bx+si],dh
619         add             byte ptr [bx+si],dl
620         adc             byte ptr [bx+si],dl
621         adc             byte ptr [bx+si],al
622         dec             ax
623         add             byte ptr -7cH[bx+si],bh
624         cld
625         test            byte ptr 3000H[si],al
626         xor             byte ptr -7cH[bx+si],bh
627         cld
628         test            byte ptr 3800H[si],al
629         add             ah,bh
630         xor             al,80H
631         cld
632         add             byte ptr [bx+si],al
633         add             byte ptr 8[bp],bh
634         jle             L$59
635 L$55:
636         jle             L$56
637 L$56:
638         jle             L$47
639         nop
640         cld
641         nop
642         nop
643         sahf
644         add             byte ptr -7eH[si],bh
645         cmp             byte ptr 44H[si],al
646         inc             sp
647         cmp             byte ptr [bx+si],al
648         sub             byte ptr [bx+si],al
649         cmp             byte ptr 44H[si],al
650         inc             sp
651         cmp             byte ptr [bx+si],al
652         jo              L$57
653 L$57:
654         cmp             byte ptr 44H[si],al
655         inc             sp
656         cmp             byte ptr [bx+si],al
657         cmp             byte ptr [si],al
658         inc             sp
659         inc             sp
660         inc             sp
661         cmp             byte ptr [bx+si],al
662         jo              L$58
663 L$58:
664         inc             sp
665         inc             sp
666         inc             sp
667         inc             sp
668         cmp             byte ptr [bx+si],al
669         sub             byte ptr [bx+si],al
670         inc             sp
671         inc             sp
672         inc             sp
673         cmp             al,4
674         jl              L$64
675         add             byte ptr -7cH[bx+si],bh
676         test            byte ptr 78H[si],al
677         dec             ax
678         add             byte ptr -7b7cH[si],al
679     DB  84H
680 L$59:
681         js              4d8H
682         add             byte ptr [bx+si],dl
683         cmp             byte ptr 40H[bx+si],al
684         inc             ax
685         cmp             byte ptr [bx+si],dl
686         cmp             byte ptr 40H[si],al
687         loopnz          L$66
688         inc             ax
689         cmp             ah,44H
690         jl              L$60
691         jl              L$61
692         jl              L$62
693         add             al,dh
694         mov             byte ptr -7d09H[bp+si],cl
695         add             byte ptr 0c00H[bp+si],12H
696     DB  10H
697 L$60:
698         sbb             byte ptr [bx+si],dh
699 L$61:
700     DB  10H, 90H
701 L$62:
702         pusha
703         cmp             al,0
704         cmp             byte ptr [si],al
705         cmp             al,44H
706         jl              L$63
707 L$63:
708         add             byte ptr [bx+si],bl
709         add             byte ptr [bx+si],dl
710         adc             byte ptr [bx+si],dl
711         adc             byte ptr [bx+si],al
712     DB  1cH
713 L$64:
714         add             byte ptr [bx+si],bh
715         inc             sp
716         inc             sp
717         inc             sp
718         cmp             byte ptr [bx+si],al
719         sbb             al,0
720         inc             sp
721         inc             sp
722         inc             sp
723         inc             sp
724         cmp             byte ptr [bx+si],al
725         jl              L$65
726 L$65:
727         js              L$67
728         inc             sp
729 L$66:
730         inc             sp
731         inc             sp
732         add             byte ptr [si],bh
733         inc             sp
734         push            sp
735         dec             sp
736         inc             sp
737         add             byte ptr [bx+si],bl
738         and             al,24H
739         push            ds
740         add             byte ptr ds:[0],bh
741         sbb             al,22H
742         and             bl,byte ptr [si]
743         add             byte ptr ds:[0],bh
744         adc             byte ptr [bx+si],al
745         adc             byte ptr [bx+si],ah
746         inc             ax
747         inc             dx
748         cmp             al,0
749         add             byte ptr [bx+si],al
750         add             ah,bh
751         add             byte ptr [bx+si],0
752         add             byte ptr [bx+si],al
753         cld
754         add             al,4
755         add             byte ptr [bx+si],al
756         inc             ax
757         inc             sp
758         dec             ax
759         push            di
760         and             word ptr 4[bx],ax
761         pop             es
762         inc             ax
763         inc             sp
764         dec             ax
765         push            dx
766         dec             dx
767         pop             ds
768     DB  2
769 L$67:
770         adc             byte ptr [bx+si],al
771         adc             byte ptr [bx+si],dl
772         adc             byte ptr [bx+si],dl
773 L$68:
774         adc             byte ptr [bx+si],al
775         add             byte ptr [si],ah
776 L$69:
777         dec             ax
778         nop
779         dec             ax
780         and             al,0
781         add             byte ptr [bx+si],al
782         dec             ax
783         and             al,12H
784         and             al,48H
785         add             byte ptr [bx+si],al
786         and             cl,byte ptr -77deH[bx+si]
787         and             cl,byte ptr -77deH[bx+si]
788         push            bp
789         stosb
790         push            bp
791         stosb
792         push            bp
793         stosb
794         push            bp
795         stosb
796         ????
797         ja              L$68
798         out             dx,al
799         ????
800         ja              L$69
801         out             dx,al
802         sbb             byte ptr [bx+si],bl
803         sbb             byte ptr [bx+si],bl
804         sbb             byte ptr [bx+si],bl
805         sbb             byte ptr [bx+si],bl
806         sbb             byte ptr [bx+si],bl
807         sbb             byte ptr [bx+si],bl
808         clc
809         sbb             byte ptr [bx+si],bl
810         sbb             byte ptr [bx+si],bl
811         sbb             al,bh
812         sbb             al,bh
813         sbb             byte ptr [bx+si],bl
814         sbb             byte ptr ds:[3636H],dh
815         div             byte ptr ss:[3636H]
816         add             byte ptr [bx+si],al
817         add             byte ptr [bx+si],al
818         ????
819         add             byte ptr ss:[bx+si],al
820         clc
821         sbb             al,bh
822         sbb             byte ptr [bx+si],bl
823         sbb             byte ptr ds:[0f636H],dh
824         push            es
825         div             byte ptr ds:[3636H]
826         add             byte ptr ss:[bx+si],al
827         inc             byte ptr ds:[36f6H]
828         test            byte ptr ss:[0feH],0
829         add             byte ptr ds:[3636H],dh
830         inc             byte ptr ss:[bx+si]
831         add             byte ptr [bx+si],al
832         sbb             byte ptr [bx+si],bl
833         clc
834         sbb             al,bh
835         add             byte ptr [bx+si],al
836         add             byte ptr [bx+si],al
837         add             byte ptr [bx+si],al
838         add             al,bh
839         sbb             byte ptr [bx+si],bl
840         sbb             byte ptr [bx+si],bl
841         sbb             byte ptr [bx+si],bl
842         sbb             byte ptr [bx],bl
843         add             byte ptr [bx+si],al
844         add             byte ptr [bx+si],bl
845         sbb             byte ptr [bx+si],bl
846         sbb             bh,bh
847         add             byte ptr [bx+si],al
848         add             byte ptr [bx+si],al
849         add             byte ptr [bx+si],al
850         add             bh,bh
851         sbb             byte ptr [bx+si],bl
852         sbb             byte ptr [bx+si],bl
853         sbb             byte ptr [bx+si],bl
854         sbb             byte ptr [bx],bl
855         sbb             byte ptr [bx+si],bl
856         sbb             byte ptr [bx+si],al
857         add             byte ptr [bx+si],al
858         add             bh,bh
859         add             byte ptr [bx+si],al
860         add             byte ptr [bx+si],bl
861         sbb             byte ptr [bx+si],bl
862         sbb             bh,bh
863         sbb             byte ptr [bx+si],bl
864         sbb             byte ptr [bx+si],bl
865         sbb             byte ptr [bx],bl
866         sbb             byte ptr [bx],bl
867         sbb             byte ptr [bx+si],bl
868         sbb             byte ptr ds:[3636H],dh
869         aaa
870         aaa
871         xor             byte ptr [bx],bh
872         add             byte ptr [bx+si],al
873         add             byte ptr [bx+si],al
874         add             byte ptr [bx],bh
875         xor             byte ptr [bx],dh
876         test            word ptr ss:[bx+si],0ffH
877         add             byte ptr [bx+si],al
878         add             byte ptr [bx+si],al
879         inc             word ptr [bx+si]
880         div             word ptr ds:[3636H]
881         aaa
882         xor             byte ptr [bx],dh
883         add             byte ptr ss:[bx+si],al
884         inc             word ptr [bx+si]
885         inc             word ptr [bx+si]
886         add             byte ptr [bx+si],al
887         test            word ptr ss:[bx+si],36f7H
888         sbb             byte ptr ss:[bx+si],bl
889         inc             word ptr [bx+si]
890         inc             word ptr [bx+si]
891         add             byte ptr [bx+si],al
892         inc             word ptr ss:[bx+si]
893         add             byte ptr [bx+si],al
894         add             byte ptr [bx+si],al
895         inc             word ptr [bx+si]
896         call            dword ptr [bx+si]
897         sbb             byte ptr [bx+si],bl
898         add             byte ptr [bx+si],al
899         add             byte ptr [bx+si],al
900         push            word ptr ds:[3636H]
901         aas
902         add             byte ptr [bx+si],al
903         add             byte ptr [bx+si],bl
904         sbb             byte ptr [bx],bl
905         sbb             byte ptr [bx],bl
906         add             byte ptr [bx+si],al
907         add             byte ptr [bx+si],al
908         add             byte ptr [bx],bl
909         sbb             byte ptr [bx],bl
910         sbb             byte ptr [bx+si],bl
911         sbb             byte ptr [bx+si],al
912         add             byte ptr [bx+si],al
913         add             byte ptr [bx],bh
914         push            word ptr ss:[3636H]
915         sbb             byte ptr [bx+si],bl
916         call            dword ptr [bx+si]
917         call            dword ptr [bx+si]
918         sbb             byte ptr [bx+si],bl
919         sbb             byte ptr [bx+si],bl
920         sbb             byte ptr [bx+si],bl
921         clc
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],bl
926     DB  18H
927 L$70:
928         sbb             byte ptr [bx+si],bl
929         ????
930         ????
931         ????
932         ????
933         ????
934         ????
935         ????
936         inc             word ptr [bx+si]
937         add             byte ptr [bx+si],al
938         add             bh,bh
939         ????
940         ????
941         push            ax
942         ????
943         ????
944         ????
945         ????
946         ????
947         ????
948         ????
949         ????
950         ????
951         ????
952         ????
953         ????
954         ????
955         ????
956         ????
957         ????
958         ????
959         ????
960         inc             word ptr [bx+si]
961         add             byte ptr [bx+si],al
962         add             byte ptr [bx+si],al
963         add             byte ptr -6cH[bp+si],ah
964         mov             byte ptr 62H[si],dl
965         add             al,dh
966         mov             al,dh
967         mov             byte ptr -7f10H[bx+si],cl
968         add             al,bh
969         mov             byte ptr -7f80H[bx+si],al
970         add             byte ptr [bx+si],0
971         cld
972         dec             ax
973         dec             ax
974         dec             ax
975         dec             ax
976         dec             ax
977         add             ah,bh
978         test            byte ptr 20H[bx+si],al
979         inc             ax
980         test            ah,bh
981         add             byte ptr [si],bh
982         inc             ax
983         cmp             byte ptr 44H[si],al
984         inc             sp
985         cmp             byte ptr [bx+si],al
986         add             byte ptr [bx+si],al
987         inc             sp
988         inc             sp
989         inc             sp
990         js              L$71
991         inc             ax
992         add             byte ptr ds:[848H],dh
993         or              byte ptr [bx+si],cl
994         or              byte ptr [bx+si],al
995         cmp             byte ptr [bx+si],dl
996         cmp             byte ptr 44H[si],al
997         cmp             byte ptr [bx+si],dl
998         cmp             byte ptr -7cH[bx+si],bh
999         test            ah,bh
1000         test            byte ptr 78H[si],al
1001         js              L$70
1002         test            byte ptr 4848H[si],al
1003         int             3
1004         add             byte ptr 4[bx+si],bh
1005         cmp             byte ptr 44H[si],al
1006         inc             sp
1007         cmp             byte ptr [bx+si],al
1008         add             byte ptr [bx+si],al
1009         insb
1010         xchg            ax,dx
1011         xchg            ax,dx
1012         insb
1013         add             byte ptr [bx+si],al
1014         add             byte ptr [bx+si],al
1015         cmp             al,byte ptr 5aH[si]
1016         and             bl,byte ptr [si]
1017         sbb             byte ptr [bx+si],ah
1018         inc             ax
1019         js              L$73
1020         and             byte ptr [bx+si],bl
1021 L$71:
1022         add             byte ptr -7cH[bx+si],bh
1023         test            byte ptr -7b7cH[si],al
1024         test            byte ptr [bx+si],al
1025         add             ah,bh
1026         add             ah,bh
1027         add             ah,bh
1028         add             byte ptr [bx+si],al
1029         and             byte ptr [bx+si],ah
1030         clc
1031         and             byte ptr [bx+si],ah
1032         add             al,bh
1033         add             byte ptr [bx+si],ah
1034         adc             byte ptr [bx+si],cl
1035         adc             byte ptr [bx+si],ah
1036         add             byte ptr [si],bh
1037         or              byte ptr [bx+si],dl
1038         and             byte ptr [bx+si],dl
1039         or              byte ptr [bx+si],al
1040         jl              L$72
1041 L$72:
1042         or              al,12H
1043         adc             byte ptr [bx+si],dl
1044         adc             byte ptr [bx+si],dl
1045         adc             byte ptr [bx+si],dl
1046         adc             byte ptr [bx+si],dl
1047         adc             byte ptr [bx+si],dl
1048         adc             byte ptr [bx+si],dl
1049         nop
1050         pusha
1051         add             byte ptr [bx+si],dl
1052         add             byte ptr [si],bh
1053 L$73:
1054         adc             byte ptr [bx+si],al
1055         add             byte ptr [bx+si],al
1056         xor             cl,byte ptr [si]
1057         xor             cl,byte ptr [si]
1058         add             byte ptr [bx+si],bh
1059         inc             sp
1060         inc             sp
1061         cmp             byte ptr [bx+si],al
1062         add             byte ptr [bx+si],al
1063         add             byte ptr [bx+si],al
1064         add             byte ptr [bx+si],al
1065         sbb             byte ptr [bx+si],bl
1066         add             byte ptr [bx+si],al
1067         add             byte ptr [bx+si],al
1068         add             byte ptr [bx+si],al
1069         add             byte ptr [bx+si],bl
1070         add             byte ptr [bx+si],al
1071         add             byte ptr ds:[808H],cl
1072         or              byte ptr 28H[bx+si],cl
1073         sbb             byte ptr [bx+si],cl
1074         cmp             byte ptr [si],ah
1075         and             al,24H
1076         and             al,0
1077         add             byte ptr [bx+si],al
1078         cmp             al,4
1079         cmp             al,20H
1080         cmp             al,0
1081         add             byte ptr [bx+si],al
1082         add             byte ptr [bx+si],al
1083         cmp             al,3cH
1084         cmp             al,3cH
1085         add             byte ptr [bx+si],al
1086         add             byte ptr [bx+si],al
1087         add             byte ptr [bx+si],al
1088         add             byte ptr [bx+si],al
1089         add             byte ptr [bx+si],al
1090 L$74:
1091     DW  offset L$1
1092 L$75:
1093     DB  8
1094 L$76:
1095         add             byte ptr [bx+si],cl
1096     DB  0
1097 L$77:
1098     DW  offset L$1
1099 L$78:
1100     DW  seg L$1
1101 L$79:
1102         or              byte ptr [bx+si],al
1103 L$80:
1104         or              byte ptr [bx+si],al
1105 L$81:
1106         or              byte ptr [bx+si],al
1107 L$82:
1108         inc             word ptr [bx+si]
1109 L$83:
1110         add             byte ptr [bx+si],al
1111 L$84:
1112         or              byte ptr [bx+si],al
1113 L$85:
1114         add             byte ptr [bx+si],al
1115 MXSETFONT:
1116         push            bp
1117         mov             bp,sp
1118         sub             sp,0
1119         push            ds
1120         mov             ds,word ptr cs:MX_CODESEGMENT
1121         mov             ax,word ptr 0cH[bp]
1122         test            ax,ax
1123         jne             L$87
1124         mov             ax,word ptr 0aH[bp]
1125         cmp             ax,1
1126         jb              L$86
1127         xor             ax,ax
1128 L$86:
1129         shl             ax,1
1130         shl             ax,1
1131         mov             bx,ax
1132         mov             ax,word ptr L$74[bx]
1133         mov             word ptr L$77,ax
1134         mov             word ptr L$78,cs
1135         mov             al,byte ptr L$75[bx]
1136         xor             ah,ah
1137         mov             word ptr L$79,ax
1138         mov             word ptr L$84,ax
1139         mov             dl,byte ptr L$76[bx]
1140         xor             dh,dh
1141         mov             word ptr L$80,dx
1142         mul             dx
1143         mov             word ptr L$81,ax
1144         mov             word ptr L$84,ax
1145         xor             ax,ax
1146         mov             word ptr L$85,ax
1147         jmp             L$88
1148 L$87:
1149         mov             ax,0ffffH
1150         mov             bx,word ptr 8[bp]
1151         cmp             bx,10H
1152         ja              L$88
1153         mov             dx,word ptr 6[bp]
1154         cmp             dx,20H
1155         ja              L$88
1156         mov             word ptr L$79,bx
1157         mov             word ptr L$80,dx
1158         mov             ax,bx
1159         add             ax,7
1160         shr             ax,1
1161         shr             ax,1
1162         shr             ax,1
1163         mul             dx
1164         mov             word ptr L$81,ax
1165         mov             ax,word ptr 0aH[bp]
1166         mov             word ptr L$77,ax
1167         mov             ax,word ptr 0cH[bp]
1168         mov             word ptr L$78,ax
1169         xor             ax,ax
1170 L$88:
1171         pop             ds
1172         mov             sp,bp
1173         pop             bp
1174         retf            8
1175 MXSETTEXTCOLOR:
1176         push            bp
1177         mov             bp,sp
1178         sub             sp,0
1179         push            ds
1180         mov             ds,word ptr cs:MX_CODESEGMENT
1181         mov             ax,word ptr 8[bp]
1182         mov             word ptr L$82,ax
1183         mov             ax,word ptr 6[bp]
1184         mov             word ptr L$83,ax
1185         xor             ax,ax
1186         pop             ds
1187         mov             sp,bp
1188         pop             bp
1189         retf            4
1190 MXOUTCHAR:
1191         push            bp
1192         mov             bp,sp
1193         sub             sp,202H
1194         push            ds
1195         push            si
1196         push            es
1197         push            di
1198         lds             si,dword ptr cs:L$77
1199         mov             al,byte ptr 6[bp]
1200         xor             ah,ah
1201         mul             word ptr cs:L$81
1202         add             si,ax
1203         mov             ax,ss
1204         mov             es,ax
1205         lea             di,-200H[bp]
1206         mov             dx,word ptr cs:L$82
1207         mov             ax,word ptr cs:L$80
1208         mov             word ptr -202H[bp],ax
1209 L$89:
1210         mov             cx,word ptr cs:L$79
1211         mov             bh,byte ptr [si]
1212         inc             si
1213         cmp             cx,8
1214         jbe             L$90
1215         mov             bl,byte ptr [si]
1216         inc             si
1217 L$90:
1218         mov             al,dl
1219         shl             bx,1
1220         jb              L$91
1221         mov             al,dh
1222 L$91:
1223         mov             byte ptr es:[di],al
1224         inc             di
1225         dec             cx
1226         jne             L$90
1227         dec             word ptr -202H[bp]
1228         jne             L$89
1229         lea             ax,-200H[bp]
1230         push            es
1231         push            ax
1232         push            word ptr 0aH[bp]
1233         push            word ptr 8[bp]
1234         push            word ptr cs:L$79
1235         push            word ptr cs:L$80
1236         push            word ptr cs:L$83
1237         push            cs
1238         call            near ptr MX_TEXT:MXPUTIMAGE
1239         xor             ax,ax
1240         pop             di
1241         pop             es
1242         pop             si
1243         pop             ds
1244         mov             sp,bp
1245         pop             bp
1246         retf            6
1247 MXOUTTEXT:
1248         push            bp
1249         mov             bp,sp
1250         sub             sp,0
1251         push            ds
1252         push            si
1253         lds             si,dword ptr 6[bp]
1254 L$92:
1255         mov             al,byte ptr [si]
1256         test            al,al
1257         je              L$93
1258         inc             si
1259         push            word ptr 0cH[bp]
1260         push            word ptr 0aH[bp]
1261         push            ax
1262         push            cs
1263         call            near ptr MXOUTCHAR
1264         mov             ax,word ptr cs:L$84
1265         add             word ptr 0cH[bp],ax
1266         mov             ax,word ptr cs:L$85
1267         add             word ptr 0aH[bp],ax
1268         dec             word ptr -202H[bp]
1269         jne             L$92
1270 L$93:
1271         xor             ax,ax
1272         pop             si
1273         pop             ds
1274         mov             sp,bp
1275         pop             bp
1276         retf            8
1277         retf
1278 MXSETTEXTSTEP:
1279         push            bp
1280         mov             bp,sp
1281         sub             sp,0
1282         push            ds
1283         mov             ds,word ptr cs:MX_CODESEGMENT
1284         mov             ax,word ptr 8[bp]
1285         mov             word ptr L$84,ax
1286         mov             ax,word ptr 6[bp]
1287         mov             word ptr L$85,ax
1288         pop             ds
1289         mov             sp,bp
1290         pop             bp
1291         retf            4
1292 MXGETTEXTSTEP:
1293         push            bp
1294         mov             bp,sp
1295         sub             sp,0
1296         push            ds
1297         push            si
1298         mov             ax,word ptr cs:L$84
1299         lds             si,dword ptr 0aH[bp]
1300         mov             word ptr [si],ax
1301         mov             ax,word ptr cs:L$85
1302         lds             si,dword ptr 6[bp]
1303         mov             word ptr [si],ax
1304         pop             si
1305         pop             ds
1306         mov             sp,bp
1307         pop             bp
1308         retf            8
1309 MX_TEXT         ENDS
1310                 END