Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
149
ALKU/COPPER.ASM
Normal file
149
ALKU/COPPER.ASM
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
CODESEG
|
||||
|
||||
PUBLIC C frame_count, C init_copper, C close_copper, C cop_pal, C do_pal, C cop_start, C cop_scrl
|
||||
|
||||
twait dw 0
|
||||
frame_count dw 0
|
||||
old_int8 dw 0
|
||||
dw 0
|
||||
cop_pal dd 0
|
||||
do_pal dw 0
|
||||
cop_start dw 0
|
||||
cop_scrl dw 0
|
||||
|
||||
|
||||
PROC close_copper
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 0
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 1
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 2
|
||||
mov cx, 0
|
||||
mov dx, 0
|
||||
int 0fch
|
||||
|
||||
ret
|
||||
ENDP
|
||||
|
||||
PROC init_copper
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 1
|
||||
mov cx, OFFSET copper1
|
||||
mov dx, SEG copper1
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 2
|
||||
mov cx, OFFSET copper2
|
||||
mov dx, SEG copper2
|
||||
int 0fch
|
||||
|
||||
mov bx, 7
|
||||
mov ax, 0
|
||||
mov cx, OFFSET copper3
|
||||
mov dx, SEG copper3
|
||||
int 0fch
|
||||
|
||||
ret
|
||||
|
||||
PROC copper1
|
||||
|
||||
mov dx, 03d4h
|
||||
mov al, 0dh
|
||||
mov ah, [Byte cs:cop_start]
|
||||
out dx, ax
|
||||
mov al, 0ch
|
||||
mov ah, [Byte cs:cop_start+1]
|
||||
out dx, ax
|
||||
|
||||
mov dx, 3c0h
|
||||
mov al, 33h
|
||||
out dx, al
|
||||
mov ax, [cs:cop_scrl]
|
||||
out dx, al
|
||||
|
||||
retf
|
||||
ENDP
|
||||
|
||||
PROC copper2
|
||||
|
||||
inc [cs:frame_count]
|
||||
|
||||
cmp [cs:do_pal], 0d
|
||||
je @@no_pal
|
||||
|
||||
pusha
|
||||
push ds
|
||||
lds si, [cs:cop_pal]
|
||||
mov cx, 768d
|
||||
mov dx, 3c8h
|
||||
mov al, 0d
|
||||
out dx, al
|
||||
inc dx
|
||||
rep outsb
|
||||
mov [cs:do_pal], 0d
|
||||
pop ds
|
||||
popa
|
||||
@@no_pal:
|
||||
retf
|
||||
ENDP
|
||||
|
||||
PUBLIC C cop_dofade
|
||||
cop_dofade dw 0
|
||||
|
||||
PUBLIC C fadepal
|
||||
fadepal db 768*2 dup(?)
|
||||
|
||||
PUBLIC C cop_fadepal
|
||||
cop_fadepal dd 0
|
||||
|
||||
PROC copper3
|
||||
cmp [cs:cop_dofade], 0d
|
||||
je @@l1
|
||||
dec [cs:cop_dofade]
|
||||
|
||||
push ds si di cx
|
||||
|
||||
mov [Word cs:cop_pal], OFFSET fadepal
|
||||
mov [Word cs:cop_pal+2], SEG fadepal
|
||||
mov [do_pal], 1d
|
||||
|
||||
lds si, [cs:cop_fadepal]
|
||||
mov di, OFFSET fadepal
|
||||
mov cx, 768/16d
|
||||
@@l4:
|
||||
ccc=0
|
||||
REPT 16
|
||||
mov ax, [ds:si+ccc*2]
|
||||
add [cs:di+ccc+768], al
|
||||
adc [cs:di+ccc], ah
|
||||
ccc=ccc+1
|
||||
ENDM
|
||||
add di, 16d
|
||||
add si, 32d
|
||||
dec cx
|
||||
jnz @@l4
|
||||
|
||||
pop cx di si ds
|
||||
@@l1:
|
||||
retf
|
||||
ENDP
|
||||
|
||||
|
||||
END
|
||||
|
||||
Loading…
Reference in a new issue