]> 4ch.mooo.com Git - 16.git/blobdiff - 16/x_/mxrp.asm
clear
[16.git] / 16 / x_ / mxrp.asm
diff --git a/16/x_/mxrp.asm b/16/x_/mxrp.asm
deleted file mode 100755 (executable)
index de820c1..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-;-----------------------------------------------------------\r
-;\r
-; MXRP.ASM - Rotate palette function\r
-; Copyright (c) 1994 by Alessandro Scotti\r
-;\r
-;-----------------------------------------------------------\r
-WARN    PRO\r
-INCLUDE MODEX.DEF\r
-\r
-PUBLIC  mxRotatePalette\r
-\r
-MX_TEXT         SEGMENT USE16 PARA PUBLIC 'CODE'\r
-                ASSUME cs:MX_TEXT, ds:NOTHING, es:NOTHING\r
-\r
-;-----------------------------------------------------------\r
-;\r
-; Rotates the palette of the specified number of colors.\r
-;\r
-; Input:\r
-;       Palette = pointer to palette\r
-;       Count   = number of colors to rotate\r
-;       Step    = step size\r
-; Output:\r
-;       none\r
-;\r
-; Note: if Step is positive palette is rotated left to right, otherwise\r
-;       right to left.\r
-;\r
-mxRotatePalette PROC    FAR\r
-        ARG     Step:WORD,      \\r
-                Count:WORD,     \\r
-                Palette:DWORD   = ARG_SIZE\r
-        LOCAL   Holder:BYTE:768 = AUTO_SIZE\r
-        ASSUME  ds:NOTHING\r
-        .enter  AUTO_SIZE\r
-        .push   ds, si, es, di\r
-\r
-        mov     bx, [Count]\r
-        add     bx, bx\r
-        add     bx, [Count]             ; BX = Count*3\r
-\r
-        lds     si, [Palette]           ; DS:SI -> palette\r
-        push    ss\r
-        pop     es\r
-        lea     di, Holder              ; ES:DI -> local space\r
-        cld\r
-\r
-        mov     ax, [Step]\r
-        mov     dx, ax\r
-        test    ax, ax\r
-        jz      @@Exit                  ; Nothing to do, exit\r
-        jl      @@RightToLeft\r
-\r
-@@LeftToRight:\r
-        add     ax, ax\r
-        add     dx, ax                  ; DX = Step*3\r
-        sub     bx, dx                  ; BX = (Count-Step)*3\r
-        add     si, bx\r
-        push    si\r
-        mov     cx, dx\r
-        rep     movsb\r
-        mov     es, WORD PTR Palette[2]\r
-        mov     di, si\r
-        dec     di                      ; ES:DI -> last byte of palette\r
-        pop     si\r
-        dec     si\r
-        mov     cx, bx\r
-        std\r
-        rep     movsb\r
-        push    ss\r
-        pop     ds\r
-        lea     si, Holder\r
-        les     di, [Palette]\r
-        mov     cx, dx\r
-        cld\r
-        rep     movsb\r
-        jmp     @@Exit\r
-\r
-@@RightToLeft:\r
-        add     ax, ax\r
-        add     dx, ax\r
-        neg     dx                      ; DX = Step*3\r
-        sub     bx, dx                  ; BX = (Count-Step)*3\r
-        mov     cx, dx\r
-        rep     movsb\r
-        les     di, [Palette]\r
-        mov     cx, bx\r
-        rep     movsb\r
-        push    ss\r
-        pop     ds\r
-        lea     si, Holder\r
-        mov     cx, dx\r
-        rep     movsb\r
-\r
-@@Exit:\r
-        .pop    ds, si, es, di\r
-        .leave  ARG_SIZE\r
-mxRotatePalette ENDP\r
-\r
-MX_TEXT         ENDS\r
-END\r