We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Notes:Super Real Hanafuda: Koi Koi Shimasho 2

From The Cutting Room Floor
Jump to navigation Jump to search

This page contains notes for the game Super Real Hanafuda: Koi Koi Shimasho 2.


This is split up by which ROM these fragments were found in. These can be seen at the hex addresses listed below.

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

u26.bin

0x60404:

                        002,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	025,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	007,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	007,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	007,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	006,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	035,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	007,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	007,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	007,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	007,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	007,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	007,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	007,_G02_Ivt02_03,__G02_Ivt02_03
	__mEsect_Cel	007,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	007,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	007,_G02_Ivt02_05,__G02_Ivt02_05
	__mEsect_Cel	010,_G02_Ivt02_04,__G02_Ivt02_04
	__mEsect_Cel	$fff,_G02_Ivt02_03,__G02_Ivt02_03
	STOP

tAnm_G02_Ivent21:
	__mEsect_Anm	001,tCel_G02_Ivent21
tCel_G02_Ivent21:
	__mEsect_Cel	032,_G02_Ivt02_06,__G02_Ivt02_06
	__mEsect_Cel	$130/002,_G02_Ivt02_06,__G02_Ivt02_06
	__mEsect_Cel	002,_G02_Ivt02_06,__G02_Ivt02_06
	__mEsect_Cel	002,_G02_Ivt02_07,__G02_Ivt02_07
	__mEsect_Cel	002,_G02_Ivt02_08,__G02_Ivt02_08
	__mEsect_Cel	002,_G02_Ivt02_09,__G02_Ivt02_09
	__mEsect_Cel	$fff,_G02_Ivt02_06,__G02_Ivt02_06
	STOP
;-----------------------------------------------------------------------------
;	イベント3
;-----------------------------------------------------------------------------
tEReqNatumiIvent3_0:
; BG
	__mEsect_Init1	__EsectIventMain			;実行プログラム名
	__mEsect_Init2	060,_NullData,__NullData		;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,000					;H、V
	__mEsect_Init4	tMov_G02_Ivnt30,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_00,__G02_IvtBG03_00	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,000					;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_01,__G02_IvtBG03_01	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$080,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_02,__G02_IvtBG03_02	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$100,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_03,__G02_IvtBG03_03	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$150,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_04,__G02_IvtBG03_04	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,$100				;H、V
	__mEsect_Init4	1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_08,__G02_Ivt03_08	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_09,__G02_Ivt03_09	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$080,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_10,__G02_Ivt03_10	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$100,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	058,_G02_Ivt03_11,__G02_Ivt03_11	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$120,$190				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,tAnm_G02_Ivent30	;移動テーブル先頭アドレス、アニメーションテーブルアドレス
	STOP

tMov_G02_Ivnt30:
	__StopDat	032			; ワイプが開くまで
	__StopDat	$120/002
	__StopDat	250
	STOP

tMov_G02_Ivnt31:
	__StopDat	032			; ワイプが開くまで
	__EsectDirDat	$120/002,$08e,$002
	__StopDat	$fff
	STOP

tAnm_G02_Ivent30:
	__mEsect_Anm	001,tCel_G02_Ivent30
tCel_G02_Ivent30:
	__mEsect_Cel	032,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	$120/002,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	030,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	007,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	007,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	007,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	007,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	007,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	007,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	007,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	006,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	002,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	002,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	006,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	006,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	006,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	006,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	006,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	006,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	006,_G02_Ivt03_11,__G02_Ivt03_11
	__mEsect_Cel	008,_G02_Ivt03_13,__G02_Ivt03_13
	__mEsect_Cel	008,_G02_Ivt03_12,__G02_Ivt03_12
	__mEsect_Cel	$fff,_G02_Ivt03_11,__G02_Ivt03_11
	STOP
;-----------------------------------------------------------------------------
		end
�G01_Ivt03_14
	__mEsect_Cel	005,_G01_Ivt03_16,__G01_Ivt03_16
	__mEsect_Cel	005,_G01_Ivt03_15,__G01_Ivt03_15
	__mEsect_Cel	005,_G01_Ivt03_14,__G01_Ivt03_14
	__mEsect_Cel	005,_G01_Ivt03_16,__G01_Ivt03_16
	__mEsect_Cel	007,_G01_Ivt03_15,__G01_Ivt03_15
	__mEsect_Cel	007,_G01_Ivt03_16,__G01_Ivt03_16
	__mEsect_Cel	$fff,_G01_Ivt03_14,__G01_Ivt03_14
	STOP
;-----------------------------------------------------------------------------
		end

0x62001:

ら場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_TB_koi_ply:				;
	pushm	#r0/r10-r14/r21-r22	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_TB_koi_ply	;
give_ini_TB_koi_ply:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
;	mov.w	[r14](r10),r0		;目標札ワークの先頭
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_TB_koi_ply	;
get_ini_TB_koi_ply:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
;	mov.w	[r14](r10),r0		;目標札ワークの先頭
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_TB_koi_ply:			;
	dec.b	wbPlyFudaCnt		;札枚数を減らす
	mov.b	#$02,wbSysCur		;カーソルをスリープモードに移行
	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット
	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動
;-----------------------------------------------------------------------------
mov_TB_koi_ply:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_TB_koi_ply	;
next_mov_TB_koi_ply:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_TB_koi_ply_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_TB_koi_ply	;

next_mov_TB_koi_ply_ex:			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

;	cmp.b	#$ff,wbBtoT_fuda4	;
;	be	next2_mov_TB_koi_ply	;
;	mov.w	#wBa_huda,r0		;
;	movz.bw	wbFudaForP,r11		;
;	mov.b	wbBtoT_fuda4,[r0](r11)	;
;	mov.b	#$ff,wbBtoT_fuda4	;

next2_mov_TB_koi_ply:			;
	inc.b	wbKoiDist		;
end_mov_TB_koi_ply:			;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	手札の詰め
;-----------------------------------------------------------------------------
srt_jam_koi_ply:			;
	jsr	_Fuda_Mon_SortP		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
end_srt_jam_koi_ply:			;
;	dec.b	wbPlyFudaCnt		;札枚数を減らす
	mov.b	#$00,wbKoiDist2_tim	;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札を探す(回避も含む)
;-----------------------------------------------------------------------------
src_Ym_koi_ply:				;
	pushm	#r10/r20		;
	dec.b	wbActWaitTim		;ちょっと待った
	bne	end_src_Ym_koi_ply	;

	jsr	_Ba_Brk_Cnt		;ブランクのカウント
	cmp.b	#$01,r20		;1枚以下なら
	ble	ex_src_Ym_koi_ply	;イカサマする
job_src_Ym_koi_ply:			;
	jsr	_Bahuda_Emp		;空き場所を探す
	cmp.b	#$ff,r20		;空きがないよ
	be	ex_src_Ym_koi_ply	;
	add.b	#$02,wbKoiDist		;イカサマintは無し
	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	br	end_src_Ym_koi_ply	;
ex_src_Ym_koi_ply:			;イカサマの準備

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;イカサマしないといけないよ
end_src_Ym_koi_ply:			;
	popm	#r10/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	イカサマint
;-----------------------------------------------------------------------------
mag_mby_koi_ply:			;
	pushm	#r16-r17/r20		;
	mov.w	#$00,r20		;
	mov.w	#12,r16			;
loop_mag_mby_koi_ply:			;
	jsr	_Koi_Ark_m00		;
	test.b	r17			;
	bnz	end_mag_mby_koi_ply	;
	inc.w	r20			;
	dec.w	r16			;
	bnz	loop_mag_mby_koi_ply	;
	jsr	Reset			;致命的エラーなのでリセット
end_mag_mby_koi_ply:			;

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

	inc.b	wbKoiDist		;
	popm	#r16-r17/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札のめくり動作
;-----------------------------------------------------------------------------
opn_Ym_koi_ply:				;
	pushm	#r10-r12		;

	mov.w	#wFuda,r10		;
	movz.bw	wbMtoB_fuda,r11		;めくり札
	shl.w	#$05,r11		;
	add.w	r10,r11			;目的ワークの先頭
	movz.bw	wbKoiDist2_tim,r12	;
	mov.b	tOpen__Fuda_Rot(r12),_Fuda_dsp[r11]	;
	inc.b	wbKoiDist2_tim		;
	cmp.b	#10,wbKoiDist2_tim	;
	bne	end_opn_Ym_koi_ply	;
	inc.b	wbKoiDist		;

	jsr	_init_Hit_Ok		;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbTtoB_fuda	;

end_opn_Ym_koi_ply:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r10-r12		;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す(山札:場札)
;-----------------------------------------------------------------------------
src2_hit_koi_ply:			;叩ける札を探す(山札:場札)
	push	r20			;
	jsr	_Eva2_hit_jd		;めくり札のヒット評価
	test.b	wbHitCkB		;
	be	give_src2_hit_koi_ply	;叩けない
	cmp.b	#$01,wbHitCkB		;
	be	sig_src2_hit_koi_ply	;1枚叩ける
	cmp.b	#$02,wbHitCkB		;
	be	dbl_src2_hit_koi_ply	;2枚叩ける
	nop				;場に3枚以上存在する場合は、
	nop				;とばない様に(すり抜けさせる様に)、
	nop				;一時的に設定しておく
	nop				;
give_src2_hit_koi_ply:			;場に捨てるとき
	mov.b	#$00,wbFudaMd		;モードの設定
	jsr	_Bahuda_Emp		;空き場所を探す
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー

;;	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;
	mov.b	wbMtoB_fuda,wbTtoB_fuda		;

	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	mov.b	r20,wbFudaForP		;叩かれ側 札インデックス
	br	end_src2_hit_koi_ply	;
sig_src2_hit_koi_ply:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	br	end_src2_hit_koi_ply	;
dbl_src2_hit_koi_ply:			;
	mov.b	#$02,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
end_src2_hit_koi_ply:			;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	mov.b	#$ff,wbMtoB_fuda	;起き札登録の抹消
	inc.b	wbKoiDist		;
	pop	r20			;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札の選択
;-----------------------------------------------------------------------------
cho2_tre_koi_ply:			;3枚札の選択
	push	r1			;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	bne	end_cho2_tre_koi_ply	;

	mov.b	#$00,wbBaCurPos		;初期化
	mov.b	#$00,wbBaCurAnm		;
	mov.b	#$00,wbBaCurBusy	;
	mov.b	#$00,wbBaCurNum		;
	mov.b	#$00,wbBaYNPos		;

	mov.b	wbHitPs,wbBaCurPos	;

	mov.w	#tEsect_Ba_cur,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
	jsr	__1PKEY_Init		;I/O再初期化

	mov.b	#ChoFrzIni,wbFudaMovTim	;選択初期硬直時間の設定

	push	r1			;
	mov.b	#SE_Msg,r1		;メッセージウインドウ
	jsr	__mya_se		;
	pop	r1			;

end_cho2_tre_koi_ply:			;
	inc.b	wbKoiDist		;
	pop	r1			;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札のキー入力待ち
;-----------------------------------------------------------------------------
wat2_tre_koi_ply:			;3枚札のキー入力待ち
	pushm	#r10/r11/r15		;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	be	frz_wat2_tre_koi_ply	;らしい
;	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;ベクタを進める
	br	end_wat2_tre_koi_ply	;
frz_wat2_tre_koi_ply:			;
	test.b	wbFudaMovTim		;
	be	mod_wat2_tre_koi_ply	;
	dec.b	wbFudaMovTim		;初期硬直
	mov.w	#$ff,r15		;ダミー・ニュートラル
	br	ini_wat2_tre_koi_ply	;
mod_wat2_tre_koi_ply:			;
	jsr	__1PKEY_JD		;
ini_wat2_tre_koi_ply:			;
	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	movz.bw	wbBaCurNum,r10		;ナンバー+α値取得
	mov.w	#wbHitPsB,r11		;
	mov.b	[r11](r10),wbBaCurPos	;ポジションの登録
A_wat2_tre_koi_ply:			;Aボタンチェック
	test.h	whSysTimDsp		;キャンセルタイマーチェック
	be	fin_wat2_tre_koi_ply	;
	test1	#$03,r15		;
	bne	R_wat2_tre_koi_ply	;
PA_wat2_tre_koi_ply:			;
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	push	r1			;
	mov.b	#SE_Dec1,r1		;決定音
	jsr	__mya_se		;
	pop	r1			;

	test.b	wbBaYNPos		;Yesを選んだかいな?
	be	fin_wat2_tre_koi_ply	;
	inc.b	wbBaCurNum		;Noを選んだらしい
	mov.b	#ChoFrzTim,wbFudaMovTim	;硬直時間の再設定
	mov.b	#$00,wbBaYNPos		;Yesに合わせ直し
	cmp.b	#$02,wbBaCurNum		;
	bne	end_wat2_tre_koi_ply	;
	mov.b	#$00,wbBaCurNum		;
	br	end_wat2_tre_koi_ply	;
R_wat2_tre_koi_ply:			;右チェック
	test1	#$04,r15		;
	bne	L_wat2_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$01,wbBaYNPos		;右ループしない
	br	end_wat2_tre_koi_ply	;
L_wat2_tre_koi_ply:			;左チェック
	test1	#$05,r15		;
	bne	end_wat2_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$00,wbBaYNPos		;左ループしない
	br	end_wat2_tre_koi_ply	;
fin_wat2_tre_koi_ply:			;
	movz.bw	wbBaCurNum,r10		;ナンバー+α値取得
	mov.w	#wbHitOkB,r11		;場札ヒットワーク(3種)
	mov.b	[r11](r10),wbFudaForN	;叩かれ側 札ナンバー
	mov.b	[r11](r10),wbBtoT_fuda3	;
	inc.b	wbBtoT_fudaC		;カウントする
	mov.w	#wbHitPsB,r11		;場札ヒットポジション(3種)
	mov.b	[r11](r10),wbFudaForP	;叩かれ側 札インデックス
	mov.b	[r11](r10),r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;ベクタを進める
	mov.b	#$01,wbBaCurBusy	;終了!!
end_wat2_tre_koi_ply:			;
	popm	#r10/r11/r15		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_YB_koi_ply:				;山札から場札への移動のイニシャライズ
	pushm	#r0/r10-r14/r21-r22	;
	dec.b	wbActWaitTim		;待つのだ
	bne	fin_end_ini_YB_koi_ply	;
init_ini_YB_koi_ply:			;

	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_YB_koi_ply	;
give_ini_YB_koi_ply:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_YB_koi_ply	;
get_ini_YB_koi_ply:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_YB_koi_ply:			;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット

fin_end_ini_YB_koi_ply:			;

	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動
;-----------------------------------------------------------------------------
mov_YB_koi_ply:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_YB_koi_ply	;
next_mov_YB_koi_ply:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_YB_koi_ply_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_YB_koi_ply	;

next_mov_YB_koi_ply_ex:			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

;	cmp.b	#$ff,wbBtoT_fuda1	;
;	be	next2_mov_YB_koi_ply	;
;	mov.w	#wBa_huda,r0		;
;	movz.bw	wbFudaForP,r11		;
;	mov.b	wbBtoT_fuda1,[r0](r11)	;
;	mov.b	#$ff,wbBtoT_fuda1	;

next2_mov_YB_koi_ply:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
end_mov_YB_koi_ply:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_all_koi_ply:			;取った札すべての移動のイニシャライズ
	pushm	#r1/r10-r14		;
	dec.b	wbActWaitTim		;
	bne	fin_ini_all_koi_ply	;

	mov.b	#$00,wbFuda1_Tim	;タイマー初期化
	mov.b	#$00,wbFuda2_Tim	;
	mov.b	#$00,wbFuda3_Tim	;
	mov.b	#$00,wbFuda4_Tim	;

	mov.w	#wbGetFudaP,r10		;ワーク
	jsr	_Fuda_Shar_Cnt		;カウントしてみる
	jsr	_init_GetFuda_PosP	;ポジションの割り出し

job1_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda1,r1		;
	cmp.w	#$ff,r1			;
	be	job2_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job2_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda2,r1		;
	cmp.w	#$ff,r1			;
	be	job3_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job3_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda3,r1		;
	cmp.w	#$ff,r1			;
	be	job4_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job4_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda4,r1		;
	cmp.w	#$ff,r1			;
	be	end_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
end_ini_all_koi_ply:			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
fin_ini_all_koi_ply:			;
	popm	#r1/r10-r14		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動
;-----------------------------------------------------------------------------
mov_all_koi_ply:			;
	pushm	#r0-r3/r10		;
	mov.w	#wFuda,r1		;
mov_all_koi_ply_job1:			;
	movz.bw	wbFuda1_Tim,r2		;
	mov.b	tMov_All_Fuda1(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_ply_job2	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job1_ex	;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_ply_job1_ex:		;

	movz.bw	wbBtoT_fuda1,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job2:			;
	movz.bw	wbFuda2_Tim,r2		;
	mov.b	tMov_All_Fuda2(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_ply_job3	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job2_ex	;

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_ply_job2_ex:		;

	movz.bw	wbBtoT_fuda2,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job3:			;
	movz.bw	wbFuda3_Tim,r2		;
	mov.b	tMov_All_Fuda3(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_ply_job4	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job3_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_ply_job3_ex:		;

	movz.bw	wbBtoT_fuda3,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job4:			;
	movz.bw	wbFuda4_Tim,r2		;
	mov.b	tMov_All_Fuda4(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_jd1	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_ply_jd1	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job4_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_ply_job4_ex:

	movz.bw	wbBtoT_fuda4,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_jd1:			;
	movz.bw	wbGetIdxP,r2		;取った札のインデックス
	mov.w	#wbGetFudaP,r3		;取った札ワーク
	inc.b	wbFuda1_Tim		;
	cmp.b	#16,wbFuda1_Tim		;
	bne	mov_all_koi_ply_jd2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_ply_jd2	;
	mov.b	wbBtoT_fuda1,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda1	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd2:			;
	inc.b	wbFuda2_Tim		;
	cmp.b	#20,wbFuda2_Tim		;
	bne	mov_all_koi_ply_jd3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_ply_jd3	;
	mov.b	wbBtoT_fuda2,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda2	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd3:			;
	inc.b	wbFuda3_Tim		;
	cmp.b	#24,wbFuda3_Tim		;
	bne	mov_all_koi_ply_jd4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_ply_jd4	;
	mov.b	wbBtoT_fuda3,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda3	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd4:			;
	inc.b	wbFuda4_Tim		;
	cmp.b	#28,wbFuda4_Tim		;
	bne	end_mov_all_koi_ply	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_ply_jd_ex	;
	mov.b	wbBtoT_fuda4,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda4	;
	jsr	_GetFuda_Shar_SetP	;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd_ex:			;

;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#10,wbActWaitTim	;ウェイトをかます

end_mov_all_koi_ply:			;
	popm	#r0-r3/r10		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札のソート
;-----------------------------------------------------------------------------
srt_pul_koi_ply:			;
;	pushm	#r15/r16		;

	dec.b	wbActWaitTim		;
	bne	fin_srt_pul_koi_ply	;

;	mov.w	#wbGetFudaP,r15		;P取った札のナンバー
;	mov.w	#wbGetIdxP,r16		;P取った札のインデックス

;	jsr	_Get_Fuda_Req		;移動札を取り札として登録する

	jsr	_GetFuda_Sort_SetP	;
	jsr	_GetFuda_Shar_SetP	;

;	mov.b	#$ff,wbBtoT_fuda1	;後始末
;	mov.b	#$ff,wbBtoT_fuda2	;
;	mov.b	#$ff,wbBtoT_fuda3	;
;	mov.b	#$ff,wbBtoT_fuda4	;

job_srt_pul_koi_ply:			;
	jsr	_GetFuda_Arg_AgnP	;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

end_srt_pul_koi_ply:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
;	popm	#r15/r16		;

fin_srt_pul_koi_ply:			;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札の評価
;-----------------------------------------------------------------------------
eva_pul_koi_ply:			;
	pushm	#r15-r20		;
	dec.b	wbActWaitTim		;
	bne	end_eva_pul_koi_ply	;

	mov.w	#wbGetFudaP,r15		;取った札ワークアドレス
	mov.w	#wbYakuJdP,r16		;出来役判定用カウンターワークAD

	jsr	_Huda_val		;取った札の評価

	mov.w	#wbYakuJdP,r15		;出来役判定用カウンターワーク
	mov.w	#wbYakuJd2P,r16		;出来役成立用ワーク(総合)
	mov.w	#wbYakuJd3P,r17		;出来役成立用ワーク(瞬間)
	mov.w	#wbYakuCnt2P,r18	;各出来役文数カウンター
	mov.w	#wbYakuCntP,r19		;総文数カウンター(1回での出来役)
	mov.w	#wbYakuRchP,r20		;出来役リーチ用ワーク

	jsr	_Yaku_val		;出来役の評価

	inc.b	wbKoiDist		;
end_eva_pul_koi_ply:			;
	popm	#r15-r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出判定
;-----------------------------------------------------------------------------
ini_dir_mom_koi_ply:			;瞬間での出来役演出判定
	push	r10			;
	mov.w	#wbYakuJd3P,r10		;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	add.b	#$06,wbKoiDist		;成立してないや
	br	end_ini_dir_mom_koi_ply	;
job_ini_dir_mom_koi_ply:		;
;	mov.b	#$01,wbDPltCk		;ウインドウのセット
	mov.b	#$00,wbDPltMode		;
	mov.b	#$01,wbJdKoiKoi		;コイコイをきく必要性がある
	jsr	_DPlate_Man		;
	inc.b	wbKoiDist		;
end_ini_dir_mom_koi_ply:		;
;	dec.b	wbPlyFudaCnt		;札枚数を減らす
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出
;-----------------------------------------------------------------------------
dir_mom_koi_ply:			;
	jsr	_DPlate_Man		;
	test.b	wbDPltCk		;
	bne	end_dir_mom_koi_ply	;
	inc.b	wbKoiDist		;

	test.b	wbMainTask		;
	be	end_dir_mom_koi_ply	;

	test.b	wbUpCnt			;
	bne	end_dir_mom_koi_ply	;

	push	r1			;
	mov.b	#21,r1			;こいこい後のアップテンポ
	jsr	__mya_bgm		;
	pop	r1			;

	inc.b	wbUpCnt			;

end_dir_mom_koi_ply:			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイする?ウインドウ
;-----------------------------------------------------------------------------
win_ask_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiKoi		;
	be	next_win_ask_koi_ply	;
	test.b	wbPlyFudaCnt		;
	be	next_win_ask_koi_ply	;

	mov.b	#$02,wbKoiWindowAction	;こいこいする?
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_ask_koi_ply	;

next_win_ask_koi_ply:			;
	inc.b	wbKoiDist		;
end_win_ask_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイの選択
;-----------------------------------------------------------------------------
cho_koi_koi_ply:			;
	push	r1			;
	test.b	wbJdKoiKoi		;
	be	next_cho_koi_koi_ply	;
	test.b	wbPlyFudaCnt		;
	be	next_cho_koi_koi_ply	;

	mov.b	#$00,wbBaCurBusy	;
	mov.b	#$00,wbBaYNPos		;

	test.b	wbDipCntrol		;コンパネ判定
	bne	job_cho_koi_koi_ply_KB	;
job_cho_koi_koi_ply_JS:			;
	mov.w	#tEsect_Koi_Ok,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
	jsr	__1PKEY_Init		;I/O再初期化
	br	job_cho_koi_koi_ply_ex	;
job_cho_koi_koi_ply_KB:			;
	mov.w	#tEsect_Koi_Ok2,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
job_cho_koi_koi_ply_ex:			;

	mov.b	#ChoFrzIni,wbFudaMovTim	;選択初期硬直時間の設定
	mov.b	#$02,wbSysCur		;カーソルをスリープモードに移行

	push	r1			;
	mov.b	#SE_Msg,r1		;メッセージウインドウ
	jsr	__mya_se		;
	pop	r1			;

next_cho_koi_koi_ply:			;
	inc.b	wbKoiDist		;
end_cho_koi_koi_ply:			;
	pop	r1			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイのキー入力待ち
;-----------------------------------------------------------------------------
wat_koi_koi_ply:			;
	push	r15			;

	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	inc.b	wbRandEx1		;うりゃー、まわせー

	test.b	wbJdKoiKoi		;
	be	next_wat_koi_koi_ply	;

	test.b	wbPlyFudaCnt		;0枚?
	bne	ex_wat_koi_koi_ply	;

	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$01,wbJdKoiEnd		;
	inc.b	wbKoiDist		;
	br	next_wat_koi_koi_ply	;

ex_wat_koi_koi_ply:			;
	test.b	wbFudaMovTim		;
	be	job_wat_koi_koi_ply	;
	dec.b	wbFudaMovTim		;
	mov.b	#$ff,r15		;
	br	end_wat_koi_koi_ply	;
job_wat_koi_koi_ply:			;
	test.b	wbDipCntrol		;コンパネ判定
	bne	job_wat_koi_koi_ply_KB	;
job_wat_koi_koi_ply_JS:			;
	jsr	__1PKEY_JD		;
	br	A_job_wat_koi_koi_ply	;
job_wat_koi_koi_ply_KB:			;
	mov.b	#$ff,r15		;回避手段
	jsr	__KBKEY_JD		;
	mov.b	#$01,wbBaCurBusy	;
	mov.b	#$00,wbBaYNPos		;Y
	cmp.b	#$01,JOY1PKEY		;
	be	A_job_wat_koi_koi_ply_ex	;
	mov.b	#$01,wbBaYNPos		;N
	cmp.b	#14,JOY1PKEY		;
	be	A_job_wat_koi_koi_ply_ex	;
	mov.b	#$00,wbBaCurBusy	;
A_job_wat_koi_koi_ply:			;
;	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
;	mov.b	#$00,r20		;処理続行中
;	jsr	_Sys_tim_gen		;

	test.h	whSysTimDsp		;キャンセルタイマーチェック
	bne	A_job_wat_koi_koi_ply_Ex	;

	test.b	wbBaYNPos		;
	be	AY_job_wat_koi_koi_ply	;
	br	AN_job_wat_koi_koi_ply	;

;	be	AN_job_wat_koi_koi_ply	;タイマー切れの場合はNOにする

A_job_wat_koi_koi_ply_Ex:		;

	test1	#$03,r15		;
	bne	R_job_wat_koi_koi_ply	;

A_job_wat_koi_koi_ply_ex:		;

	push	r1			;
	mov.b	#SE_Dec1,r1		;決定音
	jsr	__mya_se		;
	pop	r1			;

	test.b	wbBaYNPos		;
	bne	AN_job_wat_koi_koi_ply	;
AY_job_wat_koi_koi_ply:			;
	mov.b	#$00,wbJdKoiEnd		;
	br	AX_job_wat_koi_koi_ply	;
AN_job_wat_koi_koi_ply:			;
	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$01,wbJdKoiEnd		;
	inc.b	wbKoiDist		;
AX_job_wat_koi_koi_ply:			;
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	mov.b	#$00,wbBaYNPos		;
	mov.b	#$01,wbBaCurBusy	;
	br	next_wat_koi_koi_ply	;
R_job_wat_koi_koi_ply:			;
	test1	#$04,r15		;
	bne	L_job_wat_koi_koi_ply	;

	test.b	wbBaYNPos		;
	bne	end_wat_koi_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$01,wbBaYNPos		;
	br	end_wat_koi_koi_ply	;
L_job_wat_koi_koi_ply:			;
	test1	#$05,r15		;
	bne	end_wat_koi_koi_ply	;

	test.b	wbBaYNPos		;
	be	end_wat_koi_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$00,wbBaYNPos		;
	br	end_wat_koi_koi_ply	;
next_wat_koi_koi_ply:			;
	inc.b	wbKoiDist		;
end_wat_koi_koi_ply:			;
	pop	r15			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイしてくれたウインドウ
;-----------------------------------------------------------------------------
win_koi_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiKoi		;
	be	next_win_koi_koi_ply	;

	mov.b	#$03,wbKoiWindowAction	;コイコイしてくれてアリガト
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_koi_koi_ply	;

next_win_koi_koi_ply:			;
;	mov.b	#$01,wbSysCur		;カーソル解放
	mov.b	#$00,wbJdKoiKoi		;
	inc.b	wbKoiDist		;
	inc.b	wbKoiDist		;
end_win_koi_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	勝ち負けウインドウ
;-----------------------------------------------------------------------------
win_res_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiEnd		;
	be	next_win_res_koi_ply	;

	mov.b	#$01,wbRikoSysCk	;リコ・システムOFF

	mov.b	#$05,wbKoiWindowAction	;勝ったよぉ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_res_koi_ply	;

;	mov.b	#$01,wbSysCur		;カーソル解放
	mov.b	#$00,wbJdKoiEnd		;

;	mov.b	#$01,wbSPltCk		;
	mov.b	#$00,wbDPltMode		;

	mov.b	#24,wbKoiTask		;集計処理へ
	mov.b	#$00,wbKoiDist		;
	br	end_win_res_koi_ply	;
next_win_res_koi_ply:			;
	inc.b	wbKoiDist		;
end_win_res_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	後処理
;-----------------------------------------------------------------------------
next_koi_ply:				;



end_next_koi_ply:			;
	mov.b	#$00,wbKoiDist		;
	inc.b	wbKoiTask		;上位タスクも進める
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	CPUの順番
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
tkoi_cpu_sec:				;

	dw	init_koi_cpu		;初期イニシャライズ
	dw	win_str_koi_cpu		;スタートウインドウ
	dw	src_hit_koi_cpu		;叩ける札を探す
	dw	ini_TB_koi_cpu		;手札から場札への移動のイニシャライズ
	dw	mov_TB_koi_cpu		;手札から場札への移動
	dw	srt_jam_koi_cpu		;手札の詰め
	dw	src_Ym_koi_cpu		;山札を探す(回避も含む)
	dw	mag_mby_koi_cpu		;イカサマint
	dw	opn_Ym_koi_cpu		;山札のめくり動作
	dw	src2_hit_koi_cpu	;叩ける札を探す(山札:場札)
	dw	ini_YB_koi_cpu		;山札から場札への移動のイニシャライズ
	dw	mov_YB_koi_cpu		;山札から場札への移動
	dw	ini_all_koi_cpu		;取った札すべての移動のイニシャライズ
	dw	mov_all_koi_cpu		;取った札すべての移動
	dw	srt_pul_koi_cpu		;取った札のソート
	dw	eva_pul_koi_cpu		;取った札の評価
	dw	ini_dir_mom_koi_cpu	;瞬間での出来役演出判定
	dw	dir_mom_koi_cpu		;瞬間での出来役演出
;	dw	win_ask_koi_cpu		;コイコイする?ウインドウ
	dw	cho_koi_koi_cpu		;コイコイの選択
;	dw	wat_koi_koi_cpu		;コイコイのキー入力待ち
	dw	win_koi_koi_cpu		;コイコイしてくれたウインドウ
	dw	win_res_koi_cpu		;勝ち負けウインドウ
	dw	next_koi_cpu		;後処理

;-----------------------------------------------------------------------------
koi_cpu_sec:				;CPUセクション
	push	r10			;
	movz.bw	wbKoiDist,r10		;
	mov.w	tkoi_cpu_sec(r10),r10	;
	jsr	[r10]			;
	jsr	Fuda_Pri_Man		;
	jsr	Fuda_Esect		;
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	初期イニシャライズ
;-----------------------------------------------------------------------------
init_koi_cpu:				;

;	jsr	_init_Get_Fuda		;「取った札」用ワークの初期化
;	jsr	_Yaku_val_init		;出来役評価用ワークの初期化

	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$00,wbJdKoiEnd		;

	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	スタートウインドウ
;-----------------------------------------------------------------------------
win_str_koi_cpu:			;
	push	r25			;
	cmp.b	#$08,wbCpuFudaCnt	;初回判定
	bne	next_win_str_koi_cpu	;

	test1	#$00,wbKoiOrd		;
	be	next_win_str_koi_cpu	;

	mov.b	#$01,wbKoiWindowAction	;スタートウインドウ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_str_koi_cpu	;

next_win_str_koi_cpu:			;
	inc.b	wbKoiDist		;
end_win_str_koi_cpu:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す
;-----------------------------------------------------------------------------
src_hit_koi_cpu:			;
	pushm	#r10/r15-r18/r20	;

	mov.w	#wCpu_Tehuda,r10	;

	jsr	_init_Hit_Ok		;札ヒットワークの初期化

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

	mov.w	#$00,wBrankFuda		;初期化
	mov.w	#$00,wBrankFuda+$04	;
	mov.w	#$00,wBrankFuda+$08	;

	mov.b	#$00,wbFudaMd		;モードセット

	cmp.b	#07,wbGameLv		;Lv.8で思考切り替え
	bh	src_hit_koi_cpu2	;
src_hit_koi_cpu1:			;
	jsr	_Koi_Ai_m00		;ノーマル思考
	br	src_hit_koi_cpu3	;
src_hit_koi_cpu2:			;
	jsr	_Koi_Ai_m01		;指向性思考
src_hit_koi_cpu3:			;
	test.b	wbAiHmax		;
	bne	sig_src_hit_koi_cpu	;
give_src_hit_koi_cpu:			;
	mov.b	r15,wbFudaFrmN		;叩く側(捨てる) 札ナンバー
	mov.b	r15,wbTtoB_fuda		;移動札としての登録
	mov.b	#$ff,[r10](r17)		;手札内からの登録抹消
	movt.wb	r17,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	jsr	_Bahuda_Emp		;場札の空き場所を探す
	mov.b	r20,wbFudaForP		;叩く側(捨てる) 札インデックス
	br	end_src_hit_koi_cpu	;
sig_src_hit_koi_cpu:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	r15,wbFudaFrmN		;叩く側(捨てる) 札ナンバー
	mov.b	r15,wbBtoT_fuda2	;手札移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$ff,[r10](r17)		;手札内からの登録抹消
	movt.wb	r17,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	r16,wbFudaForN		;叩かれ側 札ナンバー
	mov.b	r16,wbBtoT_fuda4	;手札に叩かれ移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	movt.wb	r18,wbFudaForP		;叩かれ側 札インデックス
	movt.wb	r18,r20			;
	jsr	_Del_Bafuda		;場札登録の抹消
end_src_hit_koi_cpu:			;
	inc.b	wbKoiDist		;
	popm	#r10/r15-r18/r20	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_TB_koi_cpu:				;
	pushm	#r0/r10-r14/r21-r22	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー

	mov.w	#wFuda,r11		;
	mov.w	r0,r12			;札を表に開く
	shl.w	#$05,r12		;
	add.w	r11,r12			;
	mov.b	#$04,_Fuda_dsp[r12]	;

	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_TB_koi_cpu	;
give_ini_TB_koi_cpu:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_TB_koi_cpu	;
get_ini_TB_koi_cpu:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_TB_koi_cpu:			;
	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動
;-----------------------------------------------------------------------------
mov_TB_koi_cpu:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_TB_koi_cpu	;
next_mov_TB_koi_cpu:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_TB_koi_cpu_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_TB_koi_cpu	;

next_mov_TB_koi_cpu_ex:			;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

next2_mov_TB_koi_cpu:			;

	inc.b	wbKoiDist		;
end_mov_TB_koi_cpu:			;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	手札の詰め
;-----------------------------------------------------------------------------
srt_jam_koi_cpu:			;
	jsr	_Fuda_Mon_SortC		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
end_srt_jam_koi_cpu:			;
	mov.b	#$00,wbKoiDist2_tim	;
	add.h	#26,whGetFudaBMaxC	;役札のMAXが増える

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札を探す(回避も含む)
;-----------------------------------------------------------------------------
src_Ym_koi_cpu:				;
	pushm	#r10/r20		;
	dec.b	wbActWaitTim		;
	bne	end_src_Ym_koi_cpu	;
	jsr	_Ba_Brk_Cnt		;ブランクのカウント
	cmp.b	#$01,r20		;1枚以下なら
	ble	ex_src_Ym_koi_cpu	;イカサマする
job_src_Ym_koi_cpu:			;
	jsr	_Bahuda_Emp		;空き場所を探す
	cmp.b	#$ff,r20		;空きがないよ
	be	ex_src_Ym_koi_cpu	;
	add.b	#$02,wbKoiDist		;イカサマintは無し
	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	br	end_src_Ym_koi_cpu	;
ex_src_Ym_koi_cpu:			;イカサマの準備

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;イカサマしないといけないよ
end_src_Ym_koi_cpu:			;
	popm	#r10/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	イカサマint
;-----------------------------------------------------------------------------
mag_mby_koi_cpu:			;
	pushm	#r16-r17/r20		;
	mov.w	#$00,r20		;
	mov.w	#12,r16			;
loop_mag_mby_koi_cpu:			;
	jsr	_Koi_Ark_m00		;
	test.b	r17			;
	bnz	end_mag_mby_koi_cpu	;
	inc.w	r20			;
	dec.w	r16			;
	bnz	loop_mag_mby_koi_cpu	;
	jsr	Reset			;致命的エラーなのでリセット
end_mag_mby_koi_cpu:			;

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

	inc.b	wbKoiDist		;
	popm	#r16-r17/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札のめくり動作
;-----------------------------------------------------------------------------
opn_Ym_koi_cpu:				;
	pushm	#r10-r12		;

	mov.w	#wFuda,r10		;
	movz.bw	wbMtoB_fuda,r11		;めくり札
	shl.w	#$05,r11		;
	add.w	r10,r11			;目的ワークの先頭
	movz.bw	wbKoiDist2_tim,r12	;
	mov.b	tOpen__Fuda_Rot(r12),_Fuda_dsp[r11]	;
	inc.b	wbKoiDist2_tim		;
	cmp.b	#10,wbKoiDist2_tim	;
	bne	end_opn_Ym_koi_cpu	;
	inc.b	wbKoiDist		;

	jsr	_init_Hit_Ok		;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbTtoB_fuda	;

end_opn_Ym_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r10-r12		;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す(山札:場札)
;-----------------------------------------------------------------------------
src2_hit_koi_cpu:			;叩ける札を探す(山札:場札)
	push	r20			;
	jsr	_Eva2_hit_jd		;めくり札のヒット評価
	test.b	wbHitCkB		;
	be	give_src2_hit_koi_cpu	;叩けない
	cmp.b	#$01,wbHitCkB		;
	be	sig_src2_hit_koi_cpu	;1枚叩ける
	cmp.b	#$02,wbHitCkB		;
	be	dbl_src2_hit_koi_cpu	;2枚叩ける
	nop				;場に3枚以上存在する場合は、
	nop				;とばない様に(すり抜けさせる様に)、
	nop				;一時的に設定しておく
	nop				;
give_src2_hit_koi_cpu:			;場に捨てるとき
	mov.b	#$00,wbFudaMd		;モードの設定
	jsr	_Bahuda_Emp		;空き場所を探す
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー

	mov.b	wbMtoB_fuda,wbTtoB_fuda		;

	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	mov.b	r20,wbFudaForP		;叩かれ側 札インデックス
	br	end_src2_hit_koi_cpu	;
sig_src2_hit_koi_cpu:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	br	end_src2_hit_koi_cpu	;
dbl_src2_hit_koi_cpu:			;
	mov.b	#$02,wbFudaMd		;モードの設定
;	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
;	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くヤツ
;	inc.b	wbBtoT_fudaC		;カウントする
;	mov.b	#$00,wbFudaFrmP		;1種類だけだから

	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消

end_src2_hit_koi_cpu:			;
	mov.b	#$ff,wbMtoB_fuda	;起き札登録の抹消
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	pop	r20			;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_YB_koi_cpu:				;山札から場札への移動のイニシャライズ
	pushm	#r0/r10-r14/r21-r22	;
	dec.b	wbActWaitTim		;
	bne	fin_ini_YB_koi_cpu	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_YB_koi_cpu	;
give_ini_YB_koi_cpu:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_YB_koi_cpu	;
get_ini_YB_koi_cpu:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_YB_koi_cpu:			;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット
fin_ini_YB_koi_cpu:			;
	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動
;-----------------------------------------------------------------------------
mov_YB_koi_cpu:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_YB_koi_cpu	;
next_mov_YB_koi_cpu:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_YB_koi_cpu_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_YB_koi_cpu	;

next_mov_YB_koi_cpu_ex:			;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

next2_mov_YB_koi_cpu:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
end_mov_YB_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_all_koi_cpu:			;取った札すべての移動のイニシャライズ
	pushm	#r0/r10-r16/r21-r22	;

	dec.b	wbActWaitTim		;
	bne	fin_ini_all_koi_cpu	;

	mov.b	#$00,wbFuda1_Tim	;タイマー初期化
	mov.b	#$00,wbFuda2_Tim	;
	mov.b	#$00,wbFuda3_Tim	;
	mov.b	#$00,wbFuda4_Tim	;

	mov.w	#wbGetFudaC,r10		;ワーク
	jsr	_Fuda_Shar_Cnt		;カウントしてみる
	jsr	_init_GetFuda_PosC	;ポジションの割り出し

job1_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda1,r1		;
	cmp.w	#$ff,r1			;
	be	job2_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job2_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda2,r1		;
	cmp.w	#$ff,r1			;
	be	job3_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job3_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda3,r1		;
	cmp.w	#$ff,r1			;
	be	job4_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job4_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda4,r1		;
	cmp.w	#$ff,r1			;
	be	end_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;

end_ini_all_koi_cpu:			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
fin_ini_all_koi_cpu:			;
	popm	#r0/r10-r16/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動
;-----------------------------------------------------------------------------
mov_all_koi_cpu:			;
	pushm	#r0-r3/r10		;
	mov.w	#wFuda,r1		;
mov_all_koi_cpu_job1:			;
	movz.bw	wbFuda1_Tim,r2		;
	mov.b	tMov_All_Fuda1(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_cpu_job2	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job1_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_cpu_job1_ex:

	movz.bw	wbBtoT_fuda1,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job2:			;
	movz.bw	wbFuda2_Tim,r2		;
	mov.b	tMov_All_Fuda2(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_cpu_job3	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job2_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_cpu_job2_ex:

	movz.bw	wbBtoT_fuda2,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job3:			;
	movz.bw	wbFuda3_Tim,r2		;
	mov.b	tMov_All_Fuda3(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_cpu_job4	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job3_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_cpu_job3_ex:

	movz.bw	wbBtoT_fuda3,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job4:			;
	movz.bw	wbFuda4_Tim,r2		;
	mov.b	tMov_All_Fuda4(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_jd1	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_cpu_jd1	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job4_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_cpu_job4_ex:

	movz.bw	wbBtoT_fuda4,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_jd1:			;
	movz.bw	wbGetIdxC,r2		;取った札のインデックス
	mov.w	#wbGetFudaC,r3		;取った札ワーク
	inc.b	wbFuda1_Tim		;
	cmp.b	#16,wbFuda1_Tim		;
	bne	mov_all_koi_cpu_jd2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_cpu_jd2	;
	mov.b	wbBtoT_fuda1,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda1	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd2:			;
	inc.b	wbFuda2_Tim		;
	cmp.b	#20,wbFuda2_Tim		;
	bne	mov_all_koi_cpu_jd3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_cpu_jd3	;
	mov.b	wbBtoT_fuda2,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda2	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd3:			;
	inc.b	wbFuda3_Tim		;
	cmp.b	#24,wbFuda3_Tim		;
	bne	mov_all_koi_cpu_jd4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_cpu_jd4	;
	mov.b	wbBtoT_fuda3,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda3	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd4:			;
	inc.b	wbFuda4_Tim		;
	cmp.b	#28,wbFuda4_Tim		;
	bne	end_mov_all_koi_cpu	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_cpu_jd_ex	;
	mov.b	wbBtoT_fuda4,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda4	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd_ex:			;

;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#10,wbActWaitTim	;ウェイトをかます
end_mov_all_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0-r3/r10		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札のソート
;-----------------------------------------------------------------------------
srt_pul_koi_cpu:			;
;	pushm	#r15/r16		;

	dec.b	wbActWaitTim		;
	bne	end_srt_pul_koi_cpu	;

;	mov.w	#wbGetFudaC,r15		;P取った札のナンバー
;	mov.w	#wbGetIdxC,r16		;P取った札のインデックス

;	jsr	_Get_Fuda_Req		;移動札を取り札として登録する

	jsr	_GetFuda_Sort_SetC	;

	jsr	_GetFuda_Shar_SetC	;

;	mov.b	#$ff,wbBtoT_fuda1	;後始末
;	mov.b	#$ff,wbBtoT_fuda2	;
;	mov.b	#$ff,wbBtoT_fuda3	;
;	mov.b	#$ff,wbB

0x71C54:

        ECT.MAC	: Macro for Esect Initial data table
;				written by Manaby
;		Copyright (c) 1995-1997 VISCO corp. All rights reserved.
;------------------------------------------------------------------------------

;------------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	__mEsect_Init	:データ形式用マクロ
;			:詳しくは下を参照
;			:4つで1組
;			:
;-----------------------------------------------


0x74000:

;-----------------------------------------------------------------------------
;	KOI_GAME.S	: KOIKOI Game Program
;				written by Manaby
;		Copyright (c) 1995-1997 VISCO corp. All rights reserved.
;------------------------------------------------------------------------------

	include		mac\esect.mac
	include		inc\manaby.inc
	include		inc\system.inc
	include		inc\koikoi.inc
	include		inc\koi_sys.inc

	xdef	koi_ply_sec,koi_cpu_sec,koi_scr_sum
	xdef	tTehudaPosP,tTehudaPosC,Fuda_Pri_Man
	xdef	koi_ex_sum,_Fuda_Shar_Cnt

	xdef	_GetFuda_Arg_AgnC,_init_GetFuda_SetC,_init_GetFuda_PosC
	xdef	tEsect_Koi_Ok,tEsect_Koi_Ok2,_GetFuda_Arg_AgnP
	xdef	tMov_All_Fuda1,tMov_All_Fuda2,tMov_All_Fuda3,tMov_All_Fuda4
	xdef	_init_GetFuda_PosP,_init_GetFuda_SetP,_Ba_Brk_Cnt,_ActWaitTim
	xdef	tEsect_Ba_cur,ChoFrzIni,ChoFrzTim,tBahudaPos1,tBahudaPos2
	xdef	_Del_Bafuda,tEsect_Fuda_Hurry

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	EQU領域
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

ChoFrzIni	equ	24	;選択初期硬直時間
ChoFrzTim	equ	16	;選択再初期硬直時間

_ActWaitTim	equ	06	;ゲーム中のウェイト用タイマー値

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	ワーク領域
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

	.section	work
	.align		4

	xdefon

wbFudaMd	ds	01	;札モード(0:捨てる)
				;        (1:1枚叩く)
				;        (2:2枚から選択)

wbFudaFrmN	ds	01	;叩く側(捨てる) 札ナンバー
wbFudaFrmP	ds	01	;叩く側(捨てる) 札インデックス

wbFudaForN	ds	01	;叩かれ側 札ナンバー
wbFudaForP	ds	01	;叩かれ側 札インデックス

wbBaCurPos	ds	01	;場札3枚以上の場合の選択時のカーソルポインタ
wbBaCurAnm	ds	01	;場札3枚以上の場合の選択時のアニメポインタ
wbBaCurBusy	ds	01	;場札3枚以上の場合の選択時のbusyフラグ用
wbBaCurNum	ds	01	;候補の場札の何枚目を選択しているか?

wbFudaMovTim	ds	01	;札移動タイマー

wbBaYNPos	ds	01	;Yes・Noポジション

wbMtoB_fuda	ds	01	;めくり札から場札への移動札ワーク

wbTtoB_fuda	ds	01	;手札から場札への捨て札用ワーク

wbBtoT_fuda1	ds	01	;起き札
wbBtoT_fuda2	ds	01	;手札
wbBtoT_fuda3	ds	01	;起き札に叩かれる方
wbBtoT_fuda4	ds	01	;手札に叩かれる方

wbBtoT_fudaC	ds	01	;場札から取り札への移動札の枚数カウント用

wbFuda1_Tim	ds	01	;札移動タイマー1
wbFuda2_Tim	ds	01	;札移動タイマー2
wbFuda3_Tim	ds	01	;札移動タイマー3
wbFuda4_Tim	ds	01	;札移動タイマー4

wBrankFuda	ds	12	;空いている場札の場所を正確にチェックする

wbJdKoiKoi	ds	01	;コイコイ選択をする必要性があるか?

wbJdKoiEnd	ds	01	;コイコイしなかった(集計へ)

wbYakuOya	ds	01	;親権発生フラグ

wbFudaHurry	ds	01	;「札を切ってね」表示用

wbActWaitTim	ds	01	;ゲーム中のウェイト用タイマー

wbUpCnt		ds	01	;BGMアップテンポチェック用

	xdefoff

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	メイン領域
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

	.section	main
	.align 4
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	プレイヤーの順番
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
tkoi_ply_sec:				;
	dw	init_koi_ply		;初期イニシャライズ
	dw	win_str_koi_ply		;スタートウインドウ
	dw	src_hit_koi_ply		;叩ける札を探す
	dw	wat_key_koi_ply		;キー入力待ち
	dw	bra_key_koi_ply		;入力結果の分析
;	dw	cho_tre_koi_ply		;3枚札の選択
;	dw	wat_tre_koi_ply		;3枚札のキー入力待ち
	dw	ini_TB_koi_ply		;手札から場札への移動のイニシャライズ
	dw	mov_TB_koi_ply		;手札から場札への移動
	dw	srt_jam_koi_ply		;手札の詰め
	dw	src_Ym_koi_ply		;山札を探す(回避も含む)
	dw	mag_mby_koi_ply		;イカサマint
	dw	opn_Ym_koi_ply		;山札のめくり動作

	dw	src2_hit_koi_ply	;叩ける札を探す(山札:場札)
;	dw	cho2_tre_koi_ply	;3枚札の選択
;	dw	wat2_tre_koi_ply	;3枚札のキー入力待ち
	dw	ini_YB_koi_ply		;山札から場札への移動のイニシャライズ

	dw	mov_YB_koi_ply		;山札から場札への移動

	dw	ini_all_koi_ply		;取った札すべての移動のイニシャライズ

	dw	mov_all_koi_ply		;取った札すべての移動
	dw	srt_pul_koi_ply		;取った札のソート
	dw	eva_pul_koi_ply		;取った札の評価
	dw	ini_dir_mom_koi_ply	;瞬間での出来役演出判定
	dw	dir_mom_koi_ply		;瞬間での出来役演出
	dw	win_ask_koi_ply		;コイコイする?ウインドウ
	dw	cho_koi_koi_ply		;コイコイの選択
	dw	wat_koi_koi_ply		;コイコイのキー入力待ち
	dw	win_koi_koi_ply		;コイコイしてくれたウインドウ
	dw	win_res_koi_ply		;勝ち負けウインドウ
	dw	next_koi_ply		;後処理
;-----------------------------------------------------------------------------
koi_ply_sec:				;プレイヤーセクション
	push	r10			;
	movz.bw	wbKoiDist,r10		;
	mov.w	tkoi_ply_sec(r10),r10	;オラオラオラオラー
	jsr	[r10]			;
	jsr	Fuda_Pri_Man		;
	jsr	Fuda_Esect		;
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	初期イニシャライズ
;-----------------------------------------------------------------------------
init_koi_ply:				;

;	jsr	_init_Get_Fuda		;「取った札」用ワークの初期化
;	jsr	_Yaku_val_init		;出来役評価用ワークの初期化

	jsr	__1PKEY_Init		;I/O初期化
	mov.b	#$ff,wbCurIO		;初期入力はニュートラルにする
	mov.b	#$00,wbCurBusy		;動作制限を解除

	mov.b	#$00,wbCurPos		;カーソルポジションの初期化

;	mov.b	#$01,wbSysCur		;カーソルをノーマルモードに移行

	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$00,wbJdKoiEnd		;

	mov.b	#$00,wbDPltVct		;

	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	スタートウインドウ
;-----------------------------------------------------------------------------
win_str_koi_ply:			;
	push	r25			;

	cmp.b	#$08,wbCpuFudaCnt	;初回判定
	bne	next_win_str_koi_ply	;

	test1	#$00,wbKoiOrd		;
	bne	next_win_str_koi_ply	;

	mov.b	#$00,wbKoiWindowAction	;スタートウインドウ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_str_koi_ply	;
next_win_str_koi_ply:			;
	mov.b	#$01,wbSysCur		;カーソルをノーマルモードに移行
	inc.b	wbKoiDist		;
end_win_str_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す
;-----------------------------------------------------------------------------
src_hit_koi_ply:			;
	pushm	#r1/r3			;
	jsr	_init_Hit_Ok		;札ヒットワークの初期化
	mov.w	#wPly_Tehuda,r3		;
	jsr	_Eva_hit_jd		;札のヒット評価
	inc.b	wbKoiDist		;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

	mov.w	#$00,wBrankFuda		;初期化
	mov.w	#$00,wBrankFuda+$04	;
	mov.w	#$00,wBrankFuda+$08	;

	mov.w	#$00,wbMarker		;
	mov.w	#$00,wbMarker+$04	;

	mov.b	#$01,wbMarkerCk		;マーカー始動

	mov.b	#$01,wbFudaHurry	;「札を切ってね」パネルの始動
	mov.w	#tEsect_Fuda_Hurry,r1	;「札を切ってね」をリクエスト
	jsr	__Esect_Req		;

;	mov.b	#$00,wbCurPos		;カーソルポジションの初期化

	popm	#r1/r3			;
	rsr				;
;-----------------------------------------------------------------------------
;	キー入力待ち
;-----------------------------------------------------------------------------
wat_key_koi_ply:			;
	pushm	#r15/r20		;

	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	inc.b	wbRandEx1		;うりゃー、まわせー

	test.b	wbDipCntrol		;コンパネ判定
	bne	wat_key_koi_ply_KB	;
wat_key_koi_ply_JS:			;
	test.b	wbDemoPlay		;
	be	wat2_key_koi_ply_JS	;
	mov.b	#$f7,r15		;デモプレイ中は強制入力
	br	wat3_key_koi_ply_JS	;
wat2_key_koi_ply_JS:			;
	jsr	__1PKEY_JD		;
wat3_key_koi_ply_JS:			;
	mov.b	r15,wbCurIO		;
;	mov.b	JOY1PKEY,wbCurIO	;
	br	wat_key_koi_ply_ex	;
wat_key_koi_ply_KB:			;
	test.b	wbDemoPlay		;
	be	wat2_key_koi_ply_KB	;
	mov.b	#$01,JOY1PKEY		;デモプレイ中は強制入力
	br	wat3_key_koi_ply_KB	;
wat2_key_koi_ply_KB:			;
	jsr	__KBKEY_JD		;
	test.b	JOY1PKEY		;
	be	wat_key_koi_ply_ex	;
wat3_key_koi_ply_KB:			;
	cmp.b	wbPlyFudaCnt,JOY1PKEY	;
	bh	wat_key_koi_ply_ex	;
	mov.b	JOY1PKEY,r15		;
	dec.b	r15			;
	mov.b	r15,wbCurPos		;
	mov.b	#$01,wbCurBusy		;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

wat_key_koi_ply_ex:			;
	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
;	mov.b	#$00,r20		;処理続行中
;	jsr	_Sys_tim_gen		;
	test.h	whSysTimDsp		;タイマーは稼働終了か?
	be	det_wat_key_koi_ply	;強制終了へ

	test.b	wbCurBusy		;
	be	end_wat_key_koi_ply	;
det_wat_key_koi_ply:			;決定
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;
	mov.b	#$00,wbCurBusy		;
	inc.b	wbKoiDist		;
	mov.b	#$00,wbMarkerCk		;マーカー停止
	mov.b	#$00,wbFudaHurry	;「札を切ってね」パネルの強制停止
end_wat_key_koi_ply:			;
	popm	#r15/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	入力結果の分析
;-----------------------------------------------------------------------------
bra_key_koi_ply:			;
;	pushm	#r3/r4			;
	pushm	#r10-r15/r20		;
	movz.bw	wbCurPos,r10		;カーソル位置の取得
	mov.w	#wbHitOk,r11		;札ヒットワーク(8枚*3種)
	mov.w	#wbHitCk,r12		;札ヒットフラグ(8枚)
	mov.w	#wbHitPs,r13		;札ヒットポジション(8枚*3種)
	mov.w	#wPly_Tehuda,r14	;プレイヤー手札ワーク
	test.b	[r12](r10)		;こいつは叩くことが出来るか?
	be	give_bra_key_koi_ply	;こいつは叩けないよ
	cmp.b	#$01,[r12](r10)		;
	be	sig_bra_key_koi_ply	;1枚だけ叩ける
	cmp.b	#$02,[r12](r10)		;
	be	dbl_bra_key_koi_ply	;2枚も叩ける
	nop				;場に3枚以上存在する場合は、
	nop				;とばない様に(すり抜けさせる様に)、
	nop				;一時的に設定しておく
	nop				;
give_bra_key_koi_ply:			;場に捨てるとき
	mov.b	#$00,wbFudaMd		;モードの設定
	jsr	_Bahuda_Emp		;場札の空き場所を探す
	mov.b	[r14](r10),wbFudaFrmN	;叩く側(捨てる) 札ナンバー

;;	mov.b	[r14](r10),wbBtoT_fuda2	;手札捨てるべし

	mov.b	[r14](r10),wbTtoB_fuda	;移動札としての登録
	mov.b	#$ff,[r14](r10)		;手札内からの登録抹消

	movt.wb	r10,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	mov.b	r20,wbFudaForP		;叩く側(捨てる) 札インデックス

;	mov.w	#whAiBrainNo,r3		;自動のーみそ吸い取り機
;	movz.bh	wbPlyFudaCnt,r4		;
;	add.h	r4,[r3](r10)		;

	br	end_bra_key_koi_ply	;
sig_bra_key_koi_ply:			;合わせ札が1枚のとき
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.w	r10,r15			;逃がす

;	mov.w	#whAiBrainOk,r3		;自動のーみそ吸い取り機
;	movz.bh	wbPlyFudaCnt,r4		;
;	add.h	r4,[r3](r10)		;

	mul.w	#$03,r15		;単位を合わせる
	mov.b	[r14](r10),wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	[r14](r10),wbBtoT_fuda2	;手札移動登録
	inc.b	wbBtoT_fudaC		;カウントする
;	mov.b	[r14](r10),wbTtoB_fuda	;移動札としての登録
	mov.b	#$ff,[r14](r10)		;手札内からの登録抹消
	movt.wb	r10,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	[r11](r15),wbFudaForN	;叩かれ側 札ナンバー
	mov.b	[r11](r15),wbBtoT_fuda4	;手札に叩かれ移動登録
	inc.b	wbBtoT_fudaC		;カウントする
;	mov.b	#$ff,[r11](r15)		;場札登録の抹消
	mov.b	[r13](r15),wbFudaForP	;叩かれ側 札インデックス
	mov.b	[r13](r15),r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	br	end_bra_key_koi_ply	;
dbl_bra_key_koi_ply:			;合わせ札が2枚のとき
	mov.b	#$02,wbFudaMd		;モードの設定

;	mov.w	#whAiBrainOk,r3		;自動のーみそ吸い取り機
;	movz.bh	wbPlyFudaCnt,r4		;
;	add.h	r4,[r3](r10)		;

	mov.b	[r14](r10),wbFudaFrmN	;叩く側(捨てる) 札ナンバー
;	mov.b	[r14](r10),wbTtoB_fuda	;移動札としての登録
	mov.b	[r14](r10),wbBtoT_fuda2	;手札移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$ff,[r14](r10)		;手札内からの登録抹消
	movt.wb	r10,wbFudaFrmP		;叩く側(捨てる) 札インデックス
end_bra_key_koi_ply:			;
	inc.b	wbKoiDist		;
	popm	#r10-r15/r20		;
;	popm	#r3/r4			;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札の選択
;-----------------------------------------------------------------------------
cho_tre_koi_ply:			;
	pushm	#r1/r10-r11		;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	bne	end_cho_tre_koi_ply	;違うっす

	mov.b	#$00,wbBaCurPos		;初期化
	mov.b	#$00,wbBaCurAnm		;
	mov.b	#$00,wbBaCurBusy	;
	mov.b	#$00,wbBaCurNum		;
	mov.b	#$00,wbBaYNPos		;

	movz.bw	wbCurPos,r10		;カーソル位置の取得
	mul.w	#$03,r10		;
	mov.w	#wbHitPs,r11		;札ヒットポジション(8枚*3種)
	mov.b	[r11](r10),wbBaCurPos	;初期ポジションの登録

	mov.w	#tEsect_Ba_cur,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
	jsr	__1PKEY_Init		;I/O再初期化

	mov.b	#ChoFrzIni,wbFudaMovTim	;選択初期硬直時間の設定

	push	r1			;
	mov.b	#SE_Msg,r1		;メッセージウインドウ
	jsr	__mya_se		;
	pop	r1			;

end_cho_tre_koi_ply:			;
	inc.b	wbKoiDist		;
	popm	#r1/r10-r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札のキー入力待ち
;-----------------------------------------------------------------------------
wat_tre_koi_ply:			;
	pushm	#r10-r12/r15/r20	;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	be	frz_wat_tre_koi_ply	;らしい
	inc.b	wbKoiDist		;ベクタを進める
	br	end_wat_tre_koi_ply	;
frz_wat_tre_koi_ply:			;
	test.b	wbFudaMovTim		;
	be	mod_wat_tre_koi_ply	;
	dec.b	wbFudaMovTim		;初期硬直
	mov.w	#$ff,r15		;ダミー・ニュートラル
	br	ini_wat_tre_koi_ply	;
mod_wat_tre_koi_ply:			;
	jsr	__1PKEY_JD		;
ini_wat_tre_koi_ply:			;ワークセットしておかないと
	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	movz.bw	wbBaCurNum,r12		;ナンバー+α値取得
	movz.bw	wbCurPos,r10		;カーソル位置の取得
	mul.w	#$03,r10		;
	add.w	r12,r10			;ずらす
	mov.w	#wbHitPs,r11		;札ヒットポジション(8枚*3種)
	mov.b	[r11](r10),wbBaCurPos	;ポジションの登録
A_wat_tre_koi_ply:			;Aボタンチェック
	test.h	whSysTimDsp		;タイマーは稼働中終了か?
	be	fin_wat_tre_koi_ply	;
	test1	#$03,r15		;
	bne	R_wat_tre_koi_ply	;
PA_wat_tre_koi_ply:			;Aボタンを押した場合
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	push	r1			;
	mov.b	#SE_Dec1,r1		;決定音
	jsr	__mya_se		;
	pop	r1			;

	test.b	wbBaYNPos		;Yesを選んだかいな?
	be	fin_wat_tre_koi_ply	;
	inc.b	wbBaCurNum		;Noを選んだらしい
	mov.b	#ChoFrzTim,wbFudaMovTim	;硬直時間の再設定
	mov.b	#$00,wbBaYNPos		;Yesに合わせ直し
	cmp.b	#$02,wbBaCurNum		;
	bne	end_wat_tre_koi_ply	;
	mov.b	#$00,wbBaCurNum		;
	br	end_wat_tre_koi_ply	;
R_wat_tre_koi_ply:			;右チェック
	test1	#$04,r15		;
	bne	L_wat_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$01,wbBaYNPos		;右ループしない
	br	end_wat_tre_koi_ply	;
L_wat_tre_koi_ply:			;左チェック
	test1	#$05,r15		;
	bne	end_wat_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$00,wbBaYNPos		;左ループしない
	br	end_wat_tre_koi_ply	;
fin_wat_tre_koi_ply:			;最終処理(未登録データの登録処理)
	movz.bw	wbBaCurNum,r12		;ナンバー+α値取得
	movz.bw	wbCurPos,r10		;カーソル位置の取得
	mul.w	#$03,r10		;
	add.w	r12,r10			;ずらす
	mov.w	#wbHitOk,r11		;札ヒットワーク(8枚*3種)
	mov.b	[r11](r10),wbFudaForN	;叩かれ側 札ナンバー
	mov.b	[r11](r10),wbBtoT_fuda4	;手札に叩かれ移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$ff,[r11](r10)		;場札登録の抹消
	mov.w	#wbHitPs,r11		;札ヒットポジション(8枚*3種)
	mov.b	[r11](r10),wbFudaForP	;叩かれ側 札インデックス
	mov.b	[r11](r10),r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	inc.b	wbKoiDist		;ベクタを進める
	mov.b	#$01,wbBaCurBusy	;終了!!
end_wat_tre_koi_ply:			;
	popm	#r10-r12/r15/r20	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_TB_koi_ply:				;
	pushm	#r0/r10-r14/r21-r22	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_TB_koi_ply	;
give_ini_TB_koi_ply:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
;	mov.w	[r14](r10),r0		;目標札ワークの先頭
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_TB_koi_ply	;
get_ini_TB_koi_ply:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
;	mov.w	[r14](r10),r0		;目標札ワークの先頭
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_TB_koi_ply:			;
	dec.b	wbPlyFudaCnt		;札枚数を減らす
	mov.b	#$02,wbSysCur		;カーソルをスリープモードに移行
	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット
	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動
;-----------------------------------------------------------------------------
mov_TB_koi_ply:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_TB_koi_ply	;
next_mov_TB_koi_ply:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_TB_koi_ply_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_TB_koi_ply	;

next_mov_TB_koi_ply_ex:			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

;	cmp.b	#$ff,wbBtoT_fuda4	;
;	be	next2_mov_TB_koi_ply	;
;	mov.w	#wBa_huda,r0		;
;	movz.bw	wbFudaForP,r11		;
;	mov.b	wbBtoT_fuda4,[r0](r11)	;
;	mov.b	#$ff,wbBtoT_fuda4	;

next2_mov_TB_koi_ply:			;
	inc.b	wbKoiDist		;
end_mov_TB_koi_ply:			;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	手札の詰め
;-----------------------------------------------------------------------------
srt_jam_koi_ply:			;
	jsr	_Fuda_Mon_SortP		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
end_srt_jam_koi_ply:			;
;	dec.b	wbPlyFudaCnt		;札枚数を減らす
	mov.b	#$00,wbKoiDist2_tim	;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札を探す(回避も含む)
;-----------------------------------------------------------------------------
src_Ym_koi_ply:				;
	pushm	#r10/r20		;
	dec.b	wbActWaitTim		;ちょっと待った
	bne	end_src_Ym_koi_ply	;

	jsr	_Ba_Brk_Cnt		;ブランクのカウント
	cmp.b	#$01,r20		;1枚以下なら
	ble	ex_src_Ym_koi_ply	;イカサマする
job_src_Ym_koi_ply:			;
	jsr	_Bahuda_Emp		;空き場所を探す
	cmp.b	#$ff,r20		;空きがないよ
	be	ex_src_Ym_koi_ply	;
	add.b	#$02,wbKoiDist		;イカサマintは無し
	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	br	end_src_Ym_koi_ply	;
ex_src_Ym_koi_ply:			;イカサマの準備

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;イカサマしないといけないよ
end_src_Ym_koi_ply:			;
	popm	#r10/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	イカサマint
;-----------------------------------------------------------------------------
mag_mby_koi_ply:			;
	pushm	#r16-r17/r20		;
	mov.w	#$00,r20		;
	mov.w	#12,r16			;
loop_mag_mby_koi_ply:			;
	jsr	_Koi_Ark_m00		;
	test.b	r17			;
	bnz	end_mag_mby_koi_ply	;
	inc.w	r20			;
	dec.w	r16			;
	bnz	loop_mag_mby_koi_ply	;
	jsr	Reset			;致命的エラーなのでリセット
end_mag_mby_koi_ply:			;

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

	inc.b	wbKoiDist		;
	popm	#r16-r17/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札のめくり動作
;-----------------------------------------------------------------------------
opn_Ym_koi_ply:				;
	pushm	#r10-r12		;

	mov.w	#wFuda,r10		;
	movz.bw	wbMtoB_fuda,r11		;めくり札
	shl.w	#$05,r11		;
	add.w	r10,r11			;目的ワークの先頭
	movz.bw	wbKoiDist2_tim,r12	;
	mov.b	tOpen__Fuda_Rot(r12),_Fuda_dsp[r11]	;
	inc.b	wbKoiDist2_tim		;
	cmp.b	#10,wbKoiDist2_tim	;
	bne	end_opn_Ym_koi_ply	;
	inc.b	wbKoiDist		;

	jsr	_init_Hit_Ok		;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbTtoB_fuda	;

end_opn_Ym_koi_ply:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r10-r12		;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す(山札:場札)
;-----------------------------------------------------------------------------
src2_hit_koi_ply:			;叩ける札を探す(山札:場札)
	push	r20			;
	jsr	_Eva2_hit_jd		;めくり札のヒット評価
	test.b	wbHitCkB		;
	be	give_src2_hit_koi_ply	;叩けない
	cmp.b	#$01,wbHitCkB		;
	be	sig_src2_hit_koi_ply	;1枚叩ける
	cmp.b	#$02,wbHitCkB		;
	be	dbl_src2_hit_koi_ply	;2枚叩ける
	nop				;場に3枚以上存在する場合は、
	nop				;とばない様に(すり抜けさせる様に)、
	nop				;一時的に設定しておく
	nop				;
give_src2_hit_koi_ply:			;場に捨てるとき
	mov.b	#$00,wbFudaMd		;モードの設定
	jsr	_Bahuda_Emp		;空き場所を探す
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー

;;	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;
	mov.b	wbMtoB_fuda,wbTtoB_fuda		;

	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	mov.b	r20,wbFudaForP		;叩かれ側 札インデックス
	br	end_src2_hit_koi_ply	;
sig_src2_hit_koi_ply:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	br	end_src2_hit_koi_ply	;
dbl_src2_hit_koi_ply:			;
	mov.b	#$02,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
end_src2_hit_koi_ply:			;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	mov.b	#$ff,wbMtoB_fuda	;起き札登録の抹消
	inc.b	wbKoiDist		;
	pop	r20			;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札の選択
;-----------------------------------------------------------------------------
cho2_tre_koi_ply:			;3枚札の選択
	push	r1			;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	bne	end_cho2_tre_koi_ply	;

	mov.b	#$00,wbBaCurPos		;初期化
	mov.b	#$00,wbBaCurAnm		;
	mov.b	#$00,wbBaCurBusy	;
	mov.b	#$00,wbBaCurNum		;
	mov.b	#$00,wbBaYNPos		;

	mov.b	wbHitPs,wbBaCurPos	;

	mov.w	#tEsect_Ba_cur,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
	jsr	__1PKEY_Init		;I/O再初期化

	mov.b	#ChoFrzIni,wbFudaMovTim	;選択初期硬直時間の設定

	push	r1			;
	mov.b	#SE_Msg,r1		;メッセージウインドウ
	jsr	__mya_se		;
	pop	r1			;

end_cho2_tre_koi_ply:			;
	inc.b	wbKoiDist		;
	pop	r1			;
	rsr				;
;-----------------------------------------------------------------------------
;	3枚札のキー入力待ち
;-----------------------------------------------------------------------------
wat2_tre_koi_ply:			;3枚札のキー入力待ち
	pushm	#r10/r11/r15		;
	cmp.b	#$02,wbFudaMd		;3枚選択モードか?
	be	frz_wat2_tre_koi_ply	;らしい
;	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;ベクタを進める
	br	end_wat2_tre_koi_ply	;
frz_wat2_tre_koi_ply:			;
	test.b	wbFudaMovTim		;
	be	mod_wat2_tre_koi_ply	;
	dec.b	wbFudaMovTim		;初期硬直
	mov.w	#$ff,r15		;ダミー・ニュートラル
	br	ini_wat2_tre_koi_ply	;
mod_wat2_tre_koi_ply:			;
	jsr	__1PKEY_JD		;
ini_wat2_tre_koi_ply:			;
	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	movz.bw	wbBaCurNum,r10		;ナンバー+α値取得
	mov.w	#wbHitPsB,r11		;
	mov.b	[r11](r10),wbBaCurPos	;ポジションの登録
A_wat2_tre_koi_ply:			;Aボタンチェック
	test.h	whSysTimDsp		;キャンセルタイマーチェック
	be	fin_wat2_tre_koi_ply	;
	test1	#$03,r15		;
	bne	R_wat2_tre_koi_ply	;
PA_wat2_tre_koi_ply:			;
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	push	r1			;
	mov.b	#SE_Dec1,r1		;決定音
	jsr	__mya_se		;
	pop	r1			;

	test.b	wbBaYNPos		;Yesを選んだかいな?
	be	fin_wat2_tre_koi_ply	;
	inc.b	wbBaCurNum		;Noを選んだらしい
	mov.b	#ChoFrzTim,wbFudaMovTim	;硬直時間の再設定
	mov.b	#$00,wbBaYNPos		;Yesに合わせ直し
	cmp.b	#$02,wbBaCurNum		;
	bne	end_wat2_tre_koi_ply	;
	mov.b	#$00,wbBaCurNum		;
	br	end_wat2_tre_koi_ply	;
R_wat2_tre_koi_ply:			;右チェック
	test1	#$04,r15		;
	bne	L_wat2_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$01,wbBaYNPos		;右ループしない
	br	end_wat2_tre_koi_ply	;
L_wat2_tre_koi_ply:			;左チェック
	test1	#$05,r15		;
	bne	end_wat2_tre_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$00,wbBaYNPos		;左ループしない
	br	end_wat2_tre_koi_ply	;
fin_wat2_tre_koi_ply:			;
	movz.bw	wbBaCurNum,r10		;ナンバー+α値取得
	mov.w	#wbHitOkB,r11		;場札ヒットワーク(3種)
	mov.b	[r11](r10),wbFudaForN	;叩かれ側 札ナンバー
	mov.b	[r11](r10),wbBtoT_fuda3	;
	inc.b	wbBtoT_fudaC		;カウントする
	mov.w	#wbHitPsB,r11		;場札ヒットポジション(3種)
	mov.b	[r11](r10),wbFudaForP	;叩かれ側 札インデックス
	mov.b	[r11](r10),r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;ベクタを進める
	mov.b	#$01,wbBaCurBusy	;終了!!
end_wat2_tre_koi_ply:			;
	popm	#r10/r11/r15		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_YB_koi_ply:				;山札から場札への移動のイニシャライズ
	pushm	#r0/r10-r14/r21-r22	;
	dec.b	wbActWaitTim		;待つのだ
	bne	fin_end_ini_YB_koi_ply	;
init_ini_YB_koi_ply:			;

	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_YB_koi_ply	;
give_ini_YB_koi_ply:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_YB_koi_ply	;
get_ini_YB_koi_ply:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_YB_koi_ply:			;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット

fin_end_ini_YB_koi_ply:			;

	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動
;-----------------------------------------------------------------------------
mov_YB_koi_ply:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_YB_koi_ply	;
next_mov_YB_koi_ply:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_YB_koi_ply_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_YB_koi_ply	;

next_mov_YB_koi_ply_ex:			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

;	cmp.b	#$ff,wbBtoT_fuda1	;
;	be	next2_mov_YB_koi_ply	;
;	mov.w	#wBa_huda,r0		;
;	movz.bw	wbFudaForP,r11		;
;	mov.b	wbBtoT_fuda1,[r0](r11)	;
;	mov.b	#$ff,wbBtoT_fuda1	;

next2_mov_YB_koi_ply:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
end_mov_YB_koi_ply:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_all_koi_ply:			;取った札すべての移動のイニシャライズ
	pushm	#r1/r10-r14		;
	dec.b	wbActWaitTim		;
	bne	fin_ini_all_koi_ply	;

	mov.b	#$00,wbFuda1_Tim	;タイマー初期化
	mov.b	#$00,wbFuda2_Tim	;
	mov.b	#$00,wbFuda3_Tim	;
	mov.b	#$00,wbFuda4_Tim	;

	mov.w	#wbGetFudaP,r10		;ワーク
	jsr	_Fuda_Shar_Cnt		;カウントしてみる
	jsr	_init_GetFuda_PosP	;ポジションの割り出し

job1_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda1,r1		;
	cmp.w	#$ff,r1			;
	be	job2_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job2_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda2,r1		;
	cmp.w	#$ff,r1			;
	be	job3_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job3_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda3,r1		;
	cmp.w	#$ff,r1			;
	be	job4_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
job4_ini_all_koi_ply:			;
	movz.bw	wbBtoT_fuda4,r1		;
	cmp.w	#$ff,r1			;
	be	end_ini_all_koi_ply	;
	jsr	_init_GetFuda_SetP	;
end_ini_all_koi_ply:			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
fin_ini_all_koi_ply:			;
	popm	#r1/r10-r14		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動
;-----------------------------------------------------------------------------
mov_all_koi_ply:			;
	pushm	#r0-r3/r10		;
	mov.w	#wFuda,r1		;
mov_all_koi_ply_job1:			;
	movz.bw	wbFuda1_Tim,r2		;
	mov.b	tMov_All_Fuda1(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_ply_job2	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job1_ex	;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_ply_job1_ex:		;

	movz.bw	wbBtoT_fuda1,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job2:			;
	movz.bw	wbFuda2_Tim,r2		;
	mov.b	tMov_All_Fuda2(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_ply_job3	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job2_ex	;

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_ply_job2_ex:		;

	movz.bw	wbBtoT_fuda2,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job3:			;
	movz.bw	wbFuda3_Tim,r2		;
	mov.b	tMov_All_Fuda3(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_job4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_ply_job4	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job3_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_ply_job3_ex:		;

	movz.bw	wbBtoT_fuda3,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_job4:			;
	movz.bw	wbFuda4_Tim,r2		;
	mov.b	tMov_All_Fuda4(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_ply_jd1	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_ply_jd1	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_ply_job4_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_ply_job4_ex:

	movz.bw	wbBtoT_fuda4,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_ply_jd1:			;
	movz.bw	wbGetIdxP,r2		;取った札のインデックス
	mov.w	#wbGetFudaP,r3		;取った札ワーク
	inc.b	wbFuda1_Tim		;
	cmp.b	#16,wbFuda1_Tim		;
	bne	mov_all_koi_ply_jd2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_ply_jd2	;
	mov.b	wbBtoT_fuda1,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda1	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd2:			;
	inc.b	wbFuda2_Tim		;
	cmp.b	#20,wbFuda2_Tim		;
	bne	mov_all_koi_ply_jd3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_ply_jd3	;
	mov.b	wbBtoT_fuda2,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda2	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd3:			;
	inc.b	wbFuda3_Tim		;
	cmp.b	#24,wbFuda3_Tim		;
	bne	mov_all_koi_ply_jd4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_ply_jd4	;
	mov.b	wbBtoT_fuda3,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda3	;
	jsr	_GetFuda_Shar_SetP	;
	inc.w	r2			;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd4:			;
	inc.b	wbFuda4_Tim		;
	cmp.b	#28,wbFuda4_Tim		;
	bne	end_mov_all_koi_ply	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_ply_jd_ex	;
	mov.b	wbBtoT_fuda4,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda4	;
	jsr	_GetFuda_Shar_SetP	;
	inc.b	wbGetIdxP		;
mov_all_koi_ply_jd_ex:			;

;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#10,wbActWaitTim	;ウェイトをかます

end_mov_all_koi_ply:			;
	popm	#r0-r3/r10		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札のソート
;-----------------------------------------------------------------------------
srt_pul_koi_ply:			;
;	pushm	#r15/r16		;

	dec.b	wbActWaitTim		;
	bne	fin_srt_pul_koi_ply	;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

	mov.w	#$00,wBrankFuda		;初期化
	mov.w	#$00,wBrankFuda+$04	;
	mov.w	#$00,wBrankFuda+$08	;

;	mov.w	#wbGetFudaP,r15		;P取った札のナンバー
;	mov.w	#wbGetIdxP,r16		;P取った札のインデックス

;	jsr	_Get_Fuda_Req		;移動札を取り札として登録する

	jsr	_GetFuda_Sort_SetP	;
	jsr	_GetFuda_Shar_SetP	;

;	mov.b	#$ff,wbBtoT_fuda1	;後始末
;	mov.b	#$ff,wbBtoT_fuda2	;
;	mov.b	#$ff,wbBtoT_fuda3	;
;	mov.b	#$ff,wbBtoT_fuda4	;

job_srt_pul_koi_ply:			;
	jsr	_GetFuda_Arg_AgnP	;

	jsr	_GetFuda_Sort_SetC	;先攻時のダミープロセス
	jsr	_GetFuda_Shar_SetC	;
	jsr	_GetFuda_Arg_AgnC	;

end_srt_pul_koi_ply:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
;	popm	#r15/r16		;

fin_srt_pul_koi_ply:			;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札の評価
;-----------------------------------------------------------------------------
eva_pul_koi_ply:			;
	pushm	#r15-r20		;
	dec.b	wbActWaitTim		;
	bne	end_eva_pul_koi_ply	;

	mov.w	#wbGetFudaP,r15		;取った札ワークアドレス
	mov.w	#wbYakuJdP,r16		;出来役判定用カウンターワークAD

	jsr	_Huda_val		;取った札の評価

	mov.w	#wbYakuJdP,r15		;出来役判定用カウンターワーク
	mov.w	#wbYakuJd2P,r16		;出来役成立用ワーク(総合)
	mov.w	#wbYakuJd3P,r17		;出来役成立用ワーク(瞬間)
	mov.w	#wbYakuCnt2P,r18	;各出来役文数カウンター
	mov.w	#wbYakuCntP,r19		;総文数カウンター(1回での出来役)
	mov.w	#wbYakuRchP,r20		;出来役リーチ用ワーク

	jsr	_Yaku_val		;出来役の評価

	inc.b	wbKoiDist		;
end_eva_pul_koi_ply:			;

;	mov.b	#$00,wbFudaFrmN		;初期化
;	mov.b	#$00,wbFudaFrmP		;
;	mov.b	#$00,wbFudaForN		;
;	mov.b	#$00,wbFudaForP		;
;
;	mov.b	#$ff,wbMtoB_fuda	;初期化
;	mov.b	#$ff,wbTtoB_fuda	;
;	mov.b	#$ff,wbBtoT_fuda1	;
;	mov.b	#$ff,wbBtoT_fuda2	;
;	mov.b	#$ff,wbBtoT_fuda3	;
;	mov.b	#$ff,wbBtoT_fuda4	;
;	mov.b	#$00,wbBtoT_fudaC	;
;
;	mov.w	#$00,wBrankFuda		;初期化
;	mov.w	#$00,wBrankFuda+$04	;
;	mov.w	#$00,wBrankFuda+$08	;
;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;

	popm	#r15-r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出判定
;-----------------------------------------------------------------------------
ini_dir_mom_koi_ply:			;瞬間での出来役演出判定
	push	r10			;
	mov.w	#wbYakuJd3P,r10		;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_ply	;
	add.b	#$06,wbKoiDist		;成立してないや
	br	end_ini_dir_mom_koi_ply	;
job_ini_dir_mom_koi_ply:		;
;	mov.b	#$01,wbDPltCk		;ウインドウのセット
	mov.b	#$00,wbDPltMode		;
	mov.b	#$01,wbJdKoiKoi		;コイコイをきく必要性がある
	jsr	_DPlate_Man		;
	inc.b	wbKoiDist		;
end_ini_dir_mom_koi_ply:		;
;	dec.b	wbPlyFudaCnt		;札枚数を減らす
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出
;-----------------------------------------------------------------------------
dir_mom_koi_ply:			;
	jsr	_DPlate_Man		;
	test.b	wbDPltCk		;
	bne	end_dir_mom_koi_ply	;
	inc.b	wbKoiDist		;

	test.b	wbMainTask		;
	be	end_dir_mom_koi_ply	;

	test.b	wbUpCnt			;
	bne	end_dir_mom_koi_ply	;

	push	r1			;
	mov.b	#21,r1			;こいこい後のアップテンポ
	jsr	__mya_bgm		;
	pop	r1			;

	inc.b	wbUpCnt			;

end_dir_mom_koi_ply:			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイする?ウインドウ
;-----------------------------------------------------------------------------
win_ask_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiKoi		;
	be	next_win_ask_koi_ply	;
	test.b	wbPlyFudaCnt		;
	be	next_win_ask_koi_ply	;

	mov.b	#$02,wbKoiWindowAction	;こいこいする?
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_ask_koi_ply	;

next_win_ask_koi_ply:			;
	inc.b	wbKoiDist		;
end_win_ask_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイの選択
;-----------------------------------------------------------------------------
cho_koi_koi_ply:			;
	push	r1			;
	test.b	wbJdKoiKoi		;
	be	next_cho_koi_koi_ply	;
	test.b	wbPlyFudaCnt		;
	be	next_cho_koi_koi_ply	;

	mov.b	#$00,wbBaCurBusy	;
	mov.b	#$00,wbBaYNPos		;

	test.b	wbDipCntrol		;コンパネ判定
	bne	job_cho_koi_koi_ply_KB	;
job_cho_koi_koi_ply_JS:			;
	mov.w	#tEsect_Koi_Ok,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
	jsr	__1PKEY_Init		;I/O再初期化
	br	job_cho_koi_koi_ply_ex	;
job_cho_koi_koi_ply_KB:			;
	mov.w	#tEsect_Koi_Ok2,r1	;選択セットをリクエスト
	jsr	__Esect_Req		;
job_cho_koi_koi_ply_ex:			;

	mov.b	#ChoFrzIni,wbFudaMovTim	;選択初期硬直時間の設定
	mov.b	#$02,wbSysCur		;カーソルをスリープモードに移行

	push	r1			;
	mov.b	#SE_Msg,r1		;メッセージウインドウ
	jsr	__mya_se		;
	pop	r1			;

next_cho_koi_koi_ply:			;
	inc.b	wbKoiDist		;
end_cho_koi_koi_ply:			;
	pop	r1			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイのキー入力待ち
;-----------------------------------------------------------------------------
wat_koi_koi_ply:			;
	push	r15			;

	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
	mov.b	#$00,r20		;処理続行中
	jsr	_Sys_tim_gen		;

	inc.b	wbRandEx1		;うりゃー、まわせー

	test.b	wbJdKoiKoi		;
	be	next_wat_koi_koi_ply	;

	test.b	wbPlyFudaCnt		;0枚?
	bne	ex_wat_koi_koi_ply	;

	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$01,wbJdKoiEnd		;
	inc.b	wbKoiDist		;
	br	next_wat_koi_koi_ply	;

ex_wat_koi_koi_ply:			;
	test.b	wbFudaMovTim		;
	be	job_wat_koi_koi_ply	;
	dec.b	wbFudaMovTim		;
	mov.b	#$ff,r15		;
	br	end_wat_koi_koi_ply	;
job_wat_koi_koi_ply:			;
	test.b	wbDipCntrol		;コンパネ判定
	bne	job_wat_koi_koi_ply_KB	;
job_wat_koi_koi_ply_JS:			;
	jsr	__1PKEY_JD		;
	br	A_job_wat_koi_koi_ply	;
job_wat_koi_koi_ply_KB:			;
	mov.b	#$ff,r15		;回避手段
	jsr	__KBKEY_JD		;
	mov.b	#$01,wbBaCurBusy	;
	mov.b	#$00,wbBaYNPos		;Y
	cmp.b	#$01,JOY1PKEY		;
	be	A_job_wat_koi_koi_ply_ex	;
	mov.b	#$01,wbBaYNPos		;N
	cmp.b	#14,JOY1PKEY		;
	be	A_job_wat_koi_koi_ply_ex	;
	mov.b	#$00,wbBaCurBusy	;
A_job_wat_koi_koi_ply:			;
;	mov.b	#$00,wbCurBusy2		;コンフリクト回避用
;	mov.b	#$00,r20		;処理続行中
;	jsr	_Sys_tim_gen		;

	test.h	whSysTimDsp		;キャンセルタイマーチェック
	bne	A_job_wat_koi_koi_ply_Ex	;

	test.b	wbBaYNPos		;
	be	AY_job_wat_koi_koi_ply	;
	br	AN_job_wat_koi_koi_ply	;

;	be	AN_job_wat_koi_koi_ply	;タイマー切れの場合はNOにする

A_job_wat_koi_koi_ply_Ex:		;

	test1	#$03,r15		;
	bne	R_job_wat_koi_koi_ply	;

A_job_wat_koi_koi_ply_ex:		;

	push	r1			;
	mov.b	#SE_Dec1,r1		;決定音
	jsr	__mya_se		;
	pop	r1			;

	test.b	wbBaYNPos		;
	bne	AN_job_wat_koi_koi_ply	;
AY_job_wat_koi_koi_ply:			;
	mov.b	#$00,wbJdKoiEnd		;
	br	AX_job_wat_koi_koi_ply	;
AN_job_wat_koi_koi_ply:			;
	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$01,wbJdKoiEnd		;
	inc.b	wbKoiDist		;
AX_job_wat_koi_koi_ply:			;
	mov.b	#$01,r20		;タイマーカット
	jsr	_Sys_tim_gen		;

	mov.b	#$00,wbBaYNPos		;
	mov.b	#$01,wbBaCurBusy	;
	br	next_wat_koi_koi_ply	;
R_job_wat_koi_koi_ply:			;
	test1	#$04,r15		;
	bne	L_job_wat_koi_koi_ply	;

	test.b	wbBaYNPos		;
	bne	end_wat_koi_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$01,wbBaYNPos		;
	br	end_wat_koi_koi_ply	;
L_job_wat_koi_koi_ply:			;
	test1	#$05,r15		;
	bne	end_wat_koi_koi_ply	;

	test.b	wbBaYNPos		;
	be	end_wat_koi_koi_ply	;

	push	r1			;
	mov.b	#SE_Cur1,r1		;カーソル移動音
	jsr	__mya_se		;
	pop	r1			;

	mov.b	#$00,wbBaYNPos		;
	br	end_wat_koi_koi_ply	;
next_wat_koi_koi_ply:			;
	inc.b	wbKoiDist		;
end_wat_koi_koi_ply:			;
	pop	r15			;
	rsr				;
;-----------------------------------------------------------------------------
;	コイコイしてくれたウインドウ
;-----------------------------------------------------------------------------
win_koi_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiKoi		;
	be	next_win_koi_koi_ply	;

	mov.b	#$03,wbKoiWindowAction	;コイコイしてくれてアリガト
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_koi_koi_ply	;

next_win_koi_koi_ply:			;
;	mov.b	#$01,wbSysCur		;カーソル解放
	mov.b	#$00,wbJdKoiKoi		;
	inc.b	wbKoiDist		;
	inc.b	wbKoiDist		;
end_win_koi_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	勝ち負けウインドウ
;-----------------------------------------------------------------------------
win_res_koi_ply:			;
	push	r25			;
	test.b	wbJdKoiEnd		;
	be	next_win_res_koi_ply	;

	mov.b	#$01,wbRikoSysCk	;リコ・システムOFF

	mov.b	#$05,wbKoiWindowAction	;勝ったよぉ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_res_koi_ply	;

;	mov.b	#$01,wbSysCur		;カーソル解放
	mov.b	#$00,wbJdKoiEnd		;

;	mov.b	#$01,wbSPltCk		;
	mov.b	#$00,wbDPltMode		;

	mov.b	#24,wbKoiTask		;集計処理へ
	mov.b	#$00,wbKoiDist		;
	br	end_win_res_koi_ply	;
next_win_res_koi_ply:			;
	inc.b	wbKoiDist		;
end_win_res_koi_ply:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	後処理
;-----------------------------------------------------------------------------
next_koi_ply:				;



end_next_koi_ply:			;
	mov.b	#$00,wbKoiDist		;
	inc.b	wbKoiTask		;上位タスクも進める
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	CPUの順番
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
tkoi_cpu_sec:				;

	dw	init_koi_cpu		;初期イニシャライズ
	dw	win_str_koi_cpu		;スタートウインドウ
	dw	src_hit_koi_cpu		;叩ける札を探す
	dw	ini_TB_koi_cpu		;手札から場札への移動のイニシャライズ
	dw	mov_TB_koi_cpu		;手札から場札への移動
	dw	srt_jam_koi_cpu		;手札の詰め
	dw	src_Ym_koi_cpu		;山札を探す(回避も含む)
	dw	mag_mby_koi_cpu		;イカサマint
	dw	opn_Ym_koi_cpu		;山札のめくり動作
	dw	src2_hit_koi_cpu	;叩ける札を探す(山札:場札)
	dw	ini_YB_koi_cpu		;山札から場札への移動のイニシャライズ
	dw	mov_YB_koi_cpu		;山札から場札への移動
	dw	ini_all_koi_cpu		;取った札すべての移動のイニシャライズ
	dw	mov_all_koi_cpu		;取った札すべての移動
	dw	srt_pul_koi_cpu		;取った札のソート
	dw	eva_pul_koi_cpu		;取った札の評価
	dw	ini_dir_mom_koi_cpu	;瞬間での出来役演出判定
	dw	dir_mom_koi_cpu		;瞬間での出来役演出
;	dw	win_ask_koi_cpu		;コイコイする?ウインドウ
	dw	cho_koi_koi_cpu		;コイコイの選択
;	dw	wat_koi_koi_cpu		;コイコイのキー入力待ち
	dw	win_koi_koi_cpu		;コイコイしてくれたウインドウ
	dw	win_res_koi_cpu		;勝ち負けウインドウ
	dw	next_koi_cpu		;後処理

;-----------------------------------------------------------------------------
koi_cpu_sec:				;CPUセクション
	push	r10			;
	movz.bw	wbKoiDist,r10		;
	mov.w	tkoi_cpu_sec(r10),r10	;
	jsr	[r10]			;
	jsr	Fuda_Pri_Man		;
	jsr	Fuda_Esect		;
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	初期イニシャライズ
;-----------------------------------------------------------------------------
init_koi_cpu:				;

;	jsr	_init_Get_Fuda		;「取った札」用ワークの初期化
;	jsr	_Yaku_val_init		;出来役評価用ワークの初期化

	mov.b	#$00,wbJdKoiKoi		;
	mov.b	#$00,wbJdKoiEnd		;

	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	スタートウインドウ
;-----------------------------------------------------------------------------
win_str_koi_cpu:			;
	push	r25			;
	cmp.b	#$08,wbCpuFudaCnt	;初回判定
	bne	next_win_str_koi_cpu	;

	test1	#$00,wbKoiOrd		;
	be	next_win_str_koi_cpu	;

	mov.b	#$01,wbKoiWindowAction	;スタートウインドウ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_str_koi_cpu	;

next_win_str_koi_cpu:			;
	inc.b	wbKoiDist		;
end_win_str_koi_cpu:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す
;-----------------------------------------------------------------------------
src_hit_koi_cpu:			;
	pushm	#r10/r15-r18/r20	;

	mov.w	#wCpu_Tehuda,r10	;

	jsr	_init_Hit_Ok		;札ヒットワークの初期化

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

	mov.w	#$00,wBrankFuda		;初期化
	mov

u27.bin

60400:

	__mEsect_Init3	000,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_09,__G02_IvtBG03_09	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$080,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_10,__G02_IvtBG03_10	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$100,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	060,_G02_IvtBG03_11,__G02_IvtBG03_11	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$150,$200				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス
; 本体
	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_00,__G02_Ivt03_00	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,000					;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_01,__G02_Ivt03_01	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$080,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_02,__G02_Ivt03_02	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$100,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_03,__G02_Ivt03_03	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$150,000				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_04,__G02_Ivt03_04	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	000,$100				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_05,__G02_Ivt03_05	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$080,$100				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_06,__G02_Ivt03_06	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$100,$100				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Init1	__EsectIventMovParts			;実行プログラム名
	__mEsect_Init2	059,_G02_Ivt03_07,__G02_Ivt03_07	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	$150,$100				;H、V
	__mEsect_Init4	tMov_G02_Ivnt31,000			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	__mEsect_Initr10](r17)		;手札内からの登録抹消
	movt.wb	r17,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	jsr	_Bahuda_Emp		;場札の空き場所を探す
	mov.b	r20,wbFudaForP		;叩く側(捨てる) 札インデックス
	br	end_src_hit_koi_cpu	;
sig_src_hit_koi_cpu:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	r15,wbFudaFrmN		;叩く側(捨てる) 札ナンバー
	mov.b	r15,wbBtoT_fuda2	;手札移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$ff,[r10](r17)		;手札内からの登録抹消
	movt.wb	r17,wbFudaFrmP		;叩く側(捨てる) 札インデックス
	mov.b	r16,wbFudaForN		;叩かれ側 札ナンバー
	mov.b	r16,wbBtoT_fuda4	;手札に叩かれ移動登録
	inc.b	wbBtoT_fudaC		;カウントする
	movt.wb	r18,wbFudaForP		;叩かれ側 札インデックス
	movt.wb	r18,r20			;
	jsr	_Del_Bafuda		;場札登録の抹消
end_src_hit_koi_cpu:			;
	inc.b	wbKoiDist		;
	popm	#r10/r15-r18/r20	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_TB_koi_cpu:				;
	pushm	#r0/r10-r14/r21-r22	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー

	mov.w	#wFuda,r11		;
	mov.w	r0,r12			;札を表に開く
	shl.w	#$05,r12		;
	add.w	r11,r12			;
	mov.b	#$04,_Fuda_dsp[r12]	;

	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_TB_koi_cpu	;
give_ini_TB_koi_cpu:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_TB_koi_cpu	;
get_ini_TB_koi_cpu:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_TB_koi_cpu:			;
	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	手札から場札への移動
;-----------------------------------------------------------------------------
mov_TB_koi_cpu:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_TB_koi_cpu	;
next_mov_TB_koi_cpu:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_TB_koi_cpu_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_TB_koi_cpu	;

next_mov_TB_koi_cpu_ex:			;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

next2_mov_TB_koi_cpu:			;

	inc.b	wbKoiDist		;
end_mov_TB_koi_cpu:			;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	手札の詰め
;-----------------------------------------------------------------------------
srt_jam_koi_cpu:			;
	jsr	_Fuda_Mon_SortC		;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
end_srt_jam_koi_cpu:			;
	mov.b	#$00,wbKoiDist2_tim	;
	add.h	#26,whGetFudaBMaxC	;役札のMAXが増える

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札を探す(回避も含む)
;-----------------------------------------------------------------------------
src_Ym_koi_cpu:				;
	pushm	#r10/r20		;
	dec.b	wbActWaitTim		;
	bne	end_src_Ym_koi_cpu	;
	jsr	_Ba_Brk_Cnt		;ブランクのカウント
	cmp.b	#$01,r20		;1枚以下なら
	ble	ex_src_Ym_koi_cpu	;イカサマする
job_src_Ym_koi_cpu:			;
	jsr	_Bahuda_Emp		;空き場所を探す
	cmp.b	#$ff,r20		;空きがないよ
	be	ex_src_Ym_koi_cpu	;
	add.b	#$02,wbKoiDist		;イカサマintは無し
	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	br	end_src_Ym_koi_cpu	;
ex_src_Ym_koi_cpu:			;イカサマの準備

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;イカサマしないといけないよ
end_src_Ym_koi_cpu:			;
	popm	#r10/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	イカサマint
;-----------------------------------------------------------------------------
mag_mby_koi_cpu:			;
	pushm	#r16-r17/r20		;
	mov.w	#$00,r20		;
	mov.w	#12,r16			;
loop_mag_mby_koi_cpu:			;
	jsr	_Koi_Ark_m00		;
	test.b	r17			;
	bnz	end_mag_mby_koi_cpu	;
	inc.w	r20			;
	dec.w	r16			;
	bnz	loop_mag_mby_koi_cpu	;
	jsr	Reset			;致命的エラーなのでリセット
end_mag_mby_koi_cpu:			;

	push	r1			;
	mov.b	#SE_FRol,r1		;ひっくり返すときの音
	jsr	__mya_se		;
	pop	r1			;

	jsr	_Mak_Yamafuda		;
	mov.b	r20,wbMtoB_fuda		;めくり札に登録
	movz.bw	r20,r10			;札ナンバー
	mov.w	#$ff,r20		;予定は未定
	jsr	_fuda_req		;札のリクエスト

	inc.b	wbKoiDist		;
	popm	#r16-r17/r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	山札のめくり動作
;-----------------------------------------------------------------------------
opn_Ym_koi_cpu:				;
	pushm	#r10-r12		;

	mov.w	#wFuda,r10		;
	movz.bw	wbMtoB_fuda,r11		;めくり札
	shl.w	#$05,r11		;
	add.w	r10,r11			;目的ワークの先頭
	movz.bw	wbKoiDist2_tim,r12	;
	mov.b	tOpen__Fuda_Rot(r12),_Fuda_dsp[r11]	;
	inc.b	wbKoiDist2_tim		;
	cmp.b	#10,wbKoiDist2_tim	;
	bne	end_opn_Ym_koi_cpu	;
	inc.b	wbKoiDist		;

	jsr	_init_Hit_Ok		;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbTtoB_fuda	;

end_opn_Ym_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r10-r12		;
	rsr				;
;-----------------------------------------------------------------------------
;	叩ける札を探す(山札:場札)
;-----------------------------------------------------------------------------
src2_hit_koi_cpu:			;叩ける札を探す(山札:場札)
	push	r20			;
	jsr	_Eva2_hit_jd		;めくり札のヒット評価
	test.b	wbHitCkB		;
	be	give_src2_hit_koi_cpu	;叩けない
	cmp.b	#$01,wbHitCkB		;
	be	sig_src2_hit_koi_cpu	;1枚叩ける
	cmp.b	#$02,wbHitCkB		;
	be	dbl_src2_hit_koi_cpu	;2枚叩ける
	nop				;場に3枚以上存在する場合は、
	nop				;とばない様に(すり抜けさせる様に)、
	nop				;一時的に設定しておく
	nop				;
give_src2_hit_koi_cpu:			;場に捨てるとき
	mov.b	#$00,wbFudaMd		;モードの設定
	jsr	_Bahuda_Emp		;空き場所を探す
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー

	mov.b	wbMtoB_fuda,wbTtoB_fuda		;

	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	#$ff,wbFudaForN		;エラーを起こさせる
	mov.b	r20,wbFudaForP		;叩かれ側 札インデックス
	br	end_src2_hit_koi_cpu	;
sig_src2_hit_koi_cpu:			;
	mov.b	#$01,wbFudaMd		;モードの設定
	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消
	br	end_src2_hit_koi_cpu	;
dbl_src2_hit_koi_cpu:			;
	mov.b	#$02,wbFudaMd		;モードの設定
;	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
;	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くヤツ
;	inc.b	wbBtoT_fudaC		;カウントする
;	mov.b	#$00,wbFudaFrmP		;1種類だけだから

	mov.b	wbMtoB_fuda,wbFudaFrmN	;叩く側(捨てる) 札ナンバー
	mov.b	wbMtoB_fuda,wbBtoT_fuda1	;叩くやつ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	#$00,wbFudaFrmP		;1種類だけだから
	mov.b	wbHitOkB,wbFudaForN	;叩かれ側 札ナンバー
	mov.b	wbHitOkB,wbBtoT_fuda3	;起き札に叩かれるヤツ
	inc.b	wbBtoT_fudaC		;カウントする
	mov.b	wbHitPsB,wbFudaForP	;叩かれ側 札インデックス
	mov.b	wbHitPsB,r20		;
	jsr	_Del_Bafuda		;場札登録の抹消

end_src2_hit_koi_cpu:			;
	mov.b	#$ff,wbMtoB_fuda	;起き札登録の抹消
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
	inc.b	wbKoiDist		;
	pop	r20			;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_YB_koi_cpu:				;山札から場札への移動のイニシャライズ
	pushm	#r0/r10-r14/r21-r22	;
	dec.b	wbActWaitTim		;
	bne	fin_ini_YB_koi_cpu	;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	movz.bw	wbFudaFrmP,r11		;叩く側(捨てる) 札インデックス
	movz.bw	wbFudaForN,r12		;叩かれ側 札ナンバー
	movz.bw	wbFudaForP,r13		;叩かれ側 札インデックス
	mov.w	#wFuda,r14		;札ワーク
	test.b	wbFudaMd		;
	bne	get_ini_YB_koi_cpu	;
give_ini_YB_koi_cpu:			;場に捨てる場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos1(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos1(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
	br	end_ini_YB_koi_cpu	;
get_ini_YB_koi_cpu:			;札を叩く場合
	shl.w	#$05,r0			;1つ32バイトだから
	add.w	r14,r0			;
	shl.w	#$01,r13		;
	mov.h	tBahudaPos2(r13),r21	;目標H
	inc.w	r13			;
	mov.h	tBahudaPos2(r13),r22	;目標V
	jsr	_fuda_ptp_mov_init	;
end_ini_YB_koi_cpu:			;

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#16,wbFudaMovTim	;札移動タイマーをセット
fin_ini_YB_koi_cpu:			;
	popm	#r0/r10-r14/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	山札から場札への移動
;-----------------------------------------------------------------------------
mov_YB_koi_cpu:				;
	pushm	#r0/r10/r11		;
;	jsr	Fuda_Esect		;
	movz.bw	wbFudaFrmN,r0		;叩く側(捨てる) 札ナンバー
	mov.w	#wFuda,r11		;札ワーク
	shl.w	#$05,r0			;
	add.w	r11,r0			;
	jsr	_fuda_ptp_mov		;
	dec.b	wbFudaMovTim		;
	bnz	end_mov_YB_koi_cpu	;
next_mov_YB_koi_cpu:			;
	cmp.b	#$ff,wbTtoB_fuda	;
	bne	next_mov_YB_koi_cpu_ex	;

	push	r1			;
	mov.b	#SE_FHit2,r1		;ひっくり返す音後半
	jsr	__mya_se		;
	pop	r1			;

	br	next2_mov_YB_koi_cpu	;

next_mov_YB_koi_cpu_ex:			;

	push	r1			;
	mov.b	#SE_FHit1,r1		;札を置く
	jsr	__mya_se		;
	pop	r1			;

	mov.w	#wBa_huda,r0		;
	movz.bw	wbFudaForP,r11		;
	mov.b	wbTtoB_fuda,[r0](r11)	;
	mov.b	#$ff,wbTtoB_fuda	;

next2_mov_YB_koi_cpu:			;
	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
end_mov_YB_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0/r10/r11		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動のイニシャライズ
;-----------------------------------------------------------------------------
ini_all_koi_cpu:			;取った札すべての移動のイニシャライズ
	pushm	#r0/r10-r16/r21-r22	;

	dec.b	wbActWaitTim		;
	bne	fin_ini_all_koi_cpu	;

	mov.b	#$00,wbFuda1_Tim	;タイマー初期化
	mov.b	#$00,wbFuda2_Tim	;
	mov.b	#$00,wbFuda3_Tim	;
	mov.b	#$00,wbFuda4_Tim	;

	mov.w	#wbGetFudaC,r10		;ワーク
	jsr	_Fuda_Shar_Cnt		;カウントしてみる
	jsr	_init_GetFuda_PosC	;ポジションの割り出し

job1_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda1,r1		;
	cmp.w	#$ff,r1			;
	be	job2_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job2_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda2,r1		;
	cmp.w	#$ff,r1			;
	be	job3_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job3_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda3,r1		;
	cmp.w	#$ff,r1			;
	be	job4_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;
job4_ini_all_koi_cpu:			;
	movz.bw	wbBtoT_fuda4,r1		;
	cmp.w	#$ff,r1			;
	be	end_ini_all_koi_cpu	;
	jsr	_init_GetFuda_SetC	;

end_ini_all_koi_cpu:			;

;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや
;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
fin_ini_all_koi_cpu:			;
	popm	#r0/r10-r16/r21-r22	;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札すべての移動
;-----------------------------------------------------------------------------
mov_all_koi_cpu:			;
	pushm	#r0-r3/r10		;
	mov.w	#wFuda,r1		;
mov_all_koi_cpu_job1:			;
	movz.bw	wbFuda1_Tim,r2		;
	mov.b	tMov_All_Fuda1(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_cpu_job2	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job1_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_cpu_job1_ex:

	movz.bw	wbBtoT_fuda1,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job2:			;
	movz.bw	wbFuda2_Tim,r2		;
	mov.b	tMov_All_Fuda2(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_cpu_job3	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job2_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_cpu_job2_ex:

	movz.bw	wbBtoT_fuda2,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job3:			;
	movz.bw	wbFuda3_Tim,r2		;
	mov.b	tMov_All_Fuda3(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_job4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_cpu_job4	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job3_ex

;	push	r1			;
;	mov.b	#$52,r1			;札を切る音
;	jsr	__mya_se		;
;	pop	r1			;

mov_all_koi_cpu_job3_ex:

	movz.bw	wbBtoT_fuda3,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_job4:			;
	movz.bw	wbFuda4_Tim,r2		;
	mov.b	tMov_All_Fuda4(r2),r3	;
	test.b	r3			;
	be	mov_all_koi_cpu_jd1	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_cpu_jd1	;

	cmp.b	#$02,r3			;
	bne	mov_all_koi_cpu_job4_ex

	push	r1			;
	mov.b	#SE_FCut,r1		;札を切る音
	jsr	__mya_se		;
	pop	r1			;

mov_all_koi_cpu_job4_ex:

	movz.bw	wbBtoT_fuda4,r10	;
	shl.w	#$05,r10		;
	add.w	r1,r10			;
	mov.w	r10,r0			;
	jsr	_fuda_ptp_mov		;
mov_all_koi_cpu_jd1:			;
	movz.bw	wbGetIdxC,r2		;取った札のインデックス
	mov.w	#wbGetFudaC,r3		;取った札ワーク
	inc.b	wbFuda1_Tim		;
	cmp.b	#16,wbFuda1_Tim		;
	bne	mov_all_koi_cpu_jd2	;
	cmp.b	#$ff,wbBtoT_fuda1	;
	be	mov_all_koi_cpu_jd2	;
	mov.b	wbBtoT_fuda1,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda1	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd2:			;
	inc.b	wbFuda2_Tim		;
	cmp.b	#20,wbFuda2_Tim		;
	bne	mov_all_koi_cpu_jd3	;
	cmp.b	#$ff,wbBtoT_fuda2	;
	be	mov_all_koi_cpu_jd3	;
	mov.b	wbBtoT_fuda2,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda2	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd3:			;
	inc.b	wbFuda3_Tim		;
	cmp.b	#24,wbFuda3_Tim		;
	bne	mov_all_koi_cpu_jd4	;
	cmp.b	#$ff,wbBtoT_fuda3	;
	be	mov_all_koi_cpu_jd4	;
	mov.b	wbBtoT_fuda3,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda3	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd4:			;
	inc.b	wbFuda4_Tim		;
	cmp.b	#28,wbFuda4_Tim		;
	bne	end_mov_all_koi_cpu	;
	cmp.b	#$ff,wbBtoT_fuda4	;
	be	mov_all_koi_cpu_jd_ex	;
	mov.b	wbBtoT_fuda4,[r3](r2)	;
	mov.b	#$ff,wbBtoT_fuda4	;
;	jsr	_GetFuda_Shar_SetC	;
	inc.w	r2			;
	inc.b	wbGetIdxC		;
mov_all_koi_cpu_jd_ex:			;

;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや
;;	jsr	waitblk			;まあ、待てや

	inc.b	wbKoiDist		;
	mov.b	#10,wbActWaitTim	;ウェイトをかます
end_mov_all_koi_cpu:			;
;	jsr	Fuda_Pri_Man		;
;	jsr	Fuda_Esect		;
	popm	#r0-r3/r10		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札のソート
;-----------------------------------------------------------------------------
srt_pul_koi_cpu:			;
;	pushm	#r15/r16		;

	dec.b	wbActWaitTim		;
	bne	end_srt_pul_koi_cpu	;

;	mov.w	#wbGetFudaC,r15		;P取った札のナンバー
;	mov.w	#wbGetIdxC,r16		;P取った札のインデックス

;	jsr	_Get_Fuda_Req		;移動札を取り札として登録する

	jsr	_GetFuda_Sort_SetC	;

	jsr	_GetFuda_Shar_SetC	;

;	mov.b	#$ff,wbBtoT_fuda1	;後始末
;	mov.b	#$ff,wbBtoT_fuda2	;
;	mov.b	#$ff,wbBtoT_fuda3	;
;	mov.b	#$ff,wbBtoT_fuda4	;

	jsr	_GetFuda_Arg_AgnC	;

	mov.b	#$00,wbFudaFrmN		;初期化
	mov.b	#$00,wbFudaFrmP		;
	mov.b	#$00,wbFudaForN		;
	mov.b	#$00,wbFudaForP		;

	mov.b	#$ff,wbMtoB_fuda	;初期化
	mov.b	#$ff,wbTtoB_fuda	;
	mov.b	#$ff,wbBtoT_fuda1	;
	mov.b	#$ff,wbBtoT_fuda2	;
	mov.b	#$ff,wbBtoT_fuda3	;
	mov.b	#$ff,wbBtoT_fuda4	;
	mov.b	#$00,wbBtoT_fudaC	;

	mov.w	#$00,wBrankFuda		;初期化
	mov.w	#$00,wBrankFuda+$04	;
	mov.w	#$00,wBrankFuda+$08	;

	inc.b	wbKoiDist		;
	mov.b	#_ActWaitTim,wbActWaitTim	;ウェイトをかます
end_srt_pul_koi_cpu:			;
;	popm	#r15/r16		;
	rsr				;
;-----------------------------------------------------------------------------
;	取った札の評価
;-----------------------------------------------------------------------------
eva_pul_koi_cpu:			;
	pushm	#r15-r20		;

	dec.b	wbActWaitTim		;
	bne	end_eva_pul_koi_cpu	;

	mov.w	#wbGetFudaC,r15		;取った札ワークアドレス
	mov.w	#wbYakuJdC,r16		;出来役判定用カウンターワークAD

	jsr	_Huda_val		;取った札の評価

	mov.w	#wbYakuJdC,r15		;出来役判定用カウンターワーク
	mov.w	#wbYakuJd2C,r16		;出来役成立用ワーク(総合)
	mov.w	#wbYakuJd3C,r17		;出来役成立用ワーク(瞬間)
	mov.w	#wbYakuCnt2C,r18	;各出来役文数カウンター
	mov.w	#wbYakuCntC,r19		;総文数カウンター(1回での出来役)
	mov.w	#wbYakuRchC,r20		;出来役リーチ用ワーク

	jsr	_Yaku_val		;出来役の評価

	inc.b	wbKoiDist		;
end_eva_pul_koi_cpu:			;
	popm	#r15-r20		;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出判定
;-----------------------------------------------------------------------------
ini_dir_mom_koi_cpu:			;瞬間での出来役演出判定
	push	r10			;
	mov.w	#wbYakuJd3C,r10		;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_cpu	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_cpu	;
	test.w	[r10+]			;
	bne	job_ini_dir_mom_koi_cpu	;
	add.b	#$04,wbKoiDist		;
	br	end_ini_dir_mom_koi_cpu	;
job_ini_dir_mom_koi_cpu:		;
;	mov.b	#$01,wbDPltCk		;
	mov.b	#$01,wbDPltMode		;
	jsr	_DPlate_Man		;
	mov.b	#$01,wbJdKoiKoi		;コイコイをきく必要性がある
	inc.b	wbKoiDist		;
end_ini_dir_mom_koi_cpu:		;
	dec.b	wbCpuFudaCnt		;札枚数を減らす
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	瞬間での出来役演出
;-----------------------------------------------------------------------------
dir_mom_koi_cpu:			;
	jsr	_DPlate_Man		;
	test.b	wbDPltCk		;
	bne	end_dir_mom_koi_cpu	;
	inc.b	wbKoiDist		;

	test.b	wbMainTask		;
	be	end_dir_mom_koi_cpu	;

	test.b	wbUpCnt			;
	bne	end_dir_mom_koi_cpu	;

	push	r1			;
	mov.b	#21,r1			;こいこい後のアップテンポ
	jsr	__mya_bgm		;
	pop	r1			;

	inc.b	wbUpCnt			;

end_dir_mom_koi_cpu:			;
	rsr				;
;;-----------------------------------------------------------------------------
;;	コイコイする?ウインドウ
;;-----------------------------------------------------------------------------
;win_ask_koi_cpu:			;
;	inc.b	wbKoiDist		;
;	rsr				;
;-----------------------------------------------------------------------------
;	コイコイの選択
;-----------------------------------------------------------------------------
cho_koi_koi_cpu:			;
	push	r10			;
	test.b	wbCpuFudaCnt		;
	be	ex_cho_koi_koi_cpu	;
	movz.bw	wbPerNo,r10		;
	mov.b	tJD_Cpu_KoiKoi(r10),r10	;
	cmp.b	r10,wbCpuFudaCnt	;多い場合は、
	bh	end_cho_koi_koi_cpu	;こいこいします
	mov.b	#$01,wbJdKoiEnd		;こいこいしない
	mov.b	#$00,wbJdKoiKoi		;
	inc.b	wbKoiDist		;
	br	end_cho_koi_koi_cpu	;
ex_cho_koi_koi_cpu:			;最後の1枚の時は、
	mov.b	#$01,wbJdKoiEnd		;こいこいしない
	mov.b	#$00,wbJdKoiKoi		;
	inc.b	wbKoiDist		;
end_cho_koi_koi_cpu:			;
	inc.b	wbKoiDist		;
	pop	r10			;
	rsr				;
;;-----------------------------------------------------------------------------
;;	コイコイのキー入力待ち
;;-----------------------------------------------------------------------------
;wat_koi_koi_cpu:			;
;	inc.b	wbKoiDist		;
;	rsr				;
;-----------------------------------------------------------------------------
;	コイコイしてくれたウインドウ
;-----------------------------------------------------------------------------
win_koi_koi_cpu:			;
	push	r25			;
	test.b	wbJdKoiKoi		;
	be	next_win_koi_koi_cpu	;

	mov.b	#$04,wbKoiWindowAction	;こいこいするよ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_koi_koi_cpu	;

next_win_koi_koi_cpu:			;
	mov.b	#$00,wbJdKoiKoi		;
	inc.b	wbKoiDist		;
end_win_koi_koi_cpu:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	勝ち負けウインドウ
;-----------------------------------------------------------------------------
win_res_koi_cpu:			;
	push	r25			;
	test.b	wbJdKoiEnd		;
	be	next_win_res_koi_cpu	;

	mov.b	#$01,wbRikoSysCk	;リコ・システムOFF

	mov.b	#$06,wbKoiWindowAction	;勝ったよぉ
	jsr	Koi_Window		;
	test.b	r25			;
	bne	end_win_res_koi_cpu	;

	mov.b	#$00,wbJdKoiEnd		;

;	mov.b	#$01,wbSPltCk		;
	mov.b	#$01,wbDPltMode		;

	mov.b	#24,wbKoiTask		;集計処理へ
	mov.b	#$00,wbKoiDist		;
	br	end_win_res_koi_cpu	;

next_win_res_koi_cpu:			;
	inc.b	wbKoiDist		;
end_win_res_koi_cpu:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	後処理
;-----------------------------------------------------------------------------
next_koi_cpu:				;
	mov.b	#$00,wbKoiDist		;
	inc.b	wbKoiTask		;上位タスクも進める
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	究極の選択			;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
t_koi_ex_sum:				;

	dw	Init_koi_ex_sum		;
	dw	JobD_koi_ex_sum		;
	dw	JobS_koi_ex_sum		;
	dw	End_koi_ex_sum		;

koi_ex_sum:				;
	push	r10			;
	movz.bw	wbKoiDist,r10		;
	mov.w	t_koi_ex_sum(r10),r10	;
	jsr	[r10]			;
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
Init_koi_ex_sum:			;
	test1	#$00,wbKoiOrd		;
	bne	jdC_Init_koi_ex_sum	;
jdP_Init_koi_ex_sum:			;
	mov.b	#$01,wbYakuOya		;
	mov.b	#$01,wbRikoSysCk	;リコ・システムOFF
;	mov.b	#$01,wbDPltCk		;ウインドウのセット
	mov.b	#$00,wbDPltMode		;
	jsr	_DPlate_Man		;
	br	end_Init_koi_ex_sum	;
jdC_Init_koi_ex_sum:			;
	mov.b	#$02,wbYakuOya		;
	mov.b	#$01,wbRikoSysCk	;リコ・システムOFF
;	mov.b	#$01,wbDPltCk		;
	mov.b	#$01,wbDPltMode		;
	jsr	_DPlate_Man		;
end_Init_koi_ex_sum:			;
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
JobD_koi_ex_sum:			;
	jsr	_DPlate_Man		;
	test.b	wbDPltCk		;
	bne	end_JobD_koi_ex_sum	;
next_JobD_koi_ex_sum:			;
	inc.b	wbKoiDist		;
end_JobD_koi_ex_sum:			;
	rsr				;
;-----------------------------------------------------------------------------
JobS_koi_ex_sum:			;

	jsr	__mya_bgm_stp		;演奏停止
	jsr	__mya_se_stp		;SE停止
	jsr	Kill_Se_Man		;SEバッファークリアー
	jsr	__mya_bgm_stp		;演奏停止

	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
End_koi_ex_sum:				;
	test1	#$00,wbKoiOrd		;
	bne	jobC_End_koi_ex_sum	;
jobP_End_koi_ex_sum:			;
;	mov.b	#$01,wbSPltCk		;
	mov.b	#$00,wbDPltMode		;
	br	next_end_End_koi_ex_sum	;
jobC_End_koi_ex_sum:			;
;	mov.b	#$01,wbSPltCk		;
	mov.b	#$01,wbDPltMode		;
next_end_End_koi_ex_sum:		;
	mov.b	#$00,wbKoiDist		;
	inc.b	wbKoiTask		;
end_End_koi_ex_sum:			;
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	集計タ~~~~イム
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
tkoi_scr_sum:				;

	dw	init_koi_scr_sum	;前処理
	dw	ent_koi_scr_sum		;ウインドウ登場
	dw	dsp_koi_scr_sum		;出来役表示
	dw	job_koi_scr_sum		;集計処理
	dw	reg_koi_scr_sum		;ウインドウ退場
	dw	next_koi_scr_sum	;後処理
;-----------------------------------------------------------------------------
koi_scr_sum:				;集計タイム
	push	r10			;
	movz.bw	wbKoiDist,r10		;
	mov.w	tkoi_scr_sum(r10),r10	;オラオラオラオラー
	jsr	[r10]			;
	pop	r10			;
	rsr				;
;-----------------------------------------------------------------------------
;	集計処理
;-----------------------------------------------------------------------------
init_koi_scr_sum:			;
	jsr	_SPlate_Man		;
	test.b	wbSPltCk		;ウインドウ処理
	bne	end_init_koi_scr_sum	;
	inc.b	wbKoiDist		;
end_init_koi_scr_sum:			;
	rsr				;
;-----------------------------------------------------------------------------
;	通信対戦用勝ち負けフラグセット
;-----------------------------------------------------------------------------
ent_koi_scr_sum:			;
	test.b	wbRsMode		;
	be	next_ent_koi_scr_sum	;通信対戦以外は関係なし

	test.b	wbPntGirl		;
	be	win_ent_koi_scr_sum	;勝ち
	test.b	wbPntPly		;
	be	lose_ent_koi_scr_sum	;負け
	cmp.b	#$02,wbRsRound		;
	bl	next_ent_koi_scr_sum	;延長戦以外は通常続行
	cmp.b	#$02,wbRsRound		;
	bne	set_ent_koi_scr_sum	;
	cmp.b	wbPntGirl,wbPntPly	;最終戦の場合だね
	be	next_ent_koi_scr_sum	;
	bl	lose_ent_koi_scr_sum	;
	br	win_ent_koi_scr_sum	;
set_ent_koi_scr_sum:			;延長戦の場合だね
	cmp.b	wbPntGirl,wbPntPly	;
	ble	lose_ent_koi_scr_sum	;同点は無いと思うけど
win_ent_koi_scr_sum:			;プレイヤーの勝ち
	mov.b	#$01,wbRsWinJd		;勝ちフラグ
	br	next_ent_koi_scr_sum	;
lose_ent_koi_scr_sum:			;プレイヤーの負け
	mov.b	#$02,wbRsWinJd		;負けフラグ
next_ent_koi_scr_sum:			;
	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	勝ち負け演出
;-----------------------------------------------------------------------------
dsp_koi_scr_sum:			;
	push	r25			;
	test.b	wbRsMode		;
	be	next_dsp_koi_scr_sum	;通常ゲームの場合は関係なし
	test.b	wbRsWinJd		;
	be	next_dsp_koi_scr_sum	;まだ勝負はついていない
	mov.b	wbRsWinJd,wbRs_MsgNo	;
	dec.b	wbRs_MsgNo		;
	jsr	Koi_Rs_Comm		;
	test.b	r25			;
	bne	end_dsp_koi_scr_sum	;
next_dsp_koi_scr_sum:			;
	inc.b	wbKoiDist		;
end_dsp_koi_scr_sum:			;
	pop	r25			;
	rsr				;
;-----------------------------------------------------------------------------
;	ワイプセット
;-----------------------------------------------------------------------------
job_koi_scr_sum:			;
	mov.b	#$00,wbWipeMode		;ワイプセット
	mov.b	#$00,wbWipeIO		;
	mov.b	#$01,wbWipeCk		;

	mov.b	#$00,wbYakuOya		;親権フラグを毎回クリア

;	push	r0			;
;	mov.b	#$fe,r0			;BGMフェードアウト
;	jsr	play_music		;
;	pop	r0			;

	inc.b	wbKoiDist		;
	rsr				;
;-----------------------------------------------------------------------------
;	ワイプアウト
;-----------------------------------------------------------------------------
reg_koi_scr_sum:			;
	test.b	wbWipeCk		;
	bne	end_reg_koi_scr_sum	;
	jsr	__Esect_Kill_All	;エセクト強制終了

	inc.b	wbKoiDist		;
end_reg_koi_scr_sum:			;
	rsr				;
;-----------------------------------------------------------------------------
;	後処理
;-----------------------------------------------------------------------------
next_koi_scr_sum:			;
	mov.b	#$00,wbKoiDist		;
	inc.b	wbKoiTask		;上位タスクも進める
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	サブルーチンの類
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;	_Ba_Cur_YN	; Yes/No選択パネル用
;		in 	: nothing
;		out	: nothing
;-----------------------------------------------------------------------------
_Ba_Cur_YN:				;
	pushm	#r1/r2			;
;	jsr	Esect_Anm		;
	test.b	wbBaCurBusy		;決定したかい?
	bne	kill_Ba_Cur_YN		;終了へ
	mov.w	_Ese_Anm_Tbl[r0],r1	;アニメーションテーブルを確保
	movz.bw	wbBaYNPos,r2		;
	mov.w	[r1](r2),r2		;
	movz.hw	_Ese_Mov_Tim[r0],r1	;
;	shl.w	#$01,r1			;
;	mov.h	[r2](r1),_Ese_Cobj_Num[r0]	;子オブジェの数
	mov.h	[r2](r1),_Ese_Cobj_Pls[r0]	;子オブジェの場所
	inc.h	_Ese_Mov_Tim[r0]	;
	cmp.h	#18,_Ese_Mov_Tim[r0]	;
	bne	end_Ba_Cur_YN		;
	mov.h	#$00,_Ese_Mov_Tim[r0]	;
	br	end_Ba_Cur_YN		;
kill_Ba_Cur_YN:				;
	jsr	Esect_Kill		;コロる
end_Ba_Cur_YN:				;
	popm	#r1/r2			;
	rsr				;
;-----------------------------------------------------------------------------
;	_Ba_Cur_Msg	; 「合わせ札はこれで良いかい?」パネル用
;		in 	: nothing
;		out	: nothing
;-----------------------------------------------------------------------------
_Ba_Cur_Msg:				;
	jsr	Esect_Anm		;
	test.b	wbBaCurBusy		;決定したかい?
	be	end_Ba_Cur_Msg		;
kill_Ba_Cur_Msg:			;
	jsr	Esect_Kill		;コロる
end_Ba_Cur_Msg:				;
	rsr				;
;-----------------------------------------------------------------------------
;	_Ba_Cur		; 場札選択カーソル用
;		in 	: nothing
;		out	: nothing
;-----------------------------------------------------------------------------
_Ba_Cur:				;
	pushm	#r1/r2			;
	test.b	wbBaCurBusy		;決定したかい?
	bne	kill_Ba_Cur		;
pos_Ba_Cur:				;ポジションセット
	movz.bw	wbBaCurPos,r2		;
	shl.w	#$01,r2			;
	mov.h	tBaCurPos(r2),_Ese_Pos_H[r0]	;H
	inc.w	r2			;
	mov.h	tBaCurPos(r2),_Ese_Pos_V[r0]	;V
anm_Ba_Cur:				;アニメーション・パターンセット
	movz.bw	wbBaCurAnm,r1		;
	shl.w	#$01,r1			;
	mov.h	tFuda_cel_cur(r1),_Ese_Cobj_Pls[r0]	;
	inc.w	r1			;
	mov.h	tFuda_cel_cur(r1),_Ese_Cobj_Num[r0]	;
	inc.b	wbBaCurAnm		;
	cmp.b	#20,wbBaCurAnm		;
	bne	end_Ba_Cur		;
	mov.b	#$00,wbBaCurAnm		;
	br	end_Ba_Cur		;
kill_Ba_Cur:				;
	jsr	Esect_Kill		;コロる
end_Ba_Cur:				;
	popm	#r1/r2			;
	rsr				;
;-----------------------------------------------------------------------------
;	_Del_Bafuda	; 場札の登録抹消(仮抹消)
;		in 	: r20(.b) -> 登録抹消する札インデックス
;		out	: nothing
;-----------------------------------------------------------------------------
_Del_Bafuda:				;
	pushm	#r10-r12		;
	mov.w	#wBa_huda,r10		;
	movz.bw	r20,r11			;
	mov.w	#wBrankFuda,r12		;
	mov.b	#$ff,[r10](r11)		;
	mov.b	#$01,[r12](r11)		;こっちにも登録
	popm	#r10-r12		;
	rsr				;
;-----------------------------------------------------------------------------
;	_Ba_Brk_Cnt		; 場札のブランクカウント
;			in	: nothing
;			out	: r20(.b) -> ブランク数
;-----------------------------------------------------------------------------
_Ba_Brk_Cnt:				;場札のブランクカウント
	pushm	#r10-r13		;
	mov.w	#wBa_huda,r10		;
	mov.w	#$00,r11		;
	mov.w	#12,r12			;
	mov.w	#wBrankFuda,r13		;
	mov.b	#$00,r20		;
job_Ba_Brk_Cnt:				;
	cmp.b	#$ff,[r10](r11)		;
	bne	loop_Ba_Brk_Cnt		;
	test.b	[r13](r11)		;正確にチェックする
	bne	loop_Ba_Brk_Cnt		;
	inc.b	r20			;
loop_Ba_Brk_Cnt:			;
	inc.w	r11			;
	dec.w	r12			;
	bnz	job_Ba_Brk_Cnt		;
end_Ba_Brk_Cnt:				;
	popm	#r10-r13		;
	rsr				;
;;-----------------------------------------------------------------------------
;;	_Get_Fuda_Req		;移動札を取り札として登録する
;;			in	:r15(.w) -> 取った札ワークアドレス
;;				:r16(.w) -> 取った札インデックスアドレス
;;			out	:nothing
;;-----------------------------------------------------------------------------
;_Get_Fuda_Req:				;
;	push	r17			;
;	movz.bw	[r16],r17		;インデックスの取得
;_Get_Fuda_Req1:				;
;	cmp.b	#$ff,wbBtoT_fuda1	;
;	be	_Get_Fuda_Req2		;
;	mov.b	wbBtoT_fuda1,[r15](r17)	;
;	inc.w	r17			;
;	inc.b	[r16]			;
;_Get_Fuda_Req2:				;
;	cmp.b	#$ff,wbBtoT_fuda2	;
;	be	_Get_Fuda_Req3		;
;	mov.b	wbBtoT_fuda2,[r15](r17)	;
;	inc.w	r17			;
;	inc.b	[r16]			;
;_Get_Fuda_Req3:				;
;	cmp.b	#$ff,wbBtoT_fuda3	;
;	be	_Get_Fuda_Req4		;
;	mov.b	wbBtoT_fuda3,[r15](r17)	;
;	inc.w	r17			;
;	inc.b	[r16]			;
;_Get_Fuda_Req4:				;
;	cmp.b	#$ff,wbBtoT_fuda4	;
;	be	end_Get_Fuda_Req	;
;	mov.b	wbBtoT_fuda4,[r15](r17)	;
;	inc.w	r17			;
;	inc.b	[r16]			;
;end_Get_Fuda_Req:			;
;	pop	r17			;
;	rsr				;
;-----------------------------------------------------------------------------
;	_Fuda_Shar_Cnt		; 取った札の点数別カウント
;			in	: r10(.w) -> 取った札ワーク
;			out	: r11(.w) -> 00点札の枚数
;				: r12(.w) -> 05点札の枚数
;				: r13(.w) -> 10点札の枚数
;				: r14(.w) -> 20点札の枚数
;-----------------------------------------------------------------------------
_Fuda_Shar_Cnt:					;
	pushm	#r15-r17			;
	mov.w	#$00,r11			;00点札の枚数
	mov.w	#$00,r12			;05点札の枚数
	mov.w	#$00,r13			;10点札の枚数
	mov.w	#$00,r14			;20点札の枚数
	mov.w	#32,r15				;LC
job_Fuda_Shar_Cnt:				;
	movz.bw	[r10+],r16			;
	cmp.w	#$ff,r16			;
	be	end_Fuda_Shar_Cnt		;
	mov.b	tFuda_points(r16),r17		;
job_Fuda_Shar_Cnt00:				;
	test.b	r17				;
	bne	job_Fuda_Shar_Cnt05		;
	inc.w	r11				;
	br	loop__Fuda_Shar_Cnt		;
job_Fuda_Shar_Cnt05:				;
	cmp.b	#$01,r17			;
	bne	job_Fuda_Shar_Cnt10		;
	inc.w	r12				;
	br	loop__Fuda_Shar_Cnt		;
job_Fuda_Shar_Cnt10:				;
	cmp.b	#$02,r17			;
	bne	job_Fuda_Shar_Cnt20		;
	inc.w	r13				;
	br	loop__Fuda_Shar_Cnt		;
job_Fuda_Shar_Cnt20:				;
	inc.w	r14				;
loop__Fuda_Shar_Cnt:				;
	dec.w	r15				;
	bne	job_Fuda_Shar_Cnt		;
end_Fuda_Shar_Cnt:				;
	popm	#r15-r17			;
	rsr					;
;-----------------------------------------------------------------------------
;	_Fuda_Dir_Pos_Set:	: 札の直接ポジションセット
;			in	: r0(.w) -> 札ナンバー
;				: r1(.h) -> H
;				: r2(.h) -> V
;			out	: nothing
;-----------------------------------------------------------------------------
_Fuda_Dir_Pos_Set:				;
	push	r10				;
	mov.w	r0,r10				;逃がす
	shl.w	#$05,r10			;
	add.w	#wFuda,r10			;
	mov.h	r1,_Fuda_posH+$2[r10]		;
	mov.h	r2,_Fuda_posV+$2[r10]		;
	mov.h	#$00,_Fuda_posH[r10]		;
	mov.h	#$00,_Fuda_posV[r10]		;
end_Fuda_Dir_Pos_Set:				;
	pop	r10				;
	rsr					;
;-----------------------------------------------------------------------------
;	_init_GetFuda_PosP	; プレイヤーの札移動ポジション等の割り出し
;			in	: r11(.w) -> 00点札の枚数
;				: r12(.w) -> 05点札の枚数
;				: r13(.w) -> 10点札の枚数
;				: r14(.w) -> 20点札の枚数
;			out	: nothing
;-----------------------------------------------------------------------------
_init_GetFuda_PosP:				;
	pushm	#r15-r17			;
job_init_GetFuda_PosP00:			;
	test.w	r11				;
	bne	job2_init_GetFuda_PosP00	;
	mov.h	#Hpos_PFX00,whGetFudaPos00P	;
	br	job_init_GetFuda_PosP05		;
job2_init_GetFuda_PosP00:			;
	shl.w	#$03,r11			;00点札総ドット数
	movt.wh	r11,r11				;
	neg.h	r11,r11				;
	add.h	#Hpos_PFX00,r11			;
	add.h	#-8,r11				;
	mov.h	r11,whGetFudaPos00P		;置く位置セット
job_init_GetFuda_PosP05:			;
	test.w	r12				;
	bne	job2_init_GetFuda_PosP05	;
	mov.h	#Hpos_PFX05,whGetFudaPos05P	;
	br	job_init_GetFuda_PosP10		;
job2_init_GetFuda_PosP05:			;
	mov.w	r12,r16				;逃がす
	mov.w	r16,r17				;
	mul.w	#26,r12				;05点札総ドット数
	mov.w	#HsizGetFuda05,r15		;
	cmp.w	r15,r12				;
	bh	job3_init_GetFuda_PosP05	;置き領域オーバー
	movt.wh	r12,r12				;
	neg.h	r12,r12				;
	add.h	#26,r12				;
	add.h	#Hpos_PFX05,r12			;
	add.h	#-4,r12				;
	mov.h	r12,whGetFudaPos05P		;
	br	job_init_GetFuda_PosP10		;
job3_init_GetFuda_PosP05:			;
	movt.wh	r15,r15				;
	neg.h	r15,r15				;
	add.h	#Hpos_PFX05,r15			;
	add.h	#-4,r15				;
	mov.h	r15,whGetFudaPos05P		;
job_init_GetFuda_PosP10:			;

	test.w	r13				;
	bne	job2_init_GetFuda_PosP10	;
	mov.h	#Hpos_PFX10,whGetFudaPos10P	;
	br	job_init_GetFuda_PosP20		;
job2_init_GetFuda_PosP10:			;
	mov.w	r13,r16				;逃がす
	mul.w	#26,r13				;10点札総ドット数
	mov.w	#HsizGetFuda10,r15		;
	cmp.w	r15,r13				;
	bh	job3_init_GetFuda_PosP10	;置き領域オーバー
	movt.wh	r13,r13				;
	neg.h	r13,r13				;
	add.h	#26,r13				;
	add.h	#Hpos_PFX10,r13			;
	add.h	#-4,r13				;
	mov.h	r13,whGetFudaPos10P		;
	br	job_init_GetFuda_PosP20		;
job3_init_GetFuda_PosP10:			;
	movt.wh	r15,r15				;
	neg.h	r15,r15				;
	add.h	#Hpos_PFX10,r15			;
	add.h	#-4,r15				;
	mov.h	r15,whGetFudaPos10P		;
job_init_GetFuda_PosP20:			;
	test.w	r14				;
	bne	job2_init_GetFuda_PosP20	;
	mov.h	#Hpos_PFX20,whGetFudaPos20P	;
	br	end_init_GetFuda_PosP		;
job2_init_GetFuda_PosP20:			;
	mov.w	r14,r16				;逃がす
	mul.w	#26,r14				;20点札総ドット数
	mov.w	#HsizGetFuda20,r15		;
	cmp.w	r15,r14				;
	bh	job3_init_GetFuda_PosP20	;置き領域オーバー
	movt.wh	r14,r14				;
	neg.h	r14,r14				;
	add.h	#26,r14				;
	add.h	#Hpos_PFX20,r14			;
	add.h	#-4,r14				;
	mov.h	r14,whGetFudaPos20P		;
	br	end_init_GetFuda_PosP		;
job3_init_GetFuda_PosP20:			;
	movt.wh	r15,r15				;
	neg.h	r15,r15				;
	add.h	#Hpos_PFX20,r15			;
	add.h	#-4,r15				;
	mov.h	r15,whGetFudaPos20P		;

end_init_GetFuda_PosP:				;
	popm	#r15-r17			;
	rsr					;
;-----------------------------------------------------------------------------
;	_init_GetFuda_SetP	; プレイヤーの札移動直前?
;			in	: r1(.w) -> 札ナンバー
;			out	: nothing
;-----------------------------------------------------------------------------
_init_GetFuda_SetP:				;
	pushm	#r0/r21-r22			;
job_init_GetFuda_SetP:				;
	mov.w	r1,r0				;
	shl.w	#$05,r0				;
	add.w	#wFuda,r0			;ワーク先頭の確保
	mov.b	tFuda_points(r1),r1		;
job_init_GetFuda_SetP00:			;
	test.b	r1				;
	bne	job_init_GetFuda_SetP05		;
	mov.h	whGetFudaPos00P,r21		;
	mov.h	#Vpos_PFX00,r22			;
	jsr	_fuda_ptp_mov_init		;
	add.h	#-8,whGetFudaPos00P		;
	br	end_init_GetFuda_SetP		;
job_init_GetFuda_SetP05:			;
	cmp.b	#$01,r1				;
	bne	job_init_GetFuda_SetP10		;
	mov.h	whGetFudaPos05P,r21		;
	mov.h	#Vpos_PFX05,r22			;
	jsr	_fuda_ptp_mov_init		;
	add.h	#-4,whGetFudaPos05P		;
	br	end_init_GetFuda_SetP		;
job_init_GetFuda_SetP10:			;
	cmp.b	#$02,r1				;
	bne	job_init_GetFuda_SetP20		;
	mov.h	whGetFudaPos10P,r21		;
	mov.h	#Vpos_PFX10,r22			;
	jsr	_fuda_ptp_mov_init		;
	add.h	#-4,whGetFudaPos10P		;
	br	end_init_GetFuda_SetP		;
job_init_GetFuda_SetP20:			;
	mov.h	whGetFudaPos20P,r21		;
	mov.h	#Vpos_PFX20,r22			;
	jsr	_fuda_ptp_mov_init		;
	add.h	#-4,whGetFudaPos20P		;
end_init_GetFuda_SetP:				;
	popm	#r0/r21-r22			;
	rsr					;
;-----------------------------------------------------------------------------
;	_GetFuda_Arg_AgnP:	; 取った札の再配置(最新版)
;			in	: nothing
;			out	: nothing
;-----------------------------------------------------------------------------
_GetFuda_Arg_AgnP:			;
	pushm	#r0-r2/r10-r25		;

	mov.w	#wbGetFudaP,r10		;
	jsr	_Fuda_Shar_Cnt		;

	mov.w	#wbGet00FudaP,r20	;
	mov.w	#wbGet05FudaP,r21	;
	mov.w	#wbGet10FudaP,r22	;
	mov.w	#wbGet20FudaP,r23	;

	mov.w	r11,r15			;LC00
	mov.w	r12,r16			;LC05
	mov.w	r13,r17			;LC10
	mov.w	r14,r18			;LC20

job_GetFuda_Arg_AgnP:			;


init_GetFuda_Arg_AgnP00:		;00点札
	test.w	r11			;
	be	init_GetFuda_Arg_AgnP05	;
	mov.h	#Hpos_PFX00,r11		;
job_GetFuda_Arg_AgnP00:			;
	movz.bw	[r20+],r24		;
	mov.w	r24,r0			;
	mov.h	r11,r1			;
	mov.h	#Vpos_PFX00,r2		;
	jsr	_Fuda_Dir_Pos_Set	;
	add.h	#-8,r11			;
loop_GetFuda_Arg_AgnP00:		;
	dec.w	r15			;
	bnz	job_GetFuda_Arg_AgnP00	;
init_GetFuda_Arg_AgnP05:		;05点札
	mov.w	r12,r19			;逃がす
	test.w	r12			;
	be	init_GetFuda_Arg_AgnP10	;除外対象
	mul.w	#26,r12			;取った札の総ドット数
	sha.w	#16,r12			;
	mov.w	#(HsizGetFuda05+26),r25	;MAX幅
	sha.w	#16,r25			;浮動小数点演算用
	cmp.w	r25,r12			;
	bh	init2_GetFuda_Arg_AgnP05	;MAX幅を越えているとき
	mov.w	#-26,r12		;札重なり幅(この場合は無し)
	sha.w	#16,r12			;浮動小数点演算用
	mov.w	#$00,r25		;
	br	job_GetFuda_Arg_AgnP05	;
init2_GetFuda_Arg_AgnP05:		;
	sub.w	r12,r25			;ここでマイナス
	dec.w	r19			;
	div.w	r19,r25			;
	add.w	#$1a0000,r25		;26*65536(浮動小数点演算用)
	mov.w	r25,r12			;
	neg.w	r12,r12			;
	mov.w	#$00,r25		;
job_GetFuda_Arg_AgnP05:			;
	movz.bw	[r21+],r24		;
	mov.w	r24,r0			;
;	mov.w	r12,r1			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_PFX05,r1		;
	mov.h	#Vpos_PFX05,r2		;

	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r12,r25			;
loop_GetFuda_Arg_AgnP05:		;
	dec.w	r16			;
	bnz	job_GetFuda_Arg_AgnP05	;
;-----------------------------------------------------------------------------
init_GetFuda_Arg_AgnP10:		;
	mov.w	r13,r19			;逃がす
	test.w	r13			;
	be	init_GetFuda_Arg_AgnP20	;除外対象
	mul.w	#26,r13			;取った札の総ドット数
	sha.w	#16,r13			;
	mov.w	#(HsizGetFuda10+26),r25	;MAX幅
	sha.w	#16,r25			;
	cmp.w	r25,r13			;
	bh	init2_GetFuda_Arg_AgnP10	;MAX幅を越えているとき
	mov.w	#-26,r13		;札重なり幅(この場合は無し)
	sha.w	#16,r13			;浮動小数点演算用
	mov.w	#$00,r25		;
	br	job_GetFuda_Arg_AgnP10	;
init2_GetFuda_Arg_AgnP10:		;
	sub.w	r13,r25			;ここでマイナス
	dec.w	r19			;
	div.w	r19,r25			;
	add.w	#$1a0000,r25		;26*65536(浮動小数点演算用)
	mov.w	r25,r13			;
	neg.w	r13,r13			;
	mov.w	#$00,r25		;
job_GetFuda_Arg_AgnP10:			;
	movz.bw	[r22+],r24		;
	mov.w	r24,r0			;
;	mov.w	r13,r1			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_PFX10,r1		;
	mov.h	#Vpos_PFX10,r2		;
	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r13,r25			;
loop_GetFuda_Arg_AgnP10:		;
	dec.w	r17			;
	bnz	job_GetFuda_Arg_AgnP10	;
;-----------------------------------------------------------------------------
init_GetFuda_Arg_AgnP20:		;
	mov.w	r14,r19			;逃がす
	test.w	r14			;
	be	end_GetFuda_Arg_AgnP	;除外対象
	mul.w	#26,r14			;取った札の総ドット数
	sha.w	#16,r14			;
	mov.w	#(HsizGetFuda20+26),r25	;MAX幅
	sha.w	#16,r25			;
	cmp.w	r25,r14			;
	bh	init2_GetFuda_Arg_AgnP20	;MAX幅を越えているとき
	mov.w	#-26,r14		;札重なり幅(この場合は無し)
	sha.w	#16,r14			;浮動小数点演算用
	mov.w	#$00,r25		;
	br	job_GetFuda_Arg_AgnP20	;
init2_GetFuda_Arg_AgnP20:		;
	sub.w	r14,r25			;ここでマイナス
	dec.w	r19			;
	div.w	r19,r25			;
	add.w	#$1a0000,r25		;26*65536(浮動小数点演算用)
	mov.w	r25,r14			;
	neg.w	r14,r14			;
	mov.w	#$00,r25		;
job_GetFuda_Arg_AgnP20:			;
	movz.bw	[r23+],r24		;
	mov.w	r24,r0			;
;	mov.w	r14,r1			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_PFX20,r1		;
	mov.h	#Vpos_PFX20,r2		;
	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r14,r25			;
loop_GetFuda_Arg_AgnP20:		;
	dec.w	r18			;
	bnz	job_GetFuda_Arg_AgnP20	;
end_GetFuda_Arg_AgnP:			;
	popm	#r0-r2/r10-r25		;
	rsr				;
;-----------------------------------------------------------------------------
;	_init_GetFuda_PosC	; CPUの札移動ポジション等の割り出し
;			in	: r11(.w) -> 00点札の枚数
;				: r12(.w) -> 05点札の枚数
;				: r13(.w) -> 10点札の枚数
;				: r14(.w) -> 20点札の枚数
;			out	: nothing
;-----------------------------------------------------------------------------
_init_GetFuda_PosC:				;
	pushm	#r15-r17			;
job_init_GetFuda_PosC00:			;
	test.w	r11				;
	bne	job2_init_GetFuda_PosC00	;
	mov.h	#Hpos_CPUColKs,whGetFudaPos00C	;
	br	job_init_GetFuda_PosC05		;
job2_init_GetFuda_PosC00:			;
	mov.w	r11,r16				;逃がす
	mov.w	r16,r17				;
	mul.w	#26,r11				;00点札総ドット数
	mov.w	#HsizGetFudaC00,r15		;
	cmp.w	r15,r11				;
	bh	job3_init_GetFuda_PosC00	;置き領域オーバー
	movt.wh	r11,r11				;
	add.h	#-26,r11			;
	add.h	#Hpos_CPUColKs,r11		;
	add.h	#4,r11				;
	mov.h	r11,whGetFudaPos00C		;
	br	job_init_GetFuda_PosC05		;
job3_init_GetFuda_PosC00:			;
	movt.wh	r15,r15				;
	add.h	#Hpos_CPUColKs,r15		;
	add.h	#4,r15				;
	mov.h	r15,whGetFudaPos00C		;
job_init_GetFuda_PosC05:			;
	add.w	r12,r13				;
	add.w	r14,r13				;3種混同

	test.w	r13				;
	bne	job2_init_GetFuda_PosC05	;
	mov.h	#Hpos_CPUColYaku,whGetFudaPos35C	;
	br	end_init_GetFuda_PosC		;
job2_init_GetFuda_PosC05:			;
	mov.w	r13,r16				;逃がす
	mul.w	#26,r13				;その他の札総ドット数
	mov.w	whGetFudaBMaxC,r15		;
	cmp.w	r15,r13				;
	bh	job3_init_GetFuda_PosC05	;置き領域オーバー
	movt.wh	r13,r13				;
	add.h	#-26,r13			;
	add.h	#Hpos_CPUColYaku,r13		;
	add.h	#4,r13				;
	mov.h	r13,whGetFudaPos35C		;
	br	end_init_GetFuda_PosC		;
job3_init_GetFuda_PosC05:			;
	movt.wh	r15,r15				;
	add.h	#Hpos_CPUColYaku,r15		;
	add.h	#4,r15				;
	mov.h	r15,whGetFudaPos35C		;
end_init_GetFuda_PosC:				;
	popm	#r15-r17			;
	rsr					;
;-----------------------------------------------------------------------------
;	_init_GetFuda_SetC	; CPUの札移動直前?
;			in	: r1(.w) -> 札ナンバー
;			out	: nothing
;-----------------------------------------------------------------------------
_init_GetFuda_SetC:				;
	pushm	#r0/r21-r22			;
job_init_GetFuda_SetC:				;
	mov.w	r1,r0				;
	shl.w	#$05,r0				;
	add.w	#wFuda,r0			;ワーク先頭の確保
	mov.b	tFuda_points(r1),r1		;
job_init_GetFuda_SetC00:			;
	test.b	r1				;
	bne	job_init_GetFuda_SetC05		;
	mov.h	whGetFudaPos00C,r21		;
	mov.h	#Vpos_CPUColKs,r22		;
	jsr	_fuda_ptp_mov_init		;
	add.h	#4,whGetFudaPos00C		;
	br	end_init_GetFuda_SetC		;
job_init_GetFuda_SetC05:			;
	mov.h	whGetFudaPos35C,r21		;
	mov.h	#Vpos_CPUColYaku,r22		;
	jsr	_fuda_ptp_mov_init		;
	add.h	#4,whGetFudaPos35C		;
end_init_GetFuda_SetC:				;
	popm	#r0/r21-r22			;
	rsr					;
;-----------------------------------------------------------------------------
;	_GetFuda_Arg_AgnC:	; 取った札の再配置(最新版)
;			in	: nothing
;			out	: nothing
;-----------------------------------------------------------------------------
_GetFuda_Arg_AgnC:			;
	pushm	#r0-r2/r10-r25		;

	mov.w	#wbGetFudaC,r10		;
	jsr	_Fuda_Shar_Cnt		;

	mov.w	#wbGet00FudaC,r20	;
	mov.w	#wbGet05FudaC,r21	;
	mov.w	#wbGet10FudaC,r22	;
	mov.w	#wbGet20FudaC,r23	;

	mov.w	r11,r15			;LC00
	mov.w	r12,r16			;LC05
	mov.w	r13,r17			;LC10
	mov.w	r14,r18			;LC20

job_GetFuda_Arg_AgnC:			;

init_GetFuda_Arg_AgnC00:		;05点札
	mov.w	r11,r19			;逃がす
	test.w	r11			;
	be	init_GetFuda_Arg_AgnC05	;除外対象
	mul.w	#26,r11			;取った札の総ドット数
	sha.w	#16,r11			;
	mov.w	#(HsizGetFudaC00+26),r25	;MAX幅
	sha.w	#16,r25			;浮動小数点演算用
	cmp.w	r25,r11			;
	bh	init2_GetFuda_Arg_AgnC00	;MAX幅を越えているとき
	mov.w	#26,r11			;札重なり幅(この場合は無し)
	sha.w	#16,r11			;浮動小数点演算用
	mov.w	#$00,r25		;
	br	job_GetFuda_Arg_AgnC00	;
init2_GetFuda_Arg_AgnC00:		;
	sub.w	r11,r25			;ここでマイナス
	dec.w	r19			;
	div.w	r19,r25			;
	add.w	#$1a0000,r25		;26*65536(浮動小数点演算用)
	mov.w	r25,r11			;
	mov.w	#$00,r25		;
job_GetFuda_Arg_AgnC00:			;
	movz.bw	[r20+],r24		;
	mov.w	r24,r0			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_CPUColKs,r1	;
	mov.h	#Vpos_CPUColKs,r2	;

	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r11,r25			;
loop_GetFuda_Arg_AgnC00:		;
	dec.w	r15			;
	bnz	job_GetFuda_Arg_AgnC00	;

;-----------------------------------------------------------------------------
init_GetFuda_Arg_AgnC05:		;

	mov.w	r16,r15			;
	add.w	r17,r16			;LC
	add.w	r18,r16			;LC

	add.w	r13,r12			;
	add.w	r14,r12			;
	mov.w	r12,r19			;逃がす
	test.w	r12			;
	be	end_GetFuda_Arg_AgnC	;除外対象
	mul.w	#26,r12			;取った札の総ドット数
	sha.w	#16,r12			;
	movz.hw	whGetFudaBMaxC,r25	;MAX幅
	add.w	#26,r25			;MAX幅+α
	sha.w	#16,r25			;
	cmp.w	r25,r12			;
	bh	init2_GetFuda_Arg_AgnC05	;MAX幅を越えているとき
	mov.w	#26,r12			;札重なり幅(この場合は無し)
	sha.w	#16,r12			;浮動小数点演算用
	mov.w	#$00,r25		;
	br	ex_job_GetFuda_Arg_AgnC05	;
init2_GetFuda_Arg_AgnC05:		;
	sub.w	r12,r25			;ここでマイナス
	dec.w	r19			;
	div.w	r19,r25			;
	add.w	#$1a0000,r25		;26*65536(浮動小数点演算用)
	mov.w	r25,r12			;
	mov.w	#$00,r25		;

ex_job_GetFuda_Arg_AgnC05:		;

	test.w	r15			;
	be	ex_job_GetFuda_Arg_AgnC10	;

job_GetFuda_Arg_AgnC05:			;
	movz.bw	[r21+],r24		;
	cmp.w	#$ff,r24		;
	be	ex_job_GetFuda_Arg_AgnC10	;コロル
	mov.w	r24,r0			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_CPUColYaku,r1	;
	mov.h	#Vpos_CPUColYaku,r2	;
	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r12,r25			;
loop_GetFuda_Arg_AgnC05:		;
	dec.w	r15			;
	bnz	job_GetFuda_Arg_AgnC05	;

ex_job_GetFuda_Arg_AgnC10:		;

	test.w	r17			;
	be	ex_job_GetFuda_Arg_AgnC20	;
job_GetFuda_Arg_AgnC10:			;
	movz.bw	[r22+],r24		;
	cmp.w	#$ff,r24		;
	be	ex_job_GetFuda_Arg_AgnC20	;
	mov.w	r24,r0			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_CPUColYaku,r1	;
	mov.h	#Vpos_CPUColYaku,r2	;
	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r12,r25			;
loop_GetFuda_Arg_AgnC10:		;
	dec.w	r17			;
	bnz	job_GetFuda_Arg_AgnC10	;

ex_job_GetFuda_Arg_AgnC20:		;

	test.w	r18			;
	be	end_GetFuda_Arg_AgnC	;
job_GetFuda_Arg_AgnC20:			;
	movz.bw	[r23+],r24		;
	cmp.w	#$ff,r24		;
	be	end_GetFuda_Arg_AgnC	;
	mov.w	r24,r0			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_CPUColYaku,r1	;
	mov.h	#Vpos_CPUColYaku,r2	;
	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r12,r25			;
loop_GetFuda_Arg_AgnC20:		;
	dec.w	r18			;
	bnz	job_GetFuda_Arg_AgnC20	;
end_GetFuda_Arg_AgnC:			;
	popm	#r0-r2/r10-r25		;
	rsr				;
;-----------------------------------------------------------------------------
;	Fuda_Pri_Man		; 札表示プライオリティーコントローラー
;			in	: nothing
;			out	: nothing
;-----------------------------------------------------------------------------
Fuda_Pri_Man:				;下から表示すんぞぉ
	pushm	#r10/r11		;
	mov.b	#100,wbFudaPriCnt	;試験的に100から始めてみる

	mov.w	#wPly_Tehuda,r10	;プレイヤーの手札
	mov.w	#08,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wCpu_Tehuda,r10	;CPUの手札
	mov.w	#08,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet00FudaP,r10	;プレイヤーの取った00点札
	mov.w	#24,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet05FudaP,r10	;プレイヤーの取った05点札
	mov.w	#10,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet10FudaP,r10	;プレイヤーの取った10点札
	mov.w	#09,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet20FudaP,r10	;プレイヤーの取った20点札
	mov.w	#05,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet00FudaC,r10	;CPUの取った00点札
	mov.w	#24,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet05FudaC,r10	;CPUの取った05点札
	mov.w	#10,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet10FudaC,r10	;CPUの取った10点札
	mov.w	#09,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbGet20FudaC,r10	;CPUの取った20点札
	mov.w	#05,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wBa_huda,r10		;場札
	mov.w	#12,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbBtoT_fuda4,r10	;手札に叩かれる方
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbBtoT_fuda3,r10	;起き札に叩かれる方
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbBtoT_fuda2,r10	;手札
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbBtoT_fuda1,r10	;起き札
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbTtoB_fuda,r10	;手札から場札への捨て札用ワーク
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	mov.w	#wbMtoB_fuda,r10	;めくり札から場札への移動札ワーク
	mov.w	#01,r11			;
	jsr	_Fuda_Pri_Set		;

	popm	#r10/r11		;
	rsr				;

;-----------------------------------------------------------------------------
;	_Fuda_Pri_Set		; 札表示プライオリティーセット
;			in	: r10(.w) -> 札ナンバーの入っているワークAD
;				: r11(.w) -> ワーク用LC
;			out	: nothing
;-----------------------------------------------------------------------------
_Fuda_Pri_Set:				;
	push	r0			;
job_Fuda_Pri_Set:			;
	mov.b	[r10+],r0		;
	cmp.b	#$ff,r0			;
	be	loop_job_Fuda_Pri_Set	;
	movz.bw	r0,r0			;
	shl.w	#$05,r0			;
	add.w	#wFuda,r0		;
	mov.b	wbFudaPriCnt,_Fuda_pri[r0]	;
	dec.b	wbFudaPriCnt		;
loop_job_Fuda_Pri_Set:			;
	dec.w	r11			;
	bnz	job_Fuda_Pri_Set	;
	pop	r0			;
	rsr				;
;-----------------------------------------------------------------------------
;	_Fuda_Hurry	; 「札を切ってね」表示内部用
;		in 	: nothing
;		out	: nothing
;-----------------------------------------------------------------------------
_Fuda_Hurry:				;
	test.b	wbDemoPlay		;デモプレイ中は、
	bne	Kill_Fuda_Hurry		;コロる
	jsr	Esect_Anm		;
	dec.w	_Ese_Mov_Tbl[r0]	;
	bz	Kill_Fuda_Hurry		;タイマー切れでもコロる
	test.b	wbFudaHurry		;
	bne	end_Fuda_Hurry		;
Kill_Fuda_Hurry:			;
	jsr	Esect_Kill		;コロる
	mov.b	#$00,wbFudaHurry	;
end_Fuda_Hurry:				;
	rsr				;
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	データ領域
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
	.section	data
	.align 4

tJD_Cpu_KoiKoi:		;CPU用コイコイ判断データ(残り枚数依存型)

	db	01		;1人目
	db	02		;2人目
	db	03		;3人目
	db	04		;4人目
	db	04		;5人目

;	db	00		;6人目(隠しキャラ)
;	db	05		;
;	db	06		;
;	db	07		;
;	db	08		;

tTehudaPosP:	;プレイヤー手札HV

	dh	Hpos_PLYHand1-2,Vpos_PLYHand1,Hpos_PLYHand2-2,Vpos_PLYHand2
	dh	Hpos_PLYHand3-2,Vpos_PLYHand3,Hpos_PLYHand4-2,Vpos_PLYHand4
	dh	Hpos_PLYHand5-2,Vpos_PLYHand5,Hpos_PLYHand6-2,Vpos_PLYHand6
	dh	Hpos_PLYHand7-2,Vpos_PLYHand7,Hpos_PLYHand8-2,Vpos_PLYHand8

tTehudaPosC:	;CPU手札HV

	dh	Hpos_CPUHand1,Vpos_CPUHand1,Hpos_CPUHand2,Vpos_CPUHand2
	dh	Hpos_CPUHand3,Vpos_CPUHand3,Hpos_CPUHand4,Vpos_CPUHand4
	dh	Hpos_CPUHand5,Vpos_CPUHand5,Hpos_CPUHand6,Vpos_CPUHand6
	dh	Hpos_CPUHand7,Vpos_CPUHand7,Hpos_CPUHand8,Vpos_CPUHand8

tBahudaPos1:	;場札位置HV

;	dh	Hpos_Table01,Vpos_Table01,Hpos_Table02,Vpos_Table02
	dh	Hpos_Table03,Vpos_Table03,Hpos_Table04,Vpos_Table04
	dh	Hpos_Table05,Vpos_Table05,Hpos_Table06,Vpos_Table06
	dh	Hpos_Table07,Vpos_Table07,Hpos_Table08,Vpos_Table08
	dh	Hpos_Table09,Vpos_Table09,Hpos_Table10,Vpos_Table10
	dh	Hpos_Table11,Vpos_Table11,Hpos_Table12,Vpos_Table12
	dh	Hpos_Table13,Vpos_Table13,Hpos_Table14,Vpos_Table14

tBahudaPos2:	;場札への合わせ位置HV

;	dh	Hpos_Table01+HSpos_Same,Vpos_Table01+VSpos_Same
;	dh	Hpos_Table02+HSpos_Same,Vpos_Table02+VSpos_Same
	dh	Hpos_Table03+HSpos_Same,Vpos_Table03+VSpos_Same
	dh	Hpos_Table04+HSpos_Same,Vpos_Table04+VSpos_Same
	dh	Hpos_Table05+HSpos_Same,Vpos_Table05+VSpos_Same
	dh	Hpos_Table06+HSpos_Same,Vpos_Table06+VSpos_Same
	dh	Hpos_Table07+HSpos_Same,Vpos_Table07+VSpos_Same
	dh	Hpos_Table08+HSpos_Same,Vpos_Table08+VSpos_Same
	dh	Hpos_Table09+HSpos_Same,Vpos_Table09+VSpos_Same
	dh	Hpos_Table10+HSpos_Same,Vpos_Table10+VSpos_Same
	dh	Hpos_Table11+HSpos_Same,Vpos_Table11+VSpos_Same
	dh	Hpos_Table12+HSpos_Same,Vpos_Table12+VSpos_Same
	dh	Hpos_Table13+HSpos_Same,Vpos_Table13+VSpos_Same
	dh	Hpos_Table14+HSpos_Same,Vpos_Table14+VSpos_Same

tBaCurPos:	;場札へのカーソル位置HV

;	dh	Hpos_Ba_Cur01,Vpos_Ba_Cur01,Hpos_Ba_Cur02,Vpos_Ba_Cur02
	dh	Hpos_Ba_Cur03,Vpos_Ba_Cur03,Hpos_Ba_Cur04,Vpos_Ba_Cur04
	dh	Hpos_Ba_Cur05,Vpos_Ba_Cur05,Hpos_Ba_Cur06,Vpos_Ba_Cur06
	dh	Hpos_Ba_Cur07,Vpos_Ba_Cur07,Hpos_Ba_Cur08,Vpos_Ba_Cur08
	dh	Hpos_Ba_Cur09,Vpos_Ba_Cur09,Hpos_Ba_Cur10,Vpos_Ba_Cur10
	dh	Hpos_Ba_Cur11,Vpos_Ba_Cur11,Hpos_Ba_Cur12,Vpos_Ba_Cur12
	dh	Hpos_Ba_Cur13,Vpos_Ba_Cur13,Hpos_Ba_Cur14,Vpos_Ba_Cur14

tAnm_Cur_Yes:
	dw	tAnm_Cur_Yes1,tAnm_Cur_Yes0

tAnm_Cur_No:
	dw	tAnm_Cur_No0,tAnm_Cur_No1

tAnm_Cur_Yes0:	;Yesアニメーション用データ(暗)

	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)
	dh	__Msg_yes0	;Yes(暗)

tAnm_Cur_Yes1:	;Yesアニメーション用データ(明)

	dh	__Msg_yes1	;Yes(明)0
	dh	__Msg_yes1	;Yes(明)0
	dh	__Msg_yes1	;Yes(明)0
	dh	__Msg_yes1	;Yes(明)0
	dh	__Msg_yes1	;Yes(明)0
	dh	__Msg_yes1	;Yes(明)0

	dh	__Msg_yes2	;Yes(明)1
	dh	__Msg_yes2	;Yes(明)1
	dh	__Msg_yes2	;Yes(明)1
	dh	__Msg_yes2	;Yes(明)1
	dh	__Msg_yes2	;Yes(明)1
	dh	__Msg_yes2	;Yes(明)1

	dh	__Msg_yes3	;Yes(明)2
	dh	__Msg_yes3	;Yes(明)2
	dh	__Msg_yes3	;Yes(明)2
	dh	__Msg_yes3	;Yes(明)2
	dh	__Msg_yes3	;Yes(明)2
	dh	__Msg_yes3	;Yes(明)2

tAnm_Cur_No0:	;Noアニメーション用データ(暗)

	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)
	dh	__Msg_no0	;No(暗)

tAnm_Cur_No1:	;Noアニメーション用データ(明)

	dh	__Msg_no1	;No(明)0
	dh	__Msg_no1	;No(明)0
	dh	__Msg_no1	;No(明)0
	dh	__Msg_no1	;No(明)0
	dh	__Msg_no1	;No(明)0
	dh	__Msg_no1	;No(明)0

	dh	__Msg_no2	;No(明)1
	dh	__Msg_no2	;No(明)1
	dh	__Msg_no2	;No(明)1
	dh	__Msg_no2	;No(明)1
	dh	__Msg_no2	;No(明)1
	dh	__Msg_no2	;No(明)1

	dh	__Msg_no3	;No(明)2
	dh	__Msg_no3	;No(明)2
	dh	__Msg_no3	;No(明)2
	dh	__Msg_no3	;No(明)2
	dh	__Msg_no3	;No(明)2
	dh	__Msg_no3	;No(明)2

tMov_All_Fuda4:	;札4の移動

	db	0,0,0,0

tMov_All_Fuda3:	;札3の移動

	db	0,0,0,0

tMov_All_Fuda2:	;札2の移動

	db	0,0,0,0

tMov_All_Fuda1:	;札1の移動

	db	2,1,1,1
	db	1,1,1,1
	db	1,1,1,1
	db	1,1,1,1

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;	エセクト用リクエストデータ
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

tEsect_Ba_cur:	;場カーソル、及びメッセージパネル、その他のリクエスト

;場カーソル
	__mEsect_Init1	_Ba_Cur				;実行プログラム名
	__mEsect_Init2	020,_NullData,__NullData	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	672,480				;H、V
	__mEsect_Init4	tFuda_pos_cur,tFuda_cel_cur	;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;合わせ札はこれでいいですか?
	__mEsect_Init1	_Ba_Cur_Msg			;実行プログラム名
	__mEsect_Init2	020,_Msg_hit1,__Msg_hit1		;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgSel,Vpos_DlgSel		;H、V
	__mEsect_Init4	000,tAnm_Msg1			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;Yes
	__mEsect_Init1	_Ba_Cur_YN			;実行プログラム名
	__mEsect_Init2	020,_Msg_yes1,__Msg_yes1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgYes,Vpos_DlgYes		;H、V
	__mEsect_Init4	000,tAnm_Cur_Yes		;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;No
	__mEsect_Init1	_Ba_Cur_YN			;実行プログラム名
	__mEsect_Init2	020,_Msg_no0,__Msg_no0		;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgNo,Vpos_DlgNo		;H、V
	__mEsect_Init4	000,tAnm_Cur_No			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	STOP

tEsect_Koi_Ok:	;コイコイするかい? セット JS版

;こいこいする?

	__mEsect_Init1	_Ba_Cur_Msg			;実行プログラム名
	__mEsect_Init2	020,_Msg_koi1,__Msg_koi1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgCall,Vpos_DlgCall	;H、V
	__mEsect_Init4	000,tAnm_Msg2			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;Yes
	__mEsect_Init1	_Ba_Cur_YN			;実行プログラム名
	__mEsect_Init2	020,_Msg_yes1,__Msg_yes1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgYes2,Vpos_DlgYes2	;H、V
	__mEsect_Init4	000,tAnm_Cur_Yes		;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;No
	__mEsect_Init1	_Ba_Cur_YN			;実行プログラム名
	__mEsect_Init2	020,_Msg_no0,__Msg_no0		;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgNo2,Vpos_DlgNo2		;H、V
	__mEsect_Init4	000,tAnm_Cur_No			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	STOP

tEsect_Koi_Ok2:	;コイコイするかい? セット KB版

;こいこいする?

	__mEsect_Init1	_Ba_Cur_Msg			;実行プログラム名
	__mEsect_Init2	020,_Msg_koi1,__Msg_koi1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgCall,Vpos_DlgCall	;H、V
	__mEsect_Init4	000,tAnm_Msg2			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;YesA
	__mEsect_Init1	_Ba_Cur_Msg			;実行プログラム名
	__mEsect_Init2	020,_MsgM_yes1,__MsgM_yes1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgYes2,Vpos_DlgYes2	;H、V
	__mEsect_Init4	000,tAnm_Yes_KB			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

;NoN
	__mEsect_Init1	_Ba_Cur_Msg			;実行プログラム名
	__mEsect_Init2	020,_MsgM_no1,__MsgM_no1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	Hpos_DlgNo2,Vpos_DlgNo2		;H、V
	__mEsect_Init4	000,tAnm_No_KB			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	STOP

tEsect_Fuda_Hurry:		;「札を切ってね」

	__mEsect_Init1	_Fuda_Hurry			;実行プログラム名
	__mEsect_Init2	020,_Msg_hury1,__Msg_hury1	;プライオリティー,子オブジェの数,子オブジェの場所
	__mEsect_Init3	16*8,16*3+8			;H、V
	__mEsect_Init4	120,tAnm_Msg3			;移動テーブル先頭アドレス、アニメーションテーブルアドレス

	STOP

;-----------------------------------------------------------------------------
;	エセクト用アニメデータ
;-----------------------------------------------------------------------------
tAnm_Msg1:
	__mEsect_Anm	$ffff,tCel_Msg1
	STOP
tCel_Msg1:
	__mEsect_Cel	006,_Msg_hit1,__Msg_hit1	;「合わせ札はこれでいい?」0
	__mEsect_Cel	006,_Msg_hit2,__Msg_hit2	;「合わせ札はこれでいい?」1
	__mEsect_Cel	006,_Msg_hit3,__Msg_hit3	;「合わせ札はこれでいい?」2
	STOP

tAnm_Msg2:
	__mEsect_Anm	$ffff,tCel_Msg2
	STOP
tCel_Msg2:
	__mEsect_Cel	006,_Msg_koi1,__Msg_koi1	;「こいこいする?」0
	__mEsect_Cel	006,_Msg_koi2,__Msg_koi2	;「こいこいする?」1
	__mEsect_Cel	006,_Msg_koi3,__Msg_koi3	;「こいこいする?」2
	STOP

tAnm_Msg3:
	__mEsect_Anm	$ffff,tCel_Msg3
	STOP
tCel_Msg3:
	__mEsect_Cel	006,_Msg_hury1,__Msg_hury1	;「札を切ってね」0
	__mEsect_Cel	006,_Msg_hury2,__Msg_hury2	;「札を切ってね」1
	__mEsect_Cel	006,_Msg_hury3,__Msg_hury3	;「札を切ってね」2
	STOP

tAnm_Yes_KB:
	__mEsect_Anm	$ffff,tCel_Yes_KB
	STOP
tCel_Yes_KB:
	__mEsect_Cel	006,_MsgM_yes1,__MsgM_yes1	;YesA(明)0
	__mEsect_Cel	006,_MsgM_yes2,__MsgM_yes2	;YesA(明)1
	__mEsect_Cel	006,_MsgM_yes3,__MsgM_yes3	;YesA(明)2
	STOP

tAnm_No_KB:
	__mEsect_Anm	$ffff,tCel_No_KB
	STOP
tCel_No_KB:
	__mEsect_Cel	006,_MsgM_no1,__MsgM_no1	;NoN(明)0
	__mEsect_Cel	006,_MsgM_no2,__MsgM_no2	;NoN(明)1
	__mEsect_Cel	006,_MsgM_no3,__MsgM_no3	;NoN(明)2
	STOP

;-----------------------------------------------------------------------------
		end

        mov.w	r24,r0			;
	mov.w	r25,r1			;
	sha.w	#-16,r1			;
	movt.wh	r1,r1			;
	add.h	#Hpos_CPUColKs,r1	;
	mov.h	#Vpos_CPUColKs,r2	;

	jsr	_Fuda_Dir_Pos_Set	;
	add.w	r11,r25			;
loop_GetFuda_Arg_AgnC00:		;
	dec.w	r15			;
	bnz	job_GetFuda_Arg_AgnC00	;

;-----------------------------------------------------------------------------
init_