ds_name		db	'MOZ\GYO_CK',0

look_me:
	 call sub_esi
	 dd  0,0
	 dw  0,0
	 dw  640,450,0,30
	 dw  8,8
	 dw  0,0

paint_wd:
re_paint:
	 ret

left_wd:
	 ret


shoki:
	 RAM1 edi
	 mov eax,0
	 mov ecx,250*1024/4
	 cld
	 rep stosd
	 ret



;chg_ram:
;	 RAM0 edi		; RAM0 の印刷用ファイルをクリア
;	 mov eax,0
;	 mov ecx,250*1024/4
;	 cld
;	 rep stosd
;
;
;	 RAM1 edi		; RAM1 の表示用ファイルを RAM0 に 転送
;	 mov esi,edi	;     表示用 ｢0｣ を0ah に変換 (付け足したものを除く)
;	 			; 表示用の 17hを取り除く(又は0ahに変換)
;
;	 RAM0 edi
;
;	 mov ecx,0
;
;chg_ram0:
;	 mov eax,[esi]
;	 cmp eax,0
;	 je chg_ram3
;
;	 cmp al,0	; 改行
;	 je chg_ram1
;
;	 mov [edi],al
;	 inc esi
;	 inc edi
;	 inc ecx
;
;	 jmp chg_ram0
;
;chg_ram1:
;	 mov bl,-1[esi]
;	 cmp bl,0dh
;	 je chg_ram2
;
;	 inc esi
;	 jmp chg_ram0
;
;chg_ram2:
;	 mov al,0ah
;	 mov [edi],al
;	 inc esi
;	 inc edi
;	 inc ecx
;	 jmp chg_ram0
;
;chg_ram3:
;
;	 RAM2 edi
;	 mov 30[edi],ecx
;	 jmp be_2
;
;
;-------------------------------


be_called:

;	 RAM2 edi
;	 mov ax,28[edi]
;	 cmp ax,1
;	 je chg_ram

be_2:
	 call shoki

	 mov ax,0

	 call dx_numret
	 mov [edx],ax

	 call dx_numre1
	 mov [edx],ax


moz_in:
		 RAM2 edi
		 mov ecx,30[edi]		; byte_su
		 mov ax,16[edi]			; keta

		 call dx_keta
		 mov [edx],ax


	 RAM0 edi
	 mov esi,edi

	 RAM1 edi

	 mov ebx,0

moz_in0:
	    call dx_keta
	    mov ax,[edx]

	   cmp bx,ax

	   jge chk_zenkak


	 mov al,[esi]
	 mov [edi],al

	 inc esi
	 inc edi
	 inc ebx

	    dec ecx		; file_size
	    cmp ecx,0
	    je owari_aa


	 cmp al,0dh		; CR LF の check
	 jne moz_in0

	 mov al,[esi]
	 cmp al,0ah
	 jne moz_in0

	 inc esi
	    dec ecx



mozi02_1:
	 mov ebx,0		; 桁数戻し

	  mov [edi],bl		; 表示用 改行の0   0ah の代わり
	  inc edi

	   call dx_numret	; 行数
	   mov ax,[edx]
	   inc ax
	   mov [edx],ax

	    cmp ecx,0
	    je owari_aa

	 jmp moz_in0



owari_xx:
	 mov ax,1
	 jmp owari_xxret

owari_aa:
	RAM1 eax
	sub edi,eax
	RAM2 eax
	mov 40[eax],edi		;サイズ

	 call dx_numret
	 mov ax,[edx]
	     cmp ax,0
	     jle owari_xx

owari_xxret:
	 RAM2 edi
	 mov 20[edi],ax		; all_gyo_su

	 mov bx,20	;18[edi]	; gyo_su/1 page	 印刷用
	 mov edx,0
	 movzx eax,ax

	 div bx
	 cmp dx,0
	 je owari_bb

	 inc ax

owari_bb:
	 mov 22[edi],ax		; all page_su?

	 mov ax,20[edi]		; all_gyo_su

	 ret			; 帰る



;-------------------------------------------------------

chk_zenkak:

	 push ecx

	 	call dx_keta
	 	mov bx,[edx]

		movzx ecx,bx

		sub esi,ecx		; 行頭に戻る
		sub edi,ecx


chk_zen2:
		mov al,[esi]
		movzx eax,al		; 全角か

		 call kantbl
		 mov bl,[edx+eax]

		and	bl,ISKAN1
		jz	chk_zennot		; Not iskanji1 ?

		 mov bl,1[esi]
		 movzx ebx,bl

		 call kantbl
		 mov bh,[edx+ebx]

		and	bh,ISKAN2
		jz	chk_zennot		; Not iskanji2 ?


		; 全角だった

;		jmp chk_zenyes

chk_zenyes:
		cmp ecx,1
		je chk_owari1

		 add esi,2
		 add edi,2
		 sub ecx,2

		 cmp ecx,0
		 je chk_owari

		jmp chk_zen2




chk_zennot:
		 inc esi
		 inc edi
		 dec ecx

		 cmp ecx,0
		 je chk_owari

		jmp chk_zen2

chk_owari:
	 pop ecx
	 jmp mozi02_1

chk_owari1:
	 pop ecx
	 inc ecx
	 jmp mozi02_1

;------------------------------------------


mouse_in:
	 ret

dx_numret:
	 call sub_edx
	 dw  0

dx_numre1:
	 call sub_edx
	 dw  0

dx_keta:
	 call sub_edx
	 dw  0


kantbl:
	 call sub_edx

	db	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;0
	db	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;1
	db	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;2
	db	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	;3
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;4
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;5
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;6
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0	;7
	db	2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3	;8
	db	3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3	;9
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;A
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;B
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;C
	db	2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2	;D
	db	3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3	;E
	db	3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0	;F


ISKAN1	equ	1
ISKAN2	equ	2

