home *** CD-ROM | disk | FTP | other *** search
- PUBLIC RTIMEON
- PUBLIC RTIMEOFF
- PUBLIC WAITVERTRETRACE
- PUBLIC RESETCOLORS
- PUBLIC SETCOLORS
- PUBLIC FADEUPCOLORS
- PUBLIC FADEDWCOLORS
- PUBLIC SETFCMODE
- PUBLIC TURNOFFFCMODE
- PUBLIC SET240MODE
-
- .386
- .MODEL USE16 SMALL
- .DATA
-
- PRESENT_COLORS DB 768 DUP(0)
-
- .CODE
-
- SET240MODE: PUSHA
- PUSH ES
- MOV AX,13H
- INT 10H
- MOV DX,3C4H
- MOV AX,0604H
- OUT DX,AX
- MOV AX,0100H
- OUT DX,AX
- MOV DX,3C2H
- MOV AL,0E3H
- OUT DX,AL
- MOV DX,3C4H
- MOV AX,0300H
- OUT DX,AX
- MOV DX,3D4H
- MOV AL,11H
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,7FH
- OUT DX,AL
- DEC DX
- MOV AX,0D06H
- OUT DX,AX
- MOV AX,03E07H
- OUT DX,AX
- MOV AX,4109H
- OUT DX,AX
- MOV AX,0EA10H
- OUT DX,AX
- MOV AX,0AC11H
- OUT DX,AX
- MOV AX,0DF12H
- OUT DX,AX
- MOV AX,0014H
- OUT DX,AX
- MOV AX,0E715H
- OUT DX,AX
- MOV AX,0616H
- OUT DX,AX
- MOV AX,0E317H
- OUT DX,AX
- MOV DX,3C4H
- MOV AX,0F02H
- OUT DX,AX
- CLD
- MOV AX,0A000H
- MOV ES,AX
- XOR EDI,EDI
- XOR EAX,EAX
- MOV CX,4000H
- REP STOSD
- POP ES
- POPA
- RET
-
- RTIMEON: PUSH DX
- PUSH AX
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- MOV AL,63
- OUT DX,AL
- OUT DX,AL
- OUT DX,AL
- POP AX
- POP DX
- RET
-
- RTIMEOFF: PUSH DX
- PUSH AX
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- OUT DX,AL
- OUT DX,AL
- OUT DX,AL
- POP AX
- POP DX
- RET
-
- WAITVERTRETRACE:PUSH DX
- PUSH AX
- MOV DX,3DAH
- NOVRETRACE: IN AL,DX
- TEST AL,8
- JZ SHORT NOVRETRACE
- VRETRACE: IN AL,DX
- TEST AL,8
- JNZ SHORT VRETRACE
- POP AX
- POP DX
- RET
-
- RESETCOLORS: PUSH AX
- PUSH CX
- PUSH DX
- PUSH SI
- PUSH DS
- MOV CX,768
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- XOR SI,SI
- PUSH SEG PRESENT_COLORS
- POP DS
- RESETCOLORSCIK: OUT DX,AL
- MOV PRESENT_COLORS[SI],AL
- INC SI
- DEC CX
- JNZ SHORT RESETCOLORSCIK
- POP DS
- POP SI
- POP DX
- POP CX
- POP AX
- RET
-
- FADEUPCOLORS: PUSHA
- PUSH DS
- PUSH FS
- PUSH SEG PRESENT_COLORS
- POP DS
- MOV FS,AX
- LEA DI,PRESENT_COLORS
- MOV CX,768
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- FADEUPCOLCIK: MOV AL,DS:[DI]
- CMP AL,FS:[SI]
- JZ SHORT NOCHANGECOLFU
- JA SHORT SUBALFU
- INC AL
- JMP NOCHANGECOLFU
- SUBALFU: DEC AL
- NOCHANGECOLFU: MOV DS:[DI],AL
- OUT DX,AL
- INC DI
- ADD SI,1
- JNC SHORT NOADDFSFUCOLORS
- MOV AX,FS
- ADD AX,1000H
- MOV FS,AX
- NOADDFSFUCOLORS:DEC CX
- JNZ SHORT FADEUPCOLCIK
- POP FS
- POP DS
- POPA
- RET
-
- FADEDWCOLORS: PUSHA
- PUSH DS
- PUSH SEG PRESENT_COLORS
- POP DS
- MOV CX,768
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- XOR DI,DI
- FADEDWCIK: MOV AL,PRESENT_COLORS[DI]
- OR AL,AL
- JZ SHORT NOSUBCOLORAL
- DEC AL
- NOSUBCOLORAL: MOV PRESENT_COLORS[DI],AL
- OUT DX,AL
- INC DI
- DEC CX
- JNZ SHORT FADEDWCIK
- POP DS
- POPA
- RET
-
- SETCOLORS: PUSHA
- PUSH FS
- PUSH DS
- PUSH SEG PRESENT_COLORS
- POP DS
- XOR DI,DI
- MOV CX,768
- MOV FS,AX
- MOV DX,3C8H
- XOR AL,AL
- OUT DX,AL
- INC DX
- SETCOLORSCIK: MOV AL,FS:[SI]
- OUT DX,AL
- MOV PRESENT_COLORS[DI],AL
- INC DI
- ADD SI,1
- JNC SHORT NOADDFSSCCIK
- MOV AX,FS
- ADD AX,1000H
- MOV FS,AX
- NOADDFSSCCIK: DEC CX
- JNZ SHORT SETCOLORSCIK
- POP DS
- POP FS
- POPA
- RET
-
- SETFCMODE: PUSHA
- MOV DX,03C4H
- MOV AL,4
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,0F7H
- OR AL,4
- OUT DX,AL
- MOV DX,03CEH
- MOV AL,5
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,0EFH
- OR AL,040H
- OUT DX,AL
- MOV DX,03CEH
- MOV AL,6
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,0FDH
- OUT DX,AL
- MOV DX,03D4H
- MOV AL,014H
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,0BFH
- OUT DX,AL
- MOV DX,03D4H
- MOV AL,017H
- OUT DX,AL
- INC DX
- IN AL,DX
- OR AL,040H
- OUT DX,AL
- POPA
- RET
-
- TURNOFFFCMODE: PUSHA
- MOV DX,03C4H
- MOV AL,4
- OUT DX,AL
- INC DX
- IN AL,DX
- OR AL,00001000B
- AND AL,11111101B
- OUT DX,AL
- MOV DX,03CEH
- MOV AL,5
- OUT DX,AL
- INC DX
- IN AL,DX
- OR AL,00010000B
- AND AL,10111111B
- OUT DX,AL
- MOV DX,03CEH
- MOV AL,6
- OUT DX,AL
- INC DX
- IN AL,DX
- OR AL,00000010B
- OUT DX,AL
- MOV DX,03D4H
- MOV AL,014H
- OUT DX,AL
- INC DX
- IN AL,DX
- OR AL,01000000B
- OUT DX,AL
- MOV DX,03D4H
- MOV AL,017H
- OUT DX,AL
- INC DX
- IN AL,DX
- AND AL,10111111B
- OUT DX,AL
- POPA
- RET
-
- END
-