--- /dev/null
+.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
-.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