]> 4ch.mooo.com Git - plz.git/commitdiff
wwwwwwwwwwww
authorsparky4 <sparky4@cock.li>
Mon, 15 Feb 2016 20:08:35 +0000 (14:08 -0600)
committersparky4 <sparky4@cock.li>
Mon, 15 Feb 2016 20:08:35 +0000 (14:08 -0600)
copper.as0 [new file with mode: 0755]
copper.asm
copper.err [new file with mode: 0755]
copper.o [deleted file]
plz.o [deleted file]
tweak.o [deleted file]

diff --git a/copper.as0 b/copper.as0
new file mode 100755 (executable)
index 0000000..cbc118e
--- /dev/null
@@ -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: .global
+       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: .global
+       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
index cbc118ee0980a1493aa7df9e1c38780f5dd92a2c..c7a6209db7f9ac2f82e61a0a542005c6266b57d6 100755 (executable)
-.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: .global
-       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: .global
-       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
+       IDEAL\r
+       MODEL large\r
+       P386\r
+\r
+EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word\r
+EXTRN C il1:word, C il2:word, C il3:word, C il4:word, C ik1:word, C ik2:word, C ik3:word, C ik4:word\r
+\r
+CODESEG\r
+\r
+PUBLIC  C frame_count, C init_copper, C close_copper, C cop_drop, C cop_pal, C do_pal\r
+PUBLIC C cop_scrl, C cop_start, C cop_plz\r
+\r
+frame_count     dw      0\r
+cop_drop       dw      0\r
+cop_pal                dd      0\r
+do_pal         dw      0\r
+cop_start      dw      0\r
+cop_scrl       dw      0\r
+cop_plz                dw      1\r
+\r
+PROC   close_copper\r
+\r
+       mov     bx, 7\r
+       mov     ax, 0\r
+       mov     cx, 0\r
+       mov     dx, 0\r
+       int     0fch\r
+\r
+       mov     bx, 7\r
+       mov     ax, 1\r
+       mov     cx, 0\r
+       mov     dx, 0\r
+       int     0fch\r
+\r
+       mov     bx, 7\r
+       mov     ax, 2\r
+       mov     cx, 0\r
+       mov     dx, 0\r
+       int     0fch\r
+\r
+       ret\r
+ENDP\r
+\r
+PROC   init_copper\r
+\r
+       mov     bx, 7\r
+       mov     ax, 1\r
+       mov     cx, OFFSET copper1\r
+       mov     dx, SEG copper1\r
+       int     0fch\r
+\r
+       mov     bx, 7\r
+       mov     ax, 2\r
+       mov     cx, OFFSET copper2\r
+       mov     dx, SEG copper2\r
+       int     0fch\r
+\r
+       mov     bx, 7\r
+       mov     ax, 0\r
+       mov     cx, OFFSET copper3\r
+       mov     dx, SEG copper3\r
+       int     0fch\r
+\r
+       ret\r
+ENDP\r
+\r
+PROC   copper1\r
+\r
+       mov     dx, 03d4h\r
+       mov     al, 0dh\r
+       mov     ah, [Byte cs:cop_start]\r
+       out     dx, ax\r
+       mov     al, 0ch\r
+       mov     ah, [Byte cs:cop_start+1]\r
+       out     dx, ax\r
+\r
+       mov     dx, 3c0h\r
+       mov     al, 33h\r
+       out     dx, al\r
+       mov     ax, [cs:cop_scrl]\r
+       out     dx, al\r
+\r
+       retf\r
+ENDP\r
+\r
+PROC   copper2\r
+\r
+       pusha\r
+       push    ds\r
+\r
+       inc     [cs:frame_count]\r
+\r
+       cmp     [cs:do_pal], 0d\r
+       je      @@no_pal\r
+       lds     si, [cs:cop_pal]\r
+       mov     cx, 768d\r
+       mov     dx, 3c8h\r
+       mov     al, 0d\r
+       out     dx, al\r
+       inc     dx\r
+       rep     outsb\r
+       mov     [cs:do_pal], 0d\r
+@@no_pal:\r
+       cmp     [cs:cop_plz], 0d\r
+       je      @@l3\r
+       call    pompota\r
+       call    moveplz\r
+@@l3:\r
+       cmp     [cs:cop_drop], 0d\r
+       je      @@l1\r
+       call    do_drop\r
+@@l1:\r
+       pop     ds\r
+       popa\r
+       retf\r
+ENDP\r
+\r
+PROC   copper3\r
+       retf\r
+ENDP\r
+\r
+pompi   db      0\r
+\r
+PUBLIC C pompota\r
+\r
+PROC    pompota\r
+\r
+       mov     [cs:cop_scrl], 4d\r
+       mov     dx, 3d4h\r
+       mov     ax, 3c18h\r
+       out     dx, ax\r
+       mov     ax, 0f07h\r
+       out     dx, ax                  ; 8th bit\r
+       mov     ax, 3c18h\r
+       inc     [cs:pompi]\r
+       test    [cs:pompi], 1d\r
+       jz      @@l1\r
+       mov     [cs:cop_scrl], 0d\r
+       mov     ax, 3d18h\r
+@@l1:\r
+       out     dx, ax\r
+       ret\r
+ENDP\r
+\r
+PUBLIC C moveplz\r
+\r
+PROC moveplz\r
+\r
+        push    ds\r
+       push    SEG k1\r
+       pop     ds\r
+\r
+       add     [ds:k1], -3d\r
+       and     [ds:k1], 4095d\r
+       add     [ds:k2], -2d\r
+       and     [ds:k2], 4095d\r
+       add     [ds:k3], 1d\r
+       and     [ds:k3], 4095d\r
+       add     [ds:k4], 2d\r
+       and     [ds:k4], 4095d\r
+\r
+       add     [ds:l1], -1d\r
+       and     [ds:l1], 4095d\r
+       add     [ds:l2], -2d\r
+       and     [ds:l2], 4095d\r
+       add     [ds:l3], 2d\r
+       and     [ds:l3], 4095d\r
+       add     [ds:l4], 3d\r
+       and     [ds:l4], 4095d\r
+\r
+       pop     ds\r
+       ret\r
+ENDP\r
+\r
+LABEL  dtau Word\r
+ccc=0\r
+cccc=0\r
+REPT   65                              ; 43=dy*512/dtý\r
+       dw      ccc*ccc/4*43/128+60\r
+ccc=ccc+1\r
+ENDM\r
+\r
+PUBLIC C fadepal\r
+fadepal                db      768*2 dup(?)\r
+\r
+PUBLIC C cop_fadepal\r
+cop_fadepal    dd      0\r
+\r
+PROC   do_drop\r
+\r
+       inc     [cs:cop_drop]\r
+       cmp     [cs:cop_drop], 64d\r
+       ja      @@over\r
+\r
+       push    bx\r
+       mov     bx, [cs:cop_drop]\r
+       shl     bx, 1d\r
+       add     bx, OFFSET dtau\r
+\r
+       mov     bx, [cs:bx]\r
+       mov     dx, 3d4h\r
+       mov     al, 18h         ; linecompare\r
+       mov     ah, bl\r
+       out     dx, ax\r
+       mov     al, 07h\r
+       mov     ah, bh\r
+       shl     ah, 4d\r
+       and     ah, 10h\r
+       or      ah, 0fh\r
+       out     dx, ax                  ; 8th bit\r
+\r
+       pop     bx\r
+       ret\r
+\r
+@@over:\r
+       cmp     [cs:cop_drop], 256d\r
+       jae     @@end\r
+       cmp     [cs:cop_drop], 128\r
+       jae     @@lll\r
+       cmp     [cs:cop_drop], 64+32d\r
+       ja      @@end\r
+\r
+@@lll: mov     [Word cs:cop_pal], OFFSET fadepal\r
+       mov     [Word cs:cop_pal+2], SEG fadepal\r
+       mov     [do_pal], 1d\r
+\r
+       cmp     [cs:cop_drop], 65\r
+       je      @@l5\r
+\r
+       mov     dx, 3d4h\r
+       mov     ax, 3c18h\r
+       out     dx, ax\r
+       mov     ax, 0f07h\r
+       out     dx, ax                  ; 8th bit\r
+\r
+       push    ds si di cx\r
+\r
+       lds     si, [cs:cop_fadepal]\r
+       mov     di, OFFSET fadepal\r
+       mov     cx, 768/16d\r
+@@l4:\r
+       ccc=0\r
+       REPT    16\r
+       mov     ax, [ds:si+ccc*2]\r
+       add     [cs:di+ccc+768], al\r
+       adc     [cs:di+ccc], ah\r
+       ccc=ccc+1\r
+       ENDM\r
+       add     di, 16d\r
+       add     si, 32d\r
+       dec     cx\r
+       jnz     @@l4\r
+\r
+       pop     cx di si ds\r
+       ret\r
+@@l5:\r
+       mov     dx, 3d4h\r
+       mov     ax, 9018h\r
+       out     dx, ax\r
+       mov     ax, 1f07h\r
+       out     dx, ax                  ; 8th bit\r
+\r
+       call    initpparas\r
+       ret\r
+@@end:\r
+       mov     [cs:cop_drop], 0d\r
+       ret\r
+ENDP\r
+\r
+PROC   initpparas\r
+       push    ax\r
+       push    ds\r
+       push    SEG k1\r
+       pop     ds\r
+\r
+       mov     ax, [ds:il1]\r
+       mov     [ds:l1], ax\r
+       mov     ax, [ds:il2]\r
+       mov     [ds:l2], ax\r
+       mov     ax, [ds:il3]\r
+       mov     [ds:l3], ax\r
+       mov     ax, [ds:il4]\r
+       mov     [ds:l4], ax\r
+\r
+       mov     ax, [ds:ik1]\r
+       mov     [ds:k1], ax\r
+       mov     ax, [ds:ik2]\r
+       mov     [ds:k2], ax\r
+       mov     ax, [ds:ik3]\r
+       mov     [ds:k3], ax\r
+       mov     ax, [ds:ik4]\r
+       mov     [ds:k4], ax\r
+\r
+       pop     ds\r
+       pop     ax\r
+       ret\r
+ENDP\r
+\r
+END\r
+\r
diff --git a/copper.err b/copper.err
new file mode 100755 (executable)
index 0000000..f4821ca
--- /dev/null
@@ -0,0 +1,4 @@
+copper.asm(236): Error! E065: Operator is expected
+copper.asm(254): Error! E065: Operator is expected
+copper.asm(256): Error! E043: Jump out of range
+copper.asm(265): Error! E043: Jump out of range
diff --git a/copper.o b/copper.o
deleted file mode 100755 (executable)
index 86dedcf..0000000
Binary files a/copper.o and /dev/null differ
diff --git a/plz.o b/plz.o
deleted file mode 100755 (executable)
index f7e08d3..0000000
Binary files a/plz.o and /dev/null differ
diff --git a/tweak.o b/tweak.o
deleted file mode 100755 (executable)
index 28da850..0000000
Binary files a/tweak.o and /dev/null differ