]> 4ch.mooo.com Git - 16.git/blobdiff - 16/xw__/mxpp.asm
trying to translate that lib into open watcom...
[16.git] / 16 / xw__ / mxpp.asm
diff --git a/16/xw__/mxpp.asm b/16/xw__/mxpp.asm
new file mode 100755 (executable)
index 0000000..d15387e
--- /dev/null
@@ -0,0 +1,85 @@
+.387
+               PUBLIC  MXGETPIXEL
+               PUBLIC  MXPUTPIXEL
+               EXTRN   MX_CLIPX1:BYTE
+               EXTRN   MX_CLIPX2:BYTE
+               EXTRN   MX_CLIPY1:BYTE
+               EXTRN   MX_CLIPY2:BYTE
+               EXTRN   MX_VIDEOSEGMENT:BYTE
+               EXTRN   MX_BYTESPERLINE:BYTE
+MX_TEXT                SEGMENT PARA PUBLIC USE16 'CODE'
+               ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
+MXGETPIXEL:
+       push            bp
+       mov             bp,sp
+       sub             sp,0
+       push            ds
+       push            si
+       xor             ax,ax
+       mov             si,word ptr 8[bp]
+       cmp             si,word ptr cs:MX_CLIPX1
+       jl              L$1
+       cmp             si,word ptr cs:MX_CLIPX2
+       jg              L$1
+       mov             bx,word ptr 6[bp]
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$1
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$1
+       mov             al,4
+       mov             ah,byte ptr 8[bp]
+       and             ah,3
+       mov             dx,3ceH
+       out             dx,ax
+       mov             ds,word ptr cs:MX_VIDEOSEGMENT
+       mov             ax,bx
+       mul             word ptr cs:MX_BYTESPERLINE
+       shr             si,1
+       shr             si,1
+       add             si,ax
+       mov             al,byte ptr [si]
+       xor             ah,ah
+L$1:
+       pop             si
+       pop             ds
+       mov             sp,bp
+       pop             bp
+       retf            4
+MXPUTPIXEL:
+       push            bp
+       mov             bp,sp
+       sub             sp,0
+       push            ds
+       push            si
+       mov             si,word ptr 0aH[bp]
+       cmp             si,word ptr cs:MX_CLIPX1
+       jl              L$2
+       cmp             si,word ptr cs:MX_CLIPX2
+       jg              L$2
+       mov             ax,word ptr 8[bp]
+       cmp             ax,word ptr cs:MX_CLIPY1
+       jl              L$2
+       cmp             ax,word ptr cs:MX_CLIPY2
+       jg              L$2
+       mov             ds,word ptr cs:MX_VIDEOSEGMENT
+       mul             word ptr cs:MX_BYTESPERLINE
+       shr             si,1
+       shr             si,1
+       add             si,ax
+       mov             cl,byte ptr 0aH[bp]
+       and             cl,3
+       mov             ax,102H
+       shl             ah,cl
+       mov             dx,3c4H
+       out             dx,ax
+       mov             al,byte ptr 6[bp]
+       mov             byte ptr [si],al
+L$2:
+       xor             ax,ax
+       pop             si
+       pop             ds
+       mov             sp,bp
+       pop             bp
+       retf            6
+MX_TEXT                ENDS
+               END