X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=16%2Fxw__%2Fmxvs.asm;fp=16%2Fxw__%2Fmxvs.asm;h=feafb66ab7e6dc6a66411937f47a753011b99fcf;hb=47cdc66151d973d975d0e31fb8a786eb639bebdb;hp=0000000000000000000000000000000000000000;hpb=4b23f27092a9470a741e3a18261ad389fd1929db;p=16.git diff --git a/16/xw__/mxvs.asm b/16/xw__/mxvs.asm new file mode 100755 index 00000000..feafb66a --- /dev/null +++ b/16/xw__/mxvs.asm @@ -0,0 +1,69 @@ +.387 + PUBLIC MXSETVIRTUALSCREEN + PUBLIC MXGETVIRTUALSCREEN + EXTRN MX_CODESEGMENT:BYTE + EXTRN MX_BYTESPERLINE:BYTE + EXTRN MXROWADDRESS:BYTE + EXTRN MXSETSYSCLIPREGION:BYTE +MX_TEXT SEGMENT PARA PUBLIC USE16 'CODE' + ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP +L$1: + add byte ptr [bx+si],al +L$2: + add byte ptr [bx+si],al +MXSETVIRTUALSCREEN: + push bp + mov bp,sp + sub sp,0 + push ds + mov ds,word ptr cs:MX_CODESEGMENT + mov ax,1 + cmp word ptr 8[bp],140H + jb L$3 + push ax + mov dx,4 + xor ax,ax + div word ptr 8[bp] + cmp word ptr 6[bp],ax + pop ax + ja L$3 + mov ax,word ptr 8[bp] + and ax,0fff8H + mov word ptr L$1,ax + shr ax,1 + shr ax,1 + mov word ptr MX_TEXT:MX_BYTESPERLINE,ax + shr ax,1 + push ax + call far ptr MXROWADDRESS + mov ax,word ptr 6[bp] + mov word ptr L$2,ax + push word ptr 8[bp] + push word ptr 6[bp] + call far ptr MXSETSYSCLIPREGION + xor ax,ax +L$3: + pop ds + mov sp,bp + pop bp + retf 4 +MXGETVIRTUALSCREEN: + push bp + mov bp,sp + sub sp,0 + push ds + push si + mov ax,word ptr cs:L$1 + lds si,dword ptr 0aH[bp] + mov word ptr [si],ax + mov ax,word ptr cs:L$2 + lds si,dword ptr 6[bp] + mov word ptr [si],ax + xor ax,ax + pop si + pop ds + mov sp,bp + pop bp + retf 8 +MX_TEXT ENDS + END