⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hf0803.asm

📁 FLASH烧录 麻将机。。。。 FLASH烧录 麻将机
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		LDA	#21
		STA	LCDX
		STZ	LCDY
		LDA	#144
		JSR	DISP_NUMBER	 
		LDA	#5
		STA	LCDY
		JSR	CLS_LINE
		LDA	#1
		STA	LCDX
		LDA	#<STR07
		STA	PtrL
		LDA	#>STR07
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#6
		STA	LCDY
		JSR	CLS_LINE
		LDA	#6
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR08
		STA	PtrL
		LDA	#>STR08
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#2
		JSR	JugeProSelec
		JSR	DPFobidSelec		
		JSR	JugeBlackPage0
		RTS
DrawR:
		LDA	#<OSTR
		STA	PtrL
		LDA	#>OSTR
		STA	PtrH
		JSR	DRAW_STRING
		RTS
DrawRight:
		LDA	#<STR
		STA	PtrL
		LDA	#>STR
		STA	PtrH
		JSR	DRAW_STRING
		RTS			
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;页面0的处理过程,pageup,pagedown enter, cancel,up,down,left,right
P0PowedownMode:
		SMB0	<KeyFlag
		JMP	PowerDown
Page0KeyDone:
		LDA	KeyCode
		CMP	#onoffkey
		BEQ	P0PowedownMode
		CMP	#pageupkey
		BEQ	Page0Add
		CMP	#pagedownkey
		BEQ	Page0Sub
		CMP	#upkey
		BEQ	Page0upkeydone
		CMP	#downkey
		BEQ	Page0downkeydone
		CMP	#enterkey
		BEQ	Page0enterdonePR
		CMP	#cancelkey
		BEQ	Page0canceldonePR
		CMP	#leftkey
		BEQ	Page0leftdone
		CMP	#rightkey
		BEQ	Page0rightdone
		JMP	KeyDoneEnd
Page0enterdonePR:
		JMP	Page0enterdone
Page0canceldonePR:
		JMP	Page0canceldone
Page0leftdone:
		JMP	AddSSubPage0
		JMP	KeyDoneEnd
Page0rightdone:
		JMP	AddSubPage0		
		JMP	KeyDoneEnd			
Page0Add:
		LDA	#1
		STA	PageNum
		ldx     #000h
    		JSR     FillScreen
		LDA	#1
		STA	Page1Menu
		SMB0	<KeyFlag
		JMP	KeyDoneEnd
Page0Sub:
		SMB0	<KeyFlag
		JMP	KeyDoneEnd

Page0upkeydone:
		SMB0	<KeyFlag
		LDA	Page0Menu
		CMP	#3
		BEQ	Page0upkeydone1	
		JSR	JugeBlackPage0
		JSR	ClerRow		
		INC	Page0Menu
		JSR	JugeBlackPage0
		JMP	KeyDoneEnd
Page0upkeydoneEnd:
		JMP	KeyDoneEnd
Page0upkeydone1:
		LDA	#1
		STA	PageNum
		LDX	#0
		JSR	FillScreen
		LDA	#1
		STA	Page1Menu
		JMP	Page0upkeydoneEnd
Page0downkeydone:
		SMB0	<KeyFlag
		LDA	Page0Menu
		CMP	#1
		BEQ	Page0downkeydoneEnd
		JSR	JugeBlackPage0
		JSR	ClerRow
		DEC	Page0Menu
		JSR	JugeBlackPage0
		SMB0	<KeyFlag
Page0downkeydoneEnd:
		JMP	KeyDoneEnd		
AddSubPage0:
		LDA	Page0Menu
		CMP	#1
		BEQ	AddPlayMeth
		CMP	#2
		BEQ	AddProSelecPR
		CMP	#3
		BEQ	AddFobidSelecPR
		RTS
AddProSelecPR:
		JMP	AddProSelec
AddFobidSelecPR:
		JMP	AddFobidSelec
AddSSubPage0:
		LDA	Page0Menu
		CMP	#1
		BEQ	SubPlayMethPR
		CMP	#2
		BEQ	SubProSelecPR
		CMP	#3
		BEQ	SubFobidSelecPR
		RTS
SubPlayMethPR:
		JMP	SubPlayMeth
SubProSelecPR:
		JMP	SubProSelec
SubFobidSelecPR:
		JMP	SubFobidSelec
Page0enterdone:
		SMB1	<SystemFlag
		SMB0	<KeyFlag
		JMP	KeyDoneEnd
Page0canceldone:
		RMB1	<SystemFlag
		SMB0	<KeyFlag
		JMP	KeyDoneEnd
ClerRow:
		LDA	Page0Menu
		CMP	#1
		BEQ	ClerRow1
		CMP	#2
		BEQ	ClerRow2
		CMP	#3
		BEQ	ClerRow3
		RTS
ClerRow1:
		STZ	LCDX
		STZ	LCDY
		JSR	CLS_CHAR12x12
		RTS
ClerRow2:
		STZ	LCDX
		LDA	#5
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
ClerRow3:
		STZ	LCDX
		LDA	#6
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;增加牌张数
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AddPlayMeth:
		LDA	CardNumKind								;牌张数种类,108,136,144
		CMP	#2
		BEQ	ToCardKindEnd
		JSR	ClerPlayMethRow
		INC	CardNumKind
		JSR	JugePerNum
		JSR	JugeCardNum
ToCardKindEnd:
		RTS
DPerNum3PR:
		JMP	DPerNum3
DPerNum2PR:
		JMP	DPerNum2
DPerNum1PR:
		JMP	DPerNum1
JugePerNum:
		LDX	CardNumKind
		LDA	CardKidTbl,X
		CMP	#108
		BEQ	DPerNum1PR
		CMP	#136
		BEQ	DPerNum2PR
		CMP	#144
		BEQ	DPerNum3PR
JugePerNumEnd:
		LDA	#1
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR03
		STA	PtrL
		LDA	#>STR03
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#7
		STA	LCDX
		LDA	#1
		STA	LCDY
		LDA	PerNum1
		JSR	DISP_NUMBER
		LDA	#2
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR04
		STA	PtrL
		LDA	#>STR04
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#7
		STA	LCDX
		LDA	#2
		STA	LCDY
		LDA	PerNum2
		JSR	DISP_NUMBER
		LDA	#3
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR05
		STA	PtrL
		LDA	#>STR05
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#7
		STA	LCDX
		LDA	#3
		STA	LCDY
		LDA	PerNum1
		JSR	DISP_NUMBER
		LDA	#4
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR06
		STA	PtrL
		LDA	#>STR06
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#7
		STA	LCDX
		LDA	#4
		STA	LCDY
		LDA	PerNum2
		JSR	DISP_NUMBER
		RTS		
DPerNum1:	
			LDA	#14	
			STA	PerNum1							;东西墩数
			LDA	#13
			STA	PerNum2
			JMP	JugePerNumEnd
DPerNum2:
			LDA	#17	
			STA	PerNum1							;东西墩数
			LDA	#17
			STA	PerNum2
			JMP	JugePerNumEnd	
DPerNum3:
			LDA	#18	
			STA	PerNum1							;东西墩数
			LDA	#18
			STA	PerNum2
			JMP	JugePerNumEnd
JugeCardNum:
			LDA	CardNumKind	
			CMP	#0
			BEQ	DCardNum1
			CMP	#1
			BEQ	DCardNum2
			CMP	#2
			BEQ	DCardNum3
			RTS
DCardNum1:
			LDA	#108
			STA	CardNum
			LDA	#5
			STA	LCDX
			STZ	LCDY
			JSR	DrawRight
			LDA	#27
			STA	PositonEndIDS
			LDA	#55
			STA	PositonEndIDW
			LDA	#81
			STA	PositonEndIDN
			RTS
DCardNum2:
			LDA	#136
			STA	CardNum
			LDA	#9
			STA	LCDX
			STZ	LCDY
			JSR	DrawRight
			LDA	#35
			STA	PositonEndIDS
			LDA	#69
			STA	PositonEndIDW
			LDA	#103
			STA	PositonEndIDN
			RTS
DCardNum3:
			LDA	#144
			STA	CardNum
			LDA	#13
			STA	LCDX
			STZ	LCDY
			JSR	DrawRight
			LDA	#37
			STA	PositonEndIDS
			LDA	#73
			STA	PositonEndIDW
			LDA	#109
			STA	PositonEndIDN
			RTS
ClerPlayMethRow:
			LDA	CardNumKind
			CMP	#0	
			BEQ	ClerPlayMeth1Row
			CMP	#1
			BEQ	ClerPlayMeth2Row
			CMP	#2
			BEQ	ClerPlayMeth3Row
			RTS
ClerPlayMeth1Row:
			LDA	#5
			STA	LCDX
			STZ	LCDY
			JSR	CLS_CHAR12x12
			RTS
ClerPlayMeth2Row:
			LDA	#9
			STA	LCDX
			STZ	LCDY
			JSR	CLS_CHAR12x12
			RTS
ClerPlayMeth3Row:
			LDA	#13
			STA	LCDX
			STZ	LCDY
			JSR	CLS_CHAR12x12
			RTS
										
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;减少牌张数
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ToCardKindEndPR:
		JMP	ToCardKindEnd
SubPlayMeth:
		LDA	CardNumKind
		CMP	#0
		BEQ	ToCardKindEndPR
		JSR	ClerPlayMethRow
		DEC	CardNumKind
		JSR	JugePerNum								;牌张数种类,108,136,144
SubPlayMeth2:
		JSR	JugeCardNum
		RTS				
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;连庄抢庄选择
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AddProSelec:
		LDA	ProSelec										;程序选择连庄抢庄
		CMP	#2
		BEQ	ToEndSelec
		INC	ProSelec
		JSR	ProSelec1In
		JSR	JugeProSelec
		JSR	ProSelec1In
		RTS
		
JugeProSelec:
		LDA	ProSelec
		CMP	#1
		BEQ	IsProSelec1
		CMP	#2
		BEQ	IsProSelec2
		
		RTS
ToEndSelec:
		RTS
SubProSelec:
		LDA	ProSelec										;程序选择连庄抢庄
		CMP	#1
		BEQ	ToEndSelec
		DEC	ProSelec
		JSR	ProSelec1In
		JSR	JugeProSelec
		JSR	ProSelec1In		
		RTS

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;连庄程序选择++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IsProSelec1:
		LDA	#6
		STA	LCDX
		LDA	#5
		STA	LCDY
		JSR	DrawRight
		LDA	#12
		STA	LCDX
		LDA	#5
		STA	LCDY
		JSR	CLS_CHAR12x12
		LDA	#55H
		STA	ProgramSelectOne
		STA	ProgramSelectOne+1
		RTS
ProSelec1In:
		LDA	#7
		STA	LCDY
		STZ	LCDX
		LDA	#7
		STA	STRCNT
		JSR	InVideo
		RTS
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;抢庄程序选择++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IsProSelec2:
		LDA	#12
		STA	LCDX
		LDA	#5
		STA	LCDY
		JSR	DrawRight
		LDA	#6
		STA	LCDX
		LDA	#5
		STA	LCDY
		JSR	CLS_CHAR12x12
		LDA	#AAH
		STA	ProgramSelectOne
		STA	ProgramSelectOne+1
		RTS	
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;禁止选牌张数
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++		
AddFobidSelec:
		LDA	ForbidCardKind
		CMP	#3
		BEQ	AddFobidSelecEnd
		INC	ForbidCardKind							;禁止选牌张数
		JSR	DPFobidSelec
		JSR	JugeBlackPage0
		RTS
AddFobidSelecEnd:
		RTS		
DPFobidSelec:
		LDA	ForbidCardKind
		CMP	#1
		BEQ	DPFobidSelec0
		CMP	#2
		BEQ	DPFobidSelec2
		CMP	#3
		BEQ	DPFobidSelec4
		RTS
DPFobidSelec0:
		LDA	#6
		STA	LCDY
		LDA	#8
		STA	LCDX
		JSR	DrawRight
		LDA	#6
		STA	LCDY
		LDA	#12
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#6
		STA	LCDY
		LDA	#16
		STA	LCDX
		JSR	CLS_CHAR12x12
		STZ	ForbidCard
		RTS
DPFobidSelec2:
		LDA	#6
		STA	LCDY
		LDA	#12
		STA	LCDX
		JSR	DrawRight
		LDA	#6
		STA	LCDY
		LDA	#8
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#6
		STA	LCDY
		LDA	#16
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#2
		STA	ForbidCard
		RTS
DPFobidSelec4:
		LDA	#6
		STA	LCDY
		LDA	#16
		STA	LCDX
		JSR	DrawRight
		LDA	#6
		STA	LCDY
		LDA	#8
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#6
		STA	LCDY
		LDA	#12
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#4
		STA	ForbidCard
		RTS

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;		LDA	#12
;		STA	LCDX
;		LDA	#6
;		STA	LCDY
;		LDA	ForbidCard
;		JSR	DISP_NUMBER
;		RTS
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SubFobidSelec:
		LDA	ForbidCardKind
		CMP	#1
		BEQ	SubFobidSelecEnd
		DEC	ForbidCardKind							;禁止选牌张数
		JSR	DPFobidSelec
		JSR	JugeBlackPage0

SubFobidSelecEnd:
		RTS

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++						 
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;判断反色位置
JugeBlackPage0:
		LDA	Page0Menu
		CMP	#1
		BEQ	Page0Menu1
		CMP	#2
		BEQ	Page0Menu2
		CMP	#3
		BEQ	Page0Menu3
Page0Menu1:
		STZ	LCDX
		STZ	LCDY
		JSR	DrawR
		RTS
Page0Menu2:
		STZ	LCDX
		LDA	#5
		STA	LCDY
		JSR	DrawR
		RTS
Page0Menu3:
		STZ	LCDX
		LDA	#6
		STA	LCDY
		JSR	DrawR
		RTS				 
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;页面1 
SetupPage1:
		LDA	#1
		STA	OldPageNum
		LDA	#1
		STA	LCDX
		STZ	LCDY
		LDA	#<STR20
		STA	PtrL
		LDA	#>STR20
		STA	PtrH
		JSR	DRAW_STRING
		JSR	SeleWashTime
		LDA	#1
		STA	LCDY 
		STA	LCDX
		LDA	#<STR21
		STA	PtrL
		LDA	#>STR21
		STA	PtrH
		JSR	DRAW_STRING
		JSR	PlayChangeM
		LDA	#2
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR23
		STA	PtrL
		LDA	#>STR23
		STA	PtrH
		JSR	DRAW_STRING
		JSR	TurnPoleM
		LDA	#3
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR25
		STA	PtrL
		LDA	#>STR25
		STA	PtrH
		JSR	DRAW_STRING
		JSR	TuchMe
		LDA	#4
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR27
		STA	PtrL
		LDA	#>STR27
		STA	PtrH
		JSR	DRAW_STRING		
		JSR	PrintColorD
		LDA	#5
		STA	LCDY
		LDA	#1
		STA	LCDX
		LDA	#<STR28
		STA	PtrL
		LDA	#>STR28
		STA	PtrH
		JSR	DRAW_STRING
		JSR	AllowErTime
;		LDA	#6
;		STA	LCDY
;		LDA	#1
;		STA	LCDX
;		LDA	#<STR30
;		STA	PtrL
;		LDA	#>STR30
;		STA	PtrH
;		JSR	DRAW_STRING
;		JSR	TakeCardC
;		LDA	#<STR31
;		STA	PtrL
;		LDA	#>STR31
;		STA	PtrH
;		LDA	#1
;		STA	LCDX
;		LDA	#7
;		STA	LCDY
;		JSR	DRAW_STRING
;		JSR	ABCSelect
;		LDA	#1
;		STA	LCDX
;		LDA	#8
;		STA	LCDY
;		LDA	#<STR29
;		STA	PtrL
;		LDA	#>STR29
;		STA	PtrH
;		JSR	DRAW_STRING
;		JSR	SeleCardQL
		JSR	JugeBlackPage1			
		RTS
P1PowedownMode:
		SMB0	<KeyFlag
		JMP	PowerDown		
Page1KeyDone:
		LDA	KeyCode
		CMP	#onoffkey
		BEQ	P1PowedownMode
		CMP	#pageupkey
		BEQ	Page1AddPR
		CMP	#pagedownkey
		BEQ	Page1SubPR
		CMP	#upkey
		BEQ	Page1upkeydone
		CMP	#downkey
		BEQ	Page1downkeydone
		CMP	#enterkey
		BEQ	Page1enterdonePR
		CMP	#cancelkey
		BEQ	Page1canceldonePR
		CMP	#leftkey
		BEQ	Page1leftdone
		CMP	#rightkey
		BEQ	Page1rightdone
		JMP	KeyDoneEnd
Page1AddPR:
		JMP	Page1Add
Page1SubPR:
		JMP	Page1Sub
Page1enterdonePR:
		JMP	Page1enterdone
Page1canceldonePR:
		JMP	Page1canceldone
Page1leftdone:
		JMP	AddSSubPage1
		JMP	KeyDoneEnd
Page1rightdone:
		JMP	AddSubPage1
		JMP	KeyDoneEnd
Page1upkeydone:
		SMB0	<KeyFlag
		RMB1	<SystemFlag
		LDA	Page1Menu
		CMP	#6
		BEQ	Page1upkeydone1
		JSR	ClerRowPag1			
		INC	Page1Menu
		JSR	JugeBlackPage1
Page1upkeydoneEnd:
		JMP	KeyDoneEnd
Page1upkeydone1:
		INC	PageNum
		ldx     #000h
                JSR     FillScreen
		STZ	Page2Menu
		JMP	Page1upkeydoneEnd		
Page1downkeydone:
		SMB0	<KeyFlag
		RMB1	<SystemFlag
		LDA	Page1Menu
		CMP	#1
		BEQ	Page1downkeydone1	
		JSR	JugeBlackPage1
		JSR	ClerRowPag1		
		DEC	Page1Menu
		JSR	JugeBlackPage1
Page1downkeydoneEnd:
		JMP	KeyDoneEnd
Page1downkeydone1:
		DEC	PageNum
		ldx     #000h
                JSR     FillScreen
		LDA	#3
		STA	Page0Menu
		JMP	Page1downkeydoneEnd					 
Page1Add:
		SMB0	<KeyFlag
		INC	PageNum
		ldx     #000h
                JSR     FillScreen
		LDA	#0
		STA	Page2Menu
		JMP	KeyDoneEnd
Page1Sub:
		SMB0	<KeyFlag
		DEC	PageNum
		ldx     #000h
                JSR     FillScreen
		LDA	#1
		STA	Page1Menu
		JMP	KeyDoneEnd

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -