home *** CD-ROM | disk | FTP | other *** search
- ; RASTERWAiT
- ; PLANE - CX: PLANE NR.
- ; LBM16 - DS:Si LBM PLACE
- ; LBM16SZETRAK - DS:Si LBM PLACE, ES:Di - WHERE, AX-MEKKORA DARABOKRA
- ; PAL16KiRAK - DS:Si PALETTE PLACE
- ; PAL256KiRAK - DS:Si PALETTE PLACE
- ; SET640X400X16 - ? :-)
- ; SET640X480X16 - ? ;-)
- ; BE - \ TEST
- ; Ki - / TEST
-
- WAS DB 0
-
- PLANE: PUSH DX AX
- MOV DX,3C4H
- MOV AL,2
- OUT DX,AL
- iNC DX
- MOV AL,1
- SHL AL,CL
- OUT DX,AL
- POP AX DX
- RET
-
- SET640X400X16: CALL RASTERWAiT
- MOV AX,0EH ; 640X200X16
- iNT 10H
- MOV DX,3D4H
- MOV AL,9
- MOV AH,0
- OUT DX,AX ; NOW 640X400X16
- RET
-
- SET640X480X16: CALL RASTERWAiT
- MOV AX,12H ; 640X48X16
- iNT 10H
- RET
-
- ;▒▒▒▒▒▒▒ DECRUNCH ▒▒▒▒▒▒
- LBM16: PUSHA
- MOV DX,3C4H
- MOV AL,2
- OUT DX,AL
- iNC DX
- MOV CS:WAS,10001000B
- PLANECHANGE: MOV BP,0
- ROL CS:WAS,1
- JC DO
- SUB Di,640/8
- DO: CMP Di,32000 ;38400
- JE ENDDECRUNCH
- MOV AL,CS:WAS
- OUT DX,AL
- FOUND_BODY16: LODSB
- CBW
- MOV CX,AX
- OR AX,AX
- JS _REPLiCATE16
- _COPY16: iNC CX
- ADD BP,CX
- REP MOVSB
- JMP NEXTBLOKK16
- _REPLiCATE16: NEG CX
- iNC CX
- ADD BP,CX
- LODSB
- REP STOSB
- NEXTBLOKK16: CMP BP,640/8
- JB FOUND_BODY16
- JMP PLANECHANGE
- ENDDECRUNCH: POPA
- RET
-
- _SZETR_1 DW 0
-
- LBM16SZETRAK: PUSHA
- MOV [CS:_SZETR_1],AX
- MOV CS:WAS,0
- MOV BP,0
- JMP EFOUND_BODY16
- EDO: CMP Di,[CS:_SZETR_1]
- JA EENDDECRUNCH
- MOV [CS:WAS],0
- MOV DX,ES
- MOV AX,[CS:_SZETR_1]
- SHR AX,4
- SUB DX,AX
- SUB DX,AX
- SUB DX,AX
- MOV ES,DX
- EFOUND_BODY16: LODSB
- CBW
- MOV CX,AX
- OR AX,AX
- JS E_REPLiCATE16
- E_COPY16: iNC CX
- ADD BP,CX
- REP MOVSB
- JMP ENEXTBLOKK16
- E_REPLiCATE16: NEG CX
- iNC CX
- ADD BP,CX
- LODSB
- REP STOSB
- ENEXTBLOKK16: CMP BP,80
- JB EFOUND_BODY16
- MOV BP,0
- CMP [CS:WAS],3
- JE EDO
- iNC [CS:WAS]
- SUB Di,80
- MOV AX,ES
- MOV BX,[CS:_SZETR_1]
- SHR BX,4
- ADD AX,BX
- MOV ES,AX
- JMP EFOUND_BODY16
- EENDDECRUNCH: POPA
- RET
-
- CLEARALLPLANES: PUSH AX CX Di ES
- MOV CX,0
- MOV AX,0A000H
- MOV ES,AX
- XOR EAX,EAX
- CLEAR_ALL_PLA0: CALL PLANE
- XOR Di,Di
- PUSH CX
- MOV CX,16000
- REP STOSD
- POP CX
- iNC CX
- CMP CX,4
- JB CLEAR_ALL_PLA0
- POP ES Di CX AX
- RET
-
- Ki: PUSH AX
- PUSH DX
- MOV DX,3C8H
- MOV AL,0
- OUT DX,AL
- iNC DX
- MOV AL,0
- OUT DX,AL
- OUT DX,AL
- MOV AL,63
- OUT DX,AL
- POP DX
- POP AX
- RET
- BE: PUSH AX
- PUSH DX
- MOV DX,3C8H
- MOV AL,0
- OUT DX,AL
- iNC DX
- OUT DX,AL
- OUT DX,AL
- OUT DX,AL
- POP DX
- POP AX
- RET
-