.387 PUBLIC XSUBCLIPLINE EXTRN MX_CLIPY1:BYTE EXTRN MX_CLIPY2:BYTE EXTRN MX_CLIPX2:BYTE EXTRN MX_CLIPX1:BYTE EXTRN MX_VIDEOSEGMENT:BYTE EXTRN MX_BYTESPERLINE:BYTE MX_TEXT SEGMENT PARA PUBLIC USE16 'CODE' ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP L$1: or al,byte ptr [bx+si] L$2: DW offset L$3 or al,byte ptr [bx+si] DW offset L$4 or word ptr [bx+si],ax DW offset L$5 ???? inc word ptr [bx+si] add byte ptr [bp+si],cl add byte ptr 0a00H[bx+si],al add byte ptr 900H[bp],dl add byte ptr -100H[si],ch inc word ptr [bx+si] add byte ptr ds:[0c000H],al add byte ptr ds:[0ce00H],al add byte ptr [di],al add ah,bl add bh,bh inc word ptr [bx+si] add bh,bh inc word ptr [bx+si] add bh,bh inc word ptr [bx+si] add bh,bh inc word ptr [bx+si] add bh,bh inc word ptr [bx+si] DB 0 L$3: DW offset MX_TEXT+0ecH DW offset MX_TEXT+0eeH DW offset MX_TEXT+0f1H DW offset MX_TEXT+0eaH DW offset MX_TEXT+0f4H DW offset MX_TEXT+0f7H DW offset MX_TEXT+104H DW offset MX_TEXT+0eaH DW offset MX_TEXT+111H DW offset MX_TEXT+114H DW offset MX_TEXT+121H L$4: DW offset MX_TEXT+132H DW offset MX_TEXT+0eaH DW offset MX_TEXT+135H DW offset MX_TEXT+0eaH DW offset MX_TEXT+13bH DW offset MX_TEXT+0eaH DW offset MX_TEXT+148H DW offset L$7 DW offset L$10 DW offset L$7 DW offset L$11 L$5: DW offset L$14 DW offset L$15 DW offset L$7 DW offset L$7 DW offset L$16 DW offset L$17 DW offset L$7 DW offset L$7 DW offset L$18 DW offset L$19 DW offset L$22 DW offset L$23 DW offset L$24 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$25 DW offset L$26 DW offset L$27 DW offset L$30 DW offset L$7 DW offset L$31 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$32 DW offset L$7 DW offset L$33 DW offset L$36 DW offset L$37 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$7 DW offset L$38 DW offset L$39 DW offset L$43 DW offset L$44 DW offset L$45 DW offset L$7 DW offset L$46 DW offset L$47 DW offset L$48 DW offset L$51 DW offset L$7 DW offset L$52 DW offset L$7 DW offset L$53 DW offset L$7 DW offset L$54 DW offset L$58 DW offset L$59 DW offset L$7 DW offset L$7 DW offset L$60 DW offset L$61 L$6: clc ret L$7: stc ret clc ret jmp near ptr L$67 jmp near ptr L$68 jmp near ptr L$70 call near ptr L$67 cmp si,word ptr cs:MX_CLIPY1 jge L$6 jmp near ptr L$70 call near ptr L$68 cmp si,word ptr cs:MX_CLIPY1 jge L$6 jmp near ptr L$70 jmp near ptr L$69 call near ptr L$67 cmp si,word ptr cs:MX_CLIPY2 jle L$6 jmp near ptr L$69 call near ptr L$68 cmp si,word ptr cs:MX_CLIPY2 jle L$6 jmp near ptr L$69 L$8: stc ret L$9: clc ret jmp near ptr L$63 call near ptr L$63 jmp near ptr L$68 call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY1 jl L$8 jmp near ptr L$70 call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY1 jl L$8 call near ptr L$70 cmp cx,word ptr cs:MX_CLIPX2 jle L$9 jmp near ptr L$68 L$10: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY2 jg L$8 jmp near ptr L$69 L$11: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY2 jg L$8 call near ptr L$69 cmp cx,word ptr cs:MX_CLIPX2 jle L$9 jmp near ptr L$68 L$12: clc ret L$13: stc ret L$14: jmp near ptr L$64 L$15: call near ptr L$64 jmp near ptr L$67 L$16: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY1 jl L$13 jmp near ptr L$70 L$17: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY1 jl L$13 call near ptr L$70 cmp cx,word ptr cs:MX_CLIPX1 jge L$12 jmp near ptr L$67 L$18: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY2 jg L$13 jmp near ptr L$69 L$19: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY2 jg L$13 call near ptr L$69 cmp cx,word ptr cs:MX_CLIPX1 jge L$12 jmp near ptr L$67 L$20: clc ret L$21: stc ret L$22: jmp near ptr L$66 L$23: call near ptr L$66 cmp di,word ptr cs:MX_CLIPX1 jl L$21 call near ptr L$67 cmp si,word ptr cs:MX_CLIPY1 jge L$20 jmp near ptr L$70 L$24: call near ptr L$66 cmp di,word ptr cs:MX_CLIPX2 jg L$21 jmp near ptr L$68 L$25: call near ptr L$66 jmp near ptr L$69 L$26: call near ptr L$66 cmp di,word ptr cs:MX_CLIPX1 jl L$21 call near ptr L$67 cmp si,word ptr cs:MX_CLIPY2 jle L$20 jmp near ptr L$69 L$27: call near ptr L$66 cmp di,word ptr cs:MX_CLIPX2 jg L$21 call near ptr L$68 cmp si,word ptr cs:MX_CLIPY2 jle L$20 jmp near ptr L$69 L$28: clc ret L$29: stc ret L$30: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY1 jge L$28 jmp near ptr L$66 L$31: call near ptr L$68 cmp si,word ptr cs:MX_CLIPY1 jl L$29 call near ptr L$66 cmp di,word ptr cs:MX_CLIPX1 jge L$28 jmp near ptr L$63 L$32: call near ptr L$69 cmp cx,word ptr cs:MX_CLIPX1 jl L$29 call near ptr L$66 cmp di,word ptr cs:MX_CLIPX1 jge L$28 jmp near ptr L$63 L$33: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY2 jg L$29 call near ptr L$68 cmp bx,word ptr cs:MX_CLIPY1 jl L$29 cmp si,word ptr cs:MX_CLIPY2 jle L$28 jmp near ptr L$69 L$34: clc ret L$35: stc ret L$36: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY1 jge L$34 jmp near ptr L$66 L$37: call near ptr L$67 cmp si,word ptr cs:MX_CLIPY2 jl L$35 call near ptr L$66 cmp di,word ptr cs:MX_CLIPX2 jle L$34 jmp near ptr L$64 L$38: call near ptr L$69 cmp cx,word ptr cs:MX_CLIPX2 jg L$35 call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY1 jge L$34 jmp near ptr L$66 L$39: call near ptr L$67 cmp si,word ptr cs:MX_CLIPY1 jl L$35 call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY2 jg L$35 cmp si,word ptr cs:MX_CLIPY2 jle L$40 call near ptr L$69 L$40: cmp bx,word ptr cs:MX_CLIPY1 jge L$34 jmp near ptr L$66 L$41: clc ret L$42: stc ret L$43: jmp near ptr L$65 L$44: call near ptr L$65 cmp di,word ptr cs:MX_CLIPX1 jl L$42 jmp near ptr L$67 L$45: call near ptr L$65 cmp di,word ptr cs:MX_CLIPX2 jg L$42 jmp near ptr L$68 L$46: call near ptr L$65 jmp near ptr L$70 L$47: call near ptr L$65 cmp di,word ptr cs:MX_CLIPX1 jl L$42 call near ptr L$67 cmp si,word ptr cs:MX_CLIPY1 jge L$42 jmp near ptr L$70 L$48: call near ptr L$65 cmp di,word ptr cs:MX_CLIPX2 jg L$42 call near ptr L$68 cmp si,word ptr cs:MX_CLIPY1 jge L$41 jmp near ptr L$70 L$49: clc ret L$50: stc ret L$51: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY2 jle L$49 jmp near ptr L$65 L$52: call near ptr L$68 cmp si,word ptr cs:MX_CLIPY2 jg L$50 call near ptr L$65 cmp di,word ptr cs:MX_CLIPX1 jge L$49 jmp near ptr L$63 L$53: call near ptr L$70 cmp cx,word ptr cs:MX_CLIPX1 jl L$50 call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY2 jle L$49 jmp near ptr L$65 L$54: call near ptr L$63 cmp bx,word ptr cs:MX_CLIPY1 jl L$50 call near ptr L$68 cmp si,word ptr cs:MX_CLIPY2 jg L$50 cmp bx,word ptr cs:MX_CLIPY2 jle L$55 call near ptr L$65 L$55: cmp si,word ptr cs:MX_CLIPY1 jge L$49 jmp near ptr L$70 L$56: clc ret L$57: stc ret L$58: call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY2 jle L$56 jmp near ptr L$65 L$59: call near ptr L$67 cmp si,word ptr cs:MX_CLIPY2 jg L$57 call near ptr L$65 cmp di,word ptr cs:MX_CLIPX2 jle L$56 jmp L$64 L$60: call near ptr L$70 cmp cx,word ptr cs:MX_CLIPX2 jg L$57 call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY2 jle L$56 jmp L$65 L$61: call near ptr L$67 cmp si,word ptr cs:MX_CLIPY2 jg L$57 call near ptr L$64 cmp bx,word ptr cs:MX_CLIPY1 jl L$57 cmp si,word ptr cs:MX_CLIPY1 jge L$62 call near ptr L$70 L$62: cmp bx,word ptr cs:MX_CLIPY2 jle L$56 jmp L$65 L$63: mov ax,si sub ax,bx mov dx,word ptr cs:MX_CLIPX1 sub dx,di imul dx mov bp,cx sub bp,di idiv bp add bx,ax mov di,word ptr cs:MX_CLIPX1 clc ret L$64: mov ax,si sub ax,bx mov dx,word ptr cs:MX_CLIPX2 sub dx,di imul dx mov bp,cx sub bp,di idiv bp add bx,ax mov di,word ptr cs:MX_CLIPX2 clc ret L$65: mov ax,cx sub ax,di mov dx,word ptr cs:MX_CLIPY2 sub dx,bx imul dx mov bp,si sub bp,bx idiv bp add di,ax mov bx,word ptr cs:MX_CLIPY2 clc ret L$66: mov ax,cx sub ax,di mov dx,word ptr cs:MX_CLIPY1 sub dx,bx imul dx mov bp,si sub bp,bx idiv bp add di,ax mov bx,word ptr cs:MX_CLIPY1 clc ret L$67: mov ax,bx sub ax,si mov dx,word ptr cs:MX_CLIPX1 sub dx,cx imul dx mov bp,di sub bp,cx idiv bp add si,ax mov cx,word ptr cs:MX_CLIPX1 clc ret L$68: mov ax,bx sub ax,si mov dx,word ptr cs:MX_CLIPX2 sub dx,cx imul dx mov bp,di sub bp,cx idiv bp add si,ax mov cx,word ptr cs:MX_CLIPX2 clc ret L$69: mov ax,di sub ax,cx mov dx,word ptr cs:MX_CLIPY2 sub dx,si imul dx mov bp,bx sub bp,si idiv bp add cx,ax mov si,word ptr cs:MX_CLIPY2 clc ret L$70: mov ax,di sub ax,cx mov dx,word ptr cs:MX_CLIPY1 sub dx,si imul dx mov bp,bx sub bp,si idiv bp add cx,ax mov si,word ptr cs:MX_CLIPY1 clc ret XSUBCLIPLINE: push bp xor si,si cmp dx,word ptr cs:MX_CLIPY2 jle L$71 or si,8 jmp L$72 L$71: cmp dx,word ptr cs:MX_CLIPY1 jge L$72 or si,4 L$72: cmp cx,word ptr cs:MX_CLIPX2 jle L$73 or si,2 jmp L$74 L$73: cmp cx,word ptr cs:MX_CLIPX1 jge L$74 or si,1 L$74: cmp bx,word ptr cs:MX_CLIPY2 jle L$75 or si,80H jmp L$76 L$75: cmp bx,word ptr cs:MX_CLIPY1 jge L$76 or si,40H L$76: cmp ax,word ptr cs:MX_CLIPX2 jle L$77 or si,20H jmp L$78 L$77: cmp ax,word ptr cs:MX_CLIPX1 jge L$78 or si,10H L$78: mov di,si and di,0fH and si,0f0H shr si,1 shr si,1 cmp di,word ptr cs:L$1[si] jg L$79 mov si,word ptr cs:L$2[si] shl di,1 add si,di mov di,ax mov si,word ptr cs:[si] xchg si,dx call dx mov ax,di mov dx,si pop bp ret L$79: pop bp stc ret MX_TEXT ENDS END