+++ /dev/null
-.387
- PUBLIC MXFADEPALETTE
-MX_TEXT SEGMENT PARA PUBLIC USE16 'CODE'
- ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
- inc bx
- outsw
- jo L$5
- jb L$4
- push 2074H
- sub byte ptr 29H[bp+di],ah
- and byte ptr [bx+di],dh
- cmp word ptr [bx+di],di
- xor ch,byte ptr [di]
- xor word ptr [bx+di],di
- cmp word ptr [si],si
- and byte ptr 52H[bx+di],al
- push sp
- dec cx
- push bx
- and byte ptr 2eH[bp+di],dh
- jb L$1
- insb
- and byte ptr cs:6cH[bx+di],al
- insb
- and byte ptr 69H[bp+si],dh
- push 7374H
- and byte ptr 65H[bp+si],dh
- jae L$7
- jb L$9
- DB 65H, 64H, 2eH
-MXFADEPALETTE:
- push bp
- mov bp,sp
- sub sp,60aH
- push si
- push di
- push ds
- push es
- mov word ptr -608H[bp],1
- mov ax,word ptr 10H[bp]
- and ax,0ff00H
-L$1:
- je L$2
- mov cl,8
- shr ax,cl
- mov word ptr -608H[bp],ax
-L$2:
- mov ax,word ptr 10H[bp]
- and ax,0feH
- mov cl,1
- shr ax,cl
- or ax,ax
- jne L$3
- mov ax,30H
-L$3:
- mov word ptr -60aH[bp],ax
-L$4:
- inc ax
- mov byte ptr -606H[bp],al
- mov byte ptr -604H[bp],1
- DB 0c6H, 86H, 0feH, 0f9H
-L$5:
- add byte ptr 0e46H[bp+di],cl
- cmp ax,100H
- jb L$6
- jmp near ptr L$12
-L$6:
- add ax,word ptr 0cH[bp]
- cmp ax,100H
- jbe L$8
- mov ax,100H
- sub ax,word ptr 0eH[bp]
- DB 89H, 46H
-L$7:
- or al,0bH
- ????
- jne L$8
- jmp near ptr L$12
-L$8:
- mov cx,word ptr 0cH[bp]
- mov ax,cx
- shl ax,1
- add cx,ax
- mov ax,ss
-L$9:
- mov es,ax
- lea di,-300H[bp]
- mov ax,word ptr 0eH[bp]
- mov si,ax
- shl ax,1
- add ax,si
- lds si,dword ptr 12H[bp]
- add si,ax
- cld
- shr cx,1
- rep movsw
- rcl cx,1
- rep movsb
- test word ptr 10H[bp],1
- je L$10
- mov ax,word ptr -60aH[bp]
- mov byte ptr -602H[bp],al
- mov byte ptr -604H[bp],0ffH
- mov ax,ss
- mov ds,ax
- mov es,ax
- lea di,-300H[bp]
- mov ax,word ptr 0eH[bp]
- mov cx,word ptr 0cH[bp]
- call near ptr L$19
-L$10:
- mov bh,byte ptr 0aH[bp]
- and bh,3fH
- mov bl,byte ptr 8[bp]
- and bl,3fH
- mov dh,byte ptr 6[bp]
- and dh,3fH
- mov dl,byte ptr -602H[bp]
- mov ax,ss
- mov ds,ax
- mov es,ax
-L$11:
- mov ax,word ptr 0cH[bp]
- mov cx,word ptr -60aH[bp]
- lea si,-300H[bp]
- lea di,-600H[bp]
- call near ptr L$13
- push bx
- push dx
- lea si,-600H[bp]
- mov ax,word ptr 0eH[bp]
- mov bx,word ptr 0cH[bp]
- mov cx,word ptr -608H[bp]
- call near ptr L$15
- pop dx
- pop bx
- add dl,byte ptr -604H[bp]
- dec byte ptr -606H[bp]
- jne L$11
-L$12:
- pop es
- pop ds
- pop di
- pop si
- mov sp,bp
- pop bp
- retf 10H
-L$13:
- cld
- push bp
- mov bp,ax
-L$14:
- lodsb
- sub al,bh
- imul dl
- idiv cl
- add al,bh
- stosb
- lodsb
- sub al,bl
- imul dl
- idiv cl
- add al,bl
- stosb
- lodsb
- sub al,dh
- imul dl
- idiv cl
- add al,dh
- stosb
- dec bp
- jne L$14
- pop bp
- ret
-L$15:
- mov ah,al
- mov dx,3daH
-L$16:
- in al,dx
- test al,8
- jne L$16
-L$17:
- in al,dx
- test al,8
- je L$17
- loop L$16
- mov cx,bx
- mov dx,3c8H
- mov al,ah
- out dx,al
- inc dx
- cld
- cli
-L$18:
- lodsb
- out dx,al
- lodsb
- out dx,al
- lodsb
- out dx,al
- loop L$18
- sti
- ret
-L$19:
- mov dx,3c7H
- out dx,al
- inc dx
- inc dx
- cld
-L$20:
- in al,dx
- stosb
- in al,dx
- stosb
- in al,dx
- stosb
- loop L$20
- ret
-MX_TEXT ENDS
- END