home *** CD-ROM | disk | FTP | other *** search
/ CD-X 1 / cdx_01.iso / demodisc / cyberdan / intrance / inc / palette.inc < prev   
Encoding:
Text File  |  1995-02-09  |  4.5 KB  |  191 lines

  1. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  2.  
  3. ; PALMORPH: PALETTE MORPHiNG      DS:Si, ES:Di, [48 BYTES]
  4. ; PAL16:    16COLOR PALETTE OUT   DS:Si
  5. ; PAL256:   256COLOR PALETTE OUT  DS:Si
  6. ; RASTERWAiT
  7. ; REGBEALLiT
  8. ; DARKENPAL
  9.  
  10. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  11.  
  12. B         EQU     BYTE PTR
  13.  
  14. PALMORPH: PUSH Si
  15.           PUSH Di
  16.           PUSH CX
  17.           PUSH AX
  18.           MOV CX,63
  19. PMR4:     PUSH CX
  20.           PUSH Si
  21.           PUSH Di
  22.           MOV CX,48
  23. PMR0:     MOV AL,B CS:[Si]
  24.           CMP AL,B CS:[Di]
  25.           JA  PMR1
  26.           JE  PMR2
  27.           iNC B CS:[Si]
  28.           JMP PMR2
  29. PMR1:     DEC B CS:[Si]
  30. PMR2:     iNC Si
  31.           iNC Di
  32.           LOOP PMR0
  33.           POP Di
  34.           POP Si
  35.           POP CX
  36.           CALL RASTERWAiT
  37.           PUSH DS CS
  38.           POP DS
  39.           CALL PAL16
  40.           POP DS
  41.           LOOP PMR4
  42.           POP AX
  43.           POP CX
  44.           POP Di
  45.           POP Si
  46.           RET
  47.  
  48. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  49.  
  50. PAL16:    PUSH Si
  51.           PUSH DX
  52.           PUSH AX
  53.           PUSH CX
  54.           MOV CX,48
  55.           MOV DX,3C8H
  56.           XOR AL,AL
  57.           OUT DX,AL
  58.           iNC DX
  59.           REP OUTSB
  60.           POP CX
  61.           POP AX
  62.           POP DX
  63.           POP Si
  64.           RET
  65.  
  66. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  67.  
  68. PAL256:   PUSH Si
  69.           PUSH DX
  70.           PUSH AX
  71.           PUSH CX
  72.           MOV CX,768
  73.           MOV DX,3C8H
  74.           XOR AL,AL
  75.           OUT DX,AL
  76.           iNC DX
  77.           REP OUTSB
  78.           POP CX
  79.           POP AX
  80.           POP DX
  81.           POP Si
  82.           RET
  83.  
  84. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  85.  
  86. RASTERWAiT:
  87.           PUSH DX
  88.           PUSH AX
  89.           MOV DX,3DAH
  90. RASTERW1: iN AL,DX
  91.           AND AL,8
  92.           JE RASTERW1
  93. RASTERW2: iN AL,DX
  94.           AND AL,8
  95.           JNE RASTERW2
  96.           POP AX
  97.           POP DX
  98.           RET
  99. RASTERWAiT2:
  100.           PUSH DX
  101.           PUSH AX
  102.           MOV DX,3DAH
  103. RASTERW11:iN AL,DX
  104.           AND AL,8
  105.           JE RASTERW11
  106.           POP AX
  107.           POP DX
  108.           RET
  109.  
  110. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  111.  
  112. REGS  DB 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
  113.  
  114. REGBEALLiT:     PUSH ES
  115.                 PUSH AX
  116.             PUSH DX
  117.         MOV DX,3C8H
  118.         MOV AL,16
  119.         OUT DX,AL
  120.         INC DX
  121.         XOR AX,AX
  122.         OUT DX,AL
  123.         OUT DX,AL
  124.                 OUT DX,AL
  125.                 MOV AX,CS
  126.                 MOV ES,AX
  127.                 LEA DX,CS:[REGS]
  128.                 MOV AX,1002H
  129.                 iNT 10H
  130.                 POP DX
  131.                 POP AX
  132.                 POP ES
  133.                 RET
  134.  
  135. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  136.  
  137. FADEPAL:        PUSHA
  138.                 MOV     CX,63
  139. DOSFADE1:       PUSH    CX
  140.                 MOV     CX,0
  141. DOSFADE2:       MOV     DX,3C7H
  142.                 MOV     AL,CL 
  143.                 OUT     DX,AL
  144.                 ADD     DX,2
  145.                 iN      AL,DX   ;---- RED
  146.                 MOV     BL,AL
  147.                 iN      AL,DX   ;---- GREEN
  148.                 MOV     BH,AL
  149.                 iN      AL,DX   ;---- BLUE
  150.                 MOV     AH,AL
  151.                 DEC     DX
  152.                 MOV     AL,CL
  153.                 OUT     DX,AL
  154.                 iNC     DX
  155.                 CMP     BL,0
  156.                 JE      DOSFADE_1
  157.                 DEC     BL
  158. DOSFADE_1:      MOV     AL,BL
  159.                 OUT     DX,AL   ;---- RED
  160.                 CMP     BH,0
  161.                 JE      DOSFADE_2
  162.                 DEC     BH
  163. DOSFADE_2:      MOV     AL,BH
  164.                 OUT     DX,AL   ;---- GREEN
  165.                 CMP     AH,0
  166.                 JE      DOSFADE_3
  167.                 DEC     AH
  168. DOSFADE_3:      MOV     AL,AH
  169.                 OUT     DX,AL   ;---- BLUE
  170.                 ADD     CX,1
  171.                 CMP     CX,255
  172.                 JNE     DOSFADE2
  173. POPO:           CALL    RASTERWAiT
  174.                 POP     CX
  175.                 LOOP    DOSFADE1
  176.                 POPA
  177.                 RET
  178.  
  179. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  180.  
  181. DARKENPAL:      PUSH CX DX AX
  182.                 MOV DX,3C8H
  183.                 MOV AL,0
  184.                 OUT DX,AL
  185.                 MOV CX,768
  186.                 INC DX
  187. DPAL0:          OUT DX,AL
  188.         LOOP DPAL0
  189.         POP AX DX CX
  190.         RET
  191.