From: sparky4 Date: Fri, 5 Feb 2016 20:21:28 +0000 (-0600) Subject: wwww X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=deb0db38e4b79eb8347c47d95bd81ccb874b8ab4;p=plz.git wwww --- deb0db38e4b79eb8347c47d95bd81ccb874b8ab4 diff --git a/config b/config new file mode 100755 index 0000000..20748c9 --- /dev/null +++ b/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = true + symlinks = false diff --git a/copper.asm b/copper.asm new file mode 100755 index 0000000..db5e866 --- /dev/null +++ b/copper.asm @@ -0,0 +1,1178 @@ +.8087 + PUBLIC _frame_count + PUBLIC _cop_drop + PUBLIC _cop_pal + PUBLIC _do_pal + PUBLIC _cop_start + PUBLIC _cop_scrl + PUBLIC _cop_plz + PUBLIC _close_copper + PUBLIC _init_copper + PUBLIC _pompota + PUBLIC _moveplz + PUBLIC _fadepal + PUBLIC _cop_fadepal + EXTRN _k1:BYTE + EXTRN _k2:BYTE + EXTRN _k3:BYTE + EXTRN _k4:BYTE + EXTRN _l1:BYTE + EXTRN _l2:BYTE + EXTRN _l3:BYTE + EXTRN _l4:BYTE + EXTRN _il1:BYTE + EXTRN _il2:BYTE + EXTRN _il3:BYTE + EXTRN _il4:BYTE + EXTRN _ik1:BYTE + EXTRN _ik2:BYTE + EXTRN _ik3:BYTE + EXTRN _ik4:BYTE +DGROUP GROUP _DATA +COPPER_TEXT SEGMENT WORD PUBLIC USE16 'CODE' + ASSUME CS:COPPER_TEXT, DS:DGROUP, SS:DGROUP +_frame_count: + add byte ptr [bx+si],al +_cop_drop: + add byte ptr [bx+si],al +_cop_pal: + add byte ptr [bx+si],al +L$1: + add byte ptr [bx+si],al +_do_pal: + add byte ptr [bx+si],al +_cop_start: + DB 0 +L$2: + DB 0 +_cop_scrl: + add byte ptr [bx+si],al +_cop_plz: + add word ptr [bx+si],ax +_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 + retf +_init_copper: + mov bx,7 + mov ax,1 + mov cx,offset copper1 + mov dx,COPPER_TEXT + int 0fcH + mov bx,7 + mov ax,2 + mov cx,offset copper2 + mov dx,COPPER_TEXT + int 0fcH + mov bx,7 + mov ax,0 + mov cx,offset copper3 + mov dx,COPPER_TEXT + int 0fcH + retf +copper1: + mov dx,3d4H + mov al,0dH + mov ah,byte ptr cs:_cop_start + out dx,ax + mov al,0cH + mov ah,byte ptr cs:L$2 + out dx,ax + mov dx,3c0H + mov al,33H + out dx,al + mov ax,word ptr cs:_cop_scrl + out dx,al + retf +copper2: + ;pusha + push AX + push CX + push DX + push BX + push SP + push BP + push SI + push DI + push ds + inc word ptr cs:_frame_count + cmp word ptr cs:_do_pal,0 + je L$3 + lds si,dword ptr cs:_cop_pal + mov cx,300H + mov dx,3c8H + mov al,0 + out dx,al + inc dx + ;rep outsb + movsb + movsb + mov word ptr cs:_do_pal,0 +L$3: + cmp word ptr cs:_cop_plz,0 + je L$4 + push cs + call near ptr _pompota + push cs + call near ptr _moveplz +L$4: + cmp word ptr cs:_cop_drop,0 + je L$5 + push cs + call near ptr L$14 +L$5: + pop ds + ;;;;popa + pop AX + pop CX + pop DX + pop BX + pop SP + pop BP + pop SI + pop DI + retf +copper3: + retf +L$6: + DB 0 +_pompota: + mov word ptr cs:0cH,4 + mov dx,3d4H + mov ax,3c18H + out dx,ax + mov ax,0f07H + out dx,ax + mov ax,3c18H + inc byte ptr cs:L$6 + test byte ptr cs:L$6,1 + je L$7 + mov word ptr cs:_cop_scrl,0 + mov ax,3d18H +L$7: + out dx,ax + retf +_moveplz: + ;;;;push ds + ;;;;push seg _k1 + ;;;;pop ds + add word ptr DGROUP:_k1,0fffdH + and word ptr DGROUP:_k1,0fffH + add word ptr DGROUP:_k2,0fffeH + and word ptr DGROUP:_k2,0fffH + add word ptr DGROUP:_k3,1 + and word ptr DGROUP:_k3,0fffH + add word ptr DGROUP:_k4,2 + and word ptr DGROUP:_k4,0fffH + add word ptr DGROUP:_l1,0ffffH + and word ptr DGROUP:_l1,0fffH + add word ptr DGROUP:_l2,0fffeH + and word ptr DGROUP:_l2,0fffH + add word ptr DGROUP:_l3,2 + and word ptr DGROUP:_l3,0fffH + add word ptr DGROUP:_l4,3 + and word ptr DGROUP:_l4,0fffH + pop ds + retf +L$8: + cmp al,0 + cmp al,0 + cmp al,0 + cmp al,0 + cmp ax,3e00H + add byte ptr [bx],bh + add byte ptr [bx+si],al + inc cx + add byte ptr [bp+si],al + inc sp + add byte ptr [bp],al + dec ax + add byte ptr [bp+si],cl + dec sp + add byte ptr [bp],cl + push cx + add byte ptr [si],dl + push di + add byte ptr [bp+si],bl + pop bp + add byte ptr [bx+si],ah + add byte ptr fs:[bx+si],ch + ;;;;insb + add byte ptr [bx+si],dh + je L$9 +L$9: + jns L$10 +L$10: + jge L$11 +L$11: + add byte ptr [bx+si],87H + add byte ptr -6e00H[si],cl + add byte ptr -6300H[bx],dl + add byte ptr -5800H[bp+si],ah + add byte ptr -4b00H[bp],ch + add byte ptr -3e00H[bp+di],bh + add cl,cl + add al,dl + add bh,dl + add dh,bl + add ch,ah + add ch,ch + add ch,dh + add ch,bh + add byte ptr [di],al + add word ptr [di],cx + add word ptr ds:[1f01H],dx + add word ptr [bx],sp + add word ptr [bx+si],si + add word ptr [bx+di],di + add word ptr 1[bp+di],ax + dec sp + add word ptr 1[bp],dx + ;;;;pusha + push AX + push CX + push DX + push BX + push SP + push BP + push SI + push DI + add word ptr 1[bp+si],bp + je L$12 + DB 7eH +L$12: + DD L$13 +L$13: + DB 1 +_fadepal: + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al + add byte ptr [bx+si],al +_cop_fadepal: + add byte ptr [bx+si],al + add byte ptr [bx+si],al +L$14: + inc word ptr cs:2 + cmp word ptr cs:_cop_drop,40H + ja L$15 + push bx + mov bx,word ptr cs:_cop_drop + shl bx,1 + add bx,offset L$8 + mov bx,word ptr cs:[bx] + mov dx,3d4H + mov al,18H + mov ah,bl + out dx,ax + mov al,7 + mov ah,bh + shl ah,1 + shl ah,1 + shl ah,1 + shl ah,1 + and ah,10H + or ah,0fH + out dx,ax + pop bx + retf +L$15: + cmp word ptr cs:_cop_drop,100H + jae L$19 + cmp word ptr cs:_cop_drop,80H + jae L$16 + cmp word ptr cs:_cop_drop,60H + ja L$19 +L$16: + mov word ptr cs:_cop_pal,offset _fadepal + mov word ptr cs:L$1,COPPER_TEXT + mov word ptr cs:_do_pal,1 + cmp word ptr cs:_cop_drop,41H + je L$18 + mov dx,3d4H + mov ax,3c18H + out dx,ax + mov ax,0f07H + out dx,ax + push ds + push si + push di + push cx + lds si,dword ptr cs:_cop_fadepal + mov di,offset _fadepal + mov cx,30H +L$17: + mov ax,word ptr [si] + add byte ptr cs:300H[di],al + adc byte ptr cs:[di],ah + mov ax,word ptr 2[si] + add byte ptr cs:301H[di],al + adc byte ptr cs:1[di],ah + mov ax,word ptr 4[si] + add byte ptr cs:302H[di],al + adc byte ptr cs:2[di],ah + mov ax,word ptr 6[si] + add byte ptr cs:303H[di],al + adc byte ptr cs:3[di],ah + mov ax,word ptr 8[si] + add byte ptr cs:304H[di],al + adc byte ptr cs:4[di],ah + mov ax,word ptr 0aH[si] + add byte ptr cs:305H[di],al + adc byte ptr cs:5[di],ah + mov ax,word ptr 0cH[si] + add byte ptr cs:306H[di],al + adc byte ptr cs:6[di],ah + mov ax,word ptr 0eH[si] + add byte ptr cs:307H[di],al + adc byte ptr cs:7[di],ah + mov ax,word ptr 10H[si] + add byte ptr cs:308H[di],al + adc byte ptr cs:8[di],ah + mov ax,word ptr 12H[si] + add byte ptr cs:309H[di],al + adc byte ptr cs:9[di],ah + mov ax,word ptr 14H[si] + add byte ptr cs:30aH[di],al + adc byte ptr cs:0aH[di],ah + mov ax,word ptr 16H[si] + add byte ptr cs:30bH[di],al + adc byte ptr cs:0bH[di],ah + mov ax,word ptr 18H[si] + add byte ptr cs:30cH[di],al + adc byte ptr cs:0cH[di],ah + mov ax,word ptr 1aH[si] + add byte ptr cs:30dH[di],al + adc byte ptr cs:0dH[di],ah + mov ax,word ptr 1cH[si] + add byte ptr cs:30eH[di],al + adc byte ptr cs:0eH[di],ah + mov ax,word ptr 1eH[si] + add byte ptr cs:30fH[di],al + adc byte ptr cs:0fH[di],ah + add di,10H + add si,20H + dec cx + jne L$17 + pop cx + pop di + pop si + pop ds + retf +L$18: + mov dx,3d4H + mov ax,9018H + out dx,ax + mov ax,1f07H + out dx,ax + push cs + call near ptr L$20 + retf +L$19: + mov word ptr cs:_cop_drop,0 + retf +L$20: + push ax + push ds + ;;;;push seg _k1 + pop ds + mov ax,word ptr DGROUP:_il1 + mov word ptr DGROUP:_l1,ax + mov ax,word ptr DGROUP:_il2 + mov word ptr DGROUP:_l2,ax + mov ax,word ptr DGROUP:_il3 + mov word ptr DGROUP:_l3,ax + mov ax,word ptr DGROUP:_il4 + mov word ptr DGROUP:_l4,ax + mov ax,word ptr DGROUP:_ik1 + mov word ptr DGROUP:_k1,ax + mov ax,word ptr DGROUP:_ik2 + mov word ptr DGROUP:_k2,ax + mov ax,word ptr DGROUP:_ik3 + mov word ptr DGROUP:_k3,ax + mov ax,word ptr DGROUP:_ik4 + mov word ptr DGROUP:_k4,ax + pop ds + pop ax + retf +COPPER_TEXT ENDS +_DATA SEGMENT WORD PUBLIC USE16 'DATA' +_DATA ENDS + END diff --git a/copper.o b/copper.o new file mode 100755 index 0000000..59b62a5 Binary files /dev/null and b/copper.o differ diff --git a/description b/description new file mode 100755 index 0000000..498b267 --- /dev/null +++ b/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/plz.c b/plz.c new file mode 100755 index 0000000..c909d80 --- /dev/null +++ b/plz.c @@ -0,0 +1,226 @@ +#include +#include +#include +#include +#include "plz.h" +//#include "tweak.h" + +//#define DO_TABLES +//#define DPII (3.1415926535*2.0) + +#define LINELEN 41 +#define MAXY 280 +#define YADD 0 +#define XADD 0 +#define SINMASK 4095 +#define PLZSINI(p1,p2,p3,p4) *ptr++ = (psini[x*32+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+p4]*4+p3]) + (psini[x*32+16+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+32+p4]*4+p3])*256; + +extern int init_copper(); +extern int close_copper(); +extern int far frame_count; +extern int far cop_drop; +extern int far cop_plz; +extern int far cop_start; +extern char far * cop_fadepal; +extern char fadepal[768]; +extern char far *cop_pal; +extern int do_pal; + +extern int plzline(int y, int vseg); +extern int setplzparas(int c1, int c2, int c3, int c4); +extern int set_plzstart(int y); +extern char far psini[16384]; +extern int far lsini4[8192]; +extern int far lsini16[8192]; + +//int (* vmem)[LINELEN]=MK_FP(0x0a000,0); +//char psini[16384]= +//#include "psini.pre" +//char lsini[16384]= +//#include "lsini.pre" + +char ptau[256]= +#include "ptau.pre" + +int pals[6][768]; +int curpal=0; +int timetable[10]={64*6*2-45,64*6*4-45,64*6*5-45,64*6*6-45,64*6*7+90,0}; +int ttptr=0; + +int l1=1000, l2=2000, l3=3000, l4=4000; +int k1=3500, k2=2300, k3=3900, k4=3670; + +int il1=1000, il2=2000, il3=3000, il4=4000; +int ik1=3500, ik2=2300, ik3=3900, ik4=3670; + +int inittable[10][8]={{1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,4000,4000,1500,2300,3900,1670}, + {3500,1000,3000,1000,3500,3300,2900,2670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}}; + +void plz(){ + register int x,y; + int *ptr; + long tim=0,count=0; + int ch=0,sync=2; + + //while(dis_musplus()<0 && !dis_exit()); + //dis_setmframe(0); + + init_plz(); + cop_drop=128; + cop_fadepal=pals[curpal++]; + + frame_count=0; + while(!dis_exit()) + { + tim+=frame_count; frame_count=0; count++; + if(dis_getmframe()>timetable[ttptr]) + { + memset(fadepal,0,768); + cop_drop=1; + cop_fadepal=pals[curpal++]; + ttptr++; + il1=inittable[ttptr][0]; + il2=inittable[ttptr][1]; + il3=inittable[ttptr][2]; + il4=inittable[ttptr][3]; + ik1=inittable[ttptr][4]; + ik2=inittable[ttptr][5]; + ik3=inittable[ttptr][6]; + ik4=inittable[ttptr][7]; + } + if(curpal==5 && cop_drop>64) break; + + __asm + { + mov dx, 3c4h + mov ax, 0a02h + out dx, ax + } + + setplzparas(k1,k2,k3,k4); + for(y=0;y