From: sparky4 <sparky4@cock.li>
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 <stdio.h>
+#include <math.h>
+#include <conio.h>
+#include <dos.h>
+#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<MAXY;y+=2)
+			plzline(y,0x0a000+y*6+YADD*6);
+		setplzparas(l1,l2,l3,l4);
+		for(y=1;y<MAXY;y+=2)
+			plzline(y,0x0a000+y*6+YADD*6);
+
+
+		__asm
+		{
+			mov dx, 3c4h
+			mov ax, 0502h
+			out dx, ax
+		}
+
+		setplzparas(k1,k2,k3,k4);
+		for(y=1;y<MAXY;y+=2)
+			plzline(y,0x0a000+y*6+YADD*6);
+		setplzparas(l1,l2,l3,l4);
+		for(y=0;y<MAXY;y+=2)
+			plzline(y,0x0a000+y*6+YADD*6);
+		}
+	cop_drop=0; frame_count=0; while(frame_count==0);
+	set_plzstart(500);
+	cop_plz=0;
+	}
+
+void init_plz()
+	{
+	int	a,b,c,z;
+	int	*pptr=pals;
+
+#ifdef	DO_TABLES
+	{
+	FILE	*f1,*f2,*f3,*f4;
+	f1=fopen("lsini4.inc","wb");
+	f2=fopen("lsini16.inc","wb");
+	f3=fopen("psini.inc","wb");
+	f4=fopen("ptau.inc","wb");
+
+	for(a=0;a<1024*16;a++)
+		{
+		if(a<1024*8)
+			{
+			lsini4[a]=(sin(a*DPII/4096)*55+sin(a*DPII/4096*5)*8+sin(a*DPII/4096*15)*2+64)*8;
+			lsini16[a]=(sin(a*DPII/4096)*55+sin(a*DPII/4096*4)*5+sin(a*DPII/4096*17)*3+64)*16;
+			}
+		psini[a]=sin(a*DPII/4096)*55+sin(a*DPII/4096*6)*5+sin(a*DPII/4096*21)*4+64;
+		if((a&15)==0)
+			{
+			if(a<1024*8)
+				{
+				fprintf(f1,"\ndw	%4d",lsini4[a]);
+				fprintf(f2,"\ndw	%4d",lsini16[a]);
+				}
+			fprintf(f3,"\ndb	%4d",psini[a]);
+			}
+		else	{
+			if(a<1024*8)
+				{
+				fprintf(f1,",%4d",lsini4[a]);
+				fprintf(f2,",%4d",lsini16[a]);
+				}
+			fprintf(f3,",%4d",psini[a]);
+			}
+		}
+
+	fprintf(f4,"{\n%d",ptau[0]=0);
+	for(a=1;a<=128;a++)
+		{
+		fprintf(f4,",%3d",ptau[a]=cos(a*DPII/128+3.1415926535)*31+32);
+		if(!(a&15)) fputc('\n',f4);
+		}
+	fputc('}',f4); fputc(';',f4);
+
+	fclose(f1); fclose(f2); fclose(f3); fclose(f4);
+	}
+#endif
+	tw_opengraph2();
+	cop_start=96*(682-400);
+	set_plzstart(60);
+	init_copper();
+	for(a=0;a<256;a++) tw_setrgbpalette(a,63,63,63);
+
+//	RGB
+	pptr=&pals[0][3];
+	for(a=1;a<64;a++) *pptr++=ptau[a   ],*pptr++=ptau[0   ],*pptr++=ptau[0   ];
+	for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[0   ],*pptr++=ptau[0   ];
+	for(a=0;a<64;a++) *pptr++=ptau[0   ],*pptr++=ptau[0   ],*pptr++=ptau[a];
+	for(a=0;a<64;a++) *pptr++=ptau[a   ],*pptr++=ptau[0   ],*pptr++=ptau[63-a];
+
+//	RB-black
+	pptr=&pals[1][3];
+	for(a=1;a<64;a++) *pptr++=ptau[a   ],*pptr++=ptau[0   ],*pptr++=ptau[0   ];
+	for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[0   ],*pptr++=ptau[a   ];
+	for(a=0;a<64;a++) *pptr++=ptau[0   ],*pptr++=ptau[a   ],*pptr++=ptau[63-a];
+	for(a=0;a<64;a++) *pptr++=ptau[a   ],*pptr++=ptau[63  ],*pptr++=ptau[a   ];
+
+//	RB-white
+	pptr=&pals[3][3];
+	for(a=1;a<64;a++) *pptr++=ptau[a   ],*pptr++=ptau[0   ],*pptr++=ptau[0   ];
+	for(a=0;a<64;a++) *pptr++=ptau[63  ],*pptr++=ptau[a   ],*pptr++=ptau[a   ];
+	for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[63-a],*pptr++=ptau[63  ];
+	for(a=0;a<64;a++) *pptr++=ptau[0   ],*pptr++=ptau[0   ],*pptr++=ptau[63  ];
+
+//	white
+	pptr=&pals[2][3];
+	for(a=1;a<64;a++) *pptr++=ptau[0   ]/2,*pptr++=ptau[0   ]/2,*pptr++=ptau[0   ]/2;
+	for(a=0;a<64;a++) *pptr++=ptau[a   ]/2,*pptr++=ptau[a   ]/2,*pptr++=ptau[a   ]/2;
+	for(a=0;a<64;a++) *pptr++=ptau[63-a]/2,*pptr++=ptau[63-a]/2,*pptr++=ptau[63-a]/2;
+	for(a=0;a<64;a++) *pptr++=ptau[0   ]/2,*pptr++=ptau[0   ]/2,*pptr++=ptau[0   ]/2;
+
+//	white II
+	pptr=&pals[4][3];
+	for(a=1;a<75;a++) *pptr++=ptau[63-a*64/75],*pptr++=ptau[63-a*64/75],*pptr++=ptau[63-a*64/75];
+	for(a=0;a<106;a++)*pptr++=0,*pptr++=0,*pptr++=0;
+	for(a=0;a<75;a++) *pptr++=ptau[a*64/75]*8/10,*pptr++=ptau[a*64/75]*9/10,*pptr++=ptau[a*64/75];
+
+	pptr=pals;
+	for(a=0;a<768;a++,pptr++) *pptr=(*pptr-63)*2;
+	for(a=768;a<768*5;a++,pptr++) *pptr*=8;
+	}
+
diff --git a/plz.err b/plz.err
new file mode 100755
index 0000000..2df50c2
--- /dev/null
+++ b/plz.err
@@ -0,0 +1,12 @@
+plz.c(74): Warning! W113: Pointer type mismatch
+plz.c(74): Note! I2003: source conversion type is 'int *'
+plz.c(74): Note! I2004: target conversion type is 'char __far *'
+plz.c(77): Warning! W131: No prototype found for function 'dis_exit'
+plz.c(80): Warning! W131: No prototype found for function 'dis_getmframe'
+plz.c(82): Warning! W131: No prototype found for function 'memset'
+plz.c(84): Warning! W113: Pointer type mismatch
+plz.c(84): Note! I2003: source conversion type is 'int *'
+plz.c(84): Note! I2004: target conversion type is 'char __far *'
+plz.c(126): Warning! W111: Meaningless use of an expression
+plz.c(182): Warning! W131: No prototype found for function 'tw_opengraph2'
+plz.c(186): Warning! W131: No prototype found for function 'tw_setrgbpalette'
diff --git a/plz.h b/plz.h
new file mode 100755
index 0000000..a4ba084
--- /dev/null
+++ b/plz.h
@@ -0,0 +1,5 @@
+#ifndef _PLZ_H_
+#define _PLZ_H_
+void init_plz();
+void plz();
+#endif
diff --git a/plz.o b/plz.o
new file mode 100755
index 0000000..4a36685
Binary files /dev/null and b/plz.o differ
diff --git a/plzpart.c b/plzpart.c
new file mode 100755
index 0000000..c5e798e
--- /dev/null
+++ b/plzpart.c
@@ -0,0 +1,15 @@
+//#include "..\dis\dis.h"
+
+extern plz();
+extern  init_copper();
+extern  close_copper();
+//extern vect();
+
+void main()  {
+//	dis_partstart();
+	init_copper();
+//	initvect();
+	plz();
+//	vect();
+	close_copper();
+	}
diff --git a/plzpart.o b/plzpart.o
new file mode 100755
index 0000000..39447bf
Binary files /dev/null and b/plzpart.o differ
diff --git a/ptau.inc b/ptau.inc
new file mode 100755
index 0000000..b499506
--- /dev/null
+++ b/ptau.inc
@@ -0,0 +1,10 @@
+{
+0,  1,  1,  1,  1,  1,  2,  2,  3,  3,  4,  5,  6,  7,  8,  9, 10
+, 11, 12, 13, 14, 16, 17, 18, 20, 21, 23, 24, 25, 27, 28, 30, 31
+, 33, 35, 36, 38, 39, 40, 42, 43, 45, 46, 47, 49, 50, 51, 52, 53
+, 54, 55, 56, 57, 58, 59, 60, 60, 61, 61, 62, 62, 62, 62, 62, 63
+, 62, 62, 62, 62, 62, 61, 61, 60, 60, 59, 58, 57, 56, 55, 54, 53
+, 52, 51, 50, 49, 47, 46, 45, 43, 42, 40, 39, 38, 36, 35, 33, 32
+, 30, 28, 27, 25, 24, 23, 21, 20, 18, 17, 16, 14, 13, 12, 11, 10
+,  9,  8,  7,  6,  5,  4,  3,  3,  2,  2,  1,  1,  1,  1,  1,  1
+};
\ No newline at end of file
diff --git a/ptau.pre b/ptau.pre
new file mode 100755
index 0000000..081cfd9
--- /dev/null
+++ b/ptau.pre
@@ -0,0 +1,11 @@
+{
+0,  1,  1,  1,  1,  1,  2,  2,  3,  3,  4,  5,  6,  7,  8,  9, 10
+, 11, 12, 13, 14, 16, 17, 18, 20, 21, 23, 24, 25, 27, 28, 30, 31
+, 33, 35, 36, 38, 39, 40, 42, 43, 45, 46, 47, 49, 50, 51, 52, 53
+, 54, 55, 56, 57, 58, 59, 60, 60, 61, 61, 62, 62, 62, 62, 62, 63
+, 62, 62, 62, 62, 62, 61, 61, 60, 60, 59, 58, 57, 56, 55, 54, 53
+, 52, 51, 50, 49, 47, 46, 45, 43, 42, 40, 39, 38, 36, 35, 33, 32
+, 30, 28, 27, 25, 24, 23, 21, 20, 18, 17, 16, 14, 13, 12, 11, 10
+,  9,  8,  7,  6,  5,  4,  3,  3,  2,  2,  1,  1,  1,  1,  1,  1
+};
+