ds_name		db	'MOJ\IROKE',0

db 'IRI10.HD6  ローマ字対応',0
db 'システムタイルを読み込みません｡',0
db 'IRO9.HD6 パレットノート アイコンの管理をします',0

;******************************************************************
look_me:
	 call sub_esi         ; esi 固定です｡
	 dd 0,0
	 dw	 1    ; ここが 1 の物は open start です｡
         dw      0
         dw  0,0,0,0,0,0,0,0

;*******************************************************************

f_size:		M_BYTESU
load:		M_LOAD
save:		M_SAVE

;**************************************

e_data1:	call sub_edx
		db 'RYUBI\NO1.HTG',0

e_data2:	call sub_edx
		db 'RYUBI\NO1.TIL',0

note_name:	call	sub_edx
		db 'RYUBI\NO1.PNT',0

;***************************************
ds_pal0:	call sub_esi
		db 3*17 dup (0)

ds_pal1:	call sub_esi
		db 3*17 dup (0)

ds_size:	call sub_esi
		dd	?

di_henka:	call	sub_edi
		dw	0
;******************************************************************

paint_wd:

	mov	ah,0
	call    fword ptr fs:[60h]

	mov ah,0
	int 90h		         ;key boad bios 初期化

	mov ah,02h
	mov dx,0000000000000000b
	int 90h           ;key coad style set

	mov ah,03h
	mov dx,0000000000000000b
	int 90h			;key coad read style set

	mov	ax,0600h	; キーボードバッファークリア
	int	90h
	mov	ax,0901h		; キーボード読み取り
	int	90h
	test	ah,ah			; 成功？

	mov	ax,0600h	; キーボードバッファークリア
	int	90h
	WD_CLS 1

	mov	ax,0901h		; キーボード読み取り
	int	90h
	test	ah,ah			; 成功？
	mov	ax,0600h	; キーボードバッファークリア
	int	90h

	call palon0
	call pal0_get		;今のパレットを保存
	call b_note
	call u_icon_set		;ユーザーアイコンのロードとセット
;	call u_til_set		;ユーザー16c アイコンのロードとセット
	call	n_load		;パレットノートのロード

	mov cx,10	          ; パレットノートの10番
	mov bx,00001000b	  ;画面0のパレット
				  ;画面0が上 注意 両方指定の為
	mov ah,100
	mov al,33
	call komei

	mov cx,11        	; バレットノートの11番
	mov bx,00101000b 	; 画面1のパレット
			 	; 画面0が上   注意
	mov ah,100
	mov al,33
	call komei

	WD_LEFT
	ret

re_paint:
mouse_in:
kaeru:			ret
;----------------------------------------------------------------------

be_called:		;他のモジュールから呼ばれる時の入口｡

	YOMU	ax,300
	cmp	ax,1
	je	irodasi0
	cmp	ax,2
	je	irodasi1
	cmp	ax,3
	je	irosima0
	cmp	ax,4
	je	irosima1
	cmp	ax,5
	je	simau
	cmp	ax,6
	je	henka
	cmp	ax,7
	je	henka_end
	ret

;**********************************************************************
;------------------------
irodasi0:
	YOMU	cx,302		;パレット番号
	mov	bx,00001000b	; 画面0のパレット/画面 0 が上
	mov	ah,100
	mov	al,33
	call	komei		;palet page -> palet
	ret

;-----------------------------------------------------------
irodasi1:
	YOMU	cx,302		;パレット番号
	mov	bx,00101000b	; 画面1のパレット/画面 0 が上
	mov	ah,100
	mov	al,33
	call	komei		;palet page -> palet
	ret

;------------------------
irosima0:
	YOMU	cx,302		;パレット番号
	mov	bx,00001000b	; 画面0のパレット/画面 0 が上
	mov	ah,100
	mov	al,34
	call	komei		;palet page -> palet
	call	henka
	ret

;----------------------------------------------------------------
irosima1:
	YOMU	cx,302		;パレット番号
	mov	bx,00101000b	; 画面1のパレット/画面 0 が上
	mov	ah,100
	mov	al,34
	call	komei		;palet page -> palet
	call	henka
	ret

;---------------------------------------------------------------
henka:
	call	di_henka
	inc	word ptr [edi]
	ret

;-------------------------------------------
simau:
	call	note_name
	YOMU	edi,88
	mov	ecx,1024*3
	call	save
	ret

;-------------------------------
palon0:
	mov	dx,0448h
	mov	al,01b
	out	dx,al

	mov	dx,044Ah
	mov	al,00001000b
	out	dx,al

	ret
;----------------------------------------------------
;-----画面0 のパレットを buf0に 獲得

pal0_get:
	call ds_pal0
	mov edi,esi

	push ds
	pop es

	mov	ecx,16

p_get0:
	mov al,16
	sub al,cl
	call	getpal		; set pallet
	loop	p_get0

	ret

;--------------------------
getpal:
	mov	dx,0FD90h
	out dx,al
	mov	dx,0FD92h
	insb
	mov	dx,0FD94h
	insb
	mov	dx,0FD96h
	insb
	ret

;-----------------------------------------
n_load:		;palet note load

	call	note_name
	call	f_size
	test	ecx,ecx
	jz	kaeru
	call	note_name
	YOMU	edi,88
	call load	;note load

	YOMU	edi,88
	mov	dx,ds
	mov	ah,100		;念の為に番地を知らせる
	mov	al,32
	call	komei
	ret

;--------------------------------------
u_icon_set:
	 call e_data1
	 call f_size
	test	ecx,ecx
	jz	kaeru
	 call ds_size
	 mov [esi],ecx

	RAM0 edi
	call e_data1
	call load
	call ds_size
	mov ecx,[esi]
	push es
	mov ax,114h
	mov es,ax
	mov edi,1024*3+512*3*64
	RAM0 ebx
	mov esi,ebx
	rep movsb
	pop es
	mov	ah,100
	mov	al,36		;2c icon data の場所
	mov	dx,114h
	mov edi,1024*3+512*3*64
	call	komei
	ret

;*************************************************
;u_til_set:
;	 call e_data2
;	 call f_size
;	test	ecx,ecx
;	jz	kaeru
;	 call ds_size
;	 mov [esi],ecx

;	RAM0 edi
;	call e_data2
;	call load
;	call ds_size
;	mov ecx,[esi]
;	push es
;	mov ax,114h
;	mov es,ax
;	mov edi,1024*3                 ;+512*3*64
;	RAM0 ebx
;	mov esi,ebx
;	rep movsb
;	pop es
;	mov	ah,100
;	mov	al,35		;2c icon data の場所
;	mov	dx,114h
;	mov edi,1024*3          ;+512*3*64
;	call	komei
;	ret

;--------------------------------------------------------------
henka_end:
	mov	cx,0		;パレット番号
	mov	bx,00001000b	; 画面0のパレット/画面 0 が上
	mov	ah,100
	mov	al,33
	call	komei		;palet page -> palet

	mov	cx,0		;パレット番号
	mov	bx,00101000b	; 画面1のパレット/画面 0 が上
	mov	ah,100
	mov	al,33
	call	komei		;palet page -> palet

	call	di_henka
	cmp	word ptr [edi],0
	jne	simau
	ret

;-------------------------------------------------------
;	パレットノートを初期化する
;	ds_pal0 に パレットデータが有ること
;	es 使用 
b_note:			;パレットノートの初期化

	mov ebx,64	; 転送回数
	mov edx,16*3	;パレット色数
	mov ecx,16*3
	mov ax,114h	;空いているのでスプライト セレクタ使用
	mov es,ax
	mov edi,0	;転送先 offset
	cld

b_note1:
	call ds_pal0	;esi=pal data head
	rep movsb
	mov ecx,edx
	dec ebx
	cmp ebx,0
	jne b_note1
	push ds
	pop es
	mov	dx,114h
	mov	edi,0
	mov	ah,100
	mov	al,32		;パレットノートの有る番地
	call	komei
	ret



 