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

📄 hf0803.asm

📁 FLASH烧录 麻将机。。。。 FLASH烧录 麻将机
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#6
		STA	LCDY
		LDA	#16
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#4
		STA	TakeCardCount
		RTS
TakeCardC5:
		LDA	#6
		STA	LCDY
		LDA	#16
		STA	LCDX
		JSR	DrawRight
		LDA	#6
		STA	LCDY
		LDA	#6
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#6
		STA	LCDY
		LDA	#12
		STA	LCDX
		JSR	CLS_CHAR12x12
		LDA	#5
		STA	TakeCardCount
		RTS	
		
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;清除AB区域
ClerABALL:
		LDY	#13
ClerABLoop:
		DEY
		LDA	#<OddIDin
		LDA	#>OddIDin
		LDA	#0
		STA	OddIDin,Y
		STA	OddIDinB,Y
		CPY	#0
		BNE	ClerABLoop
		RTS	 
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ABCSelect:
		LDA	ABCKind
		CMP	#1
		BEQ	ABCSelect1
		CMP	#2
		BEQ	ABCSelect2
		CMP	#3
		BEQ	ABCSelect3
		RTS					 
ABCSelect1:
		LDA	#8
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DrawRight
		LDA	#12
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		LDA	#16
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
ABCSelect2:
		LDA	#12
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DrawRight
		LDA	#8
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		LDA	#16
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
ABCSelect3:
		LDA	#16
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DrawRight
		LDA	#8
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		LDA	#12
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;选牌的种类
SeleCardQL:
		LDA	SeleCardQLKind
		CMP	#1
		BEQ	SeleCardL
		CMP	#2
		BEQ	SeleCardQ
		RTS
SeleCardL:
		LDA	#8
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DrawRight
		LDA	#13
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS
SeleCardQ:
		LDA	#13
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DrawRight
		LDA	#8
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	CLS_CHAR12x12
		RTS													 
LoadDEFPage:
		LDA	#1
		STA	ProSelec
		STA	Page3Sub1Memu
		STZ	ForbidCard
		LDA	#1
		STA	WashTimeKind
		STA	PChangeM
		STA	TurnPM
		LDA	#2
		STA	TuchM
		STZ	Etime1
		STZ	Etime2
		STZ	Etime3
		STZ	Stime1
		STZ	Stime2
		STZ	Stime3
		STZ	Wtime1
		STZ	Wtime2
		STZ	Wtime3
		STZ	Ntime1
		STZ	Ntime2
		STZ	Ntime3
		RTS
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetupPage2New:
		LDA	#2
		STA	OldPageNum
		LDA	#<STR31
		STA	PtrL
		LDA	#>STR31
		STA	PtrH
		LDA	#1
		STA	LCDX
		LDA	#0
		STA	LCDY
		JSR	DRAW_STRING
		JSR	ABCSelect
		LDA	Page2Menu
		PHA
		JSR	DiP2All1
		PLA
		STA	Page2Menu
		LDA	#1
		STA	LCDX
		LDA	#2
		STA	LCDY
		LDA	#<STR41
		STA	PtrL
		LDA	#>STR41
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#1
		STA	LCDX
		LDA	#4
		STA	LCDY
		LDA	#<STR43
		STA	PtrL
		LDA	#>STR43
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#1
		STA	LCDX
		LDA	#6
		STA	LCDY
		LDA	#<STR45
		STA	PtrL
		LDA	#>STR45
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#1
		STA	LCDX
		LDA	#8
		STA	LCDY
		LDA	#<STR47
		STA	PtrL
		LDA	#>STR47
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#1
		STA	LCDX
		STA	LCDY
		LDA	#<STRAB
		STA	PtrL
		LDA	#>STRAB
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#12
		STA	LCDX
		LDA	#1
		STA	LCDY
		JSR	LoadABCOdd
		LDA	OddID
		JSR	DISP_NUMBER
		LDA	#0
		LDA	#27
		STA	LCDX
		LDA	#1
		STA	LCDY
		LDA	SaveOddIDB
		JSR	DISP_NUMBER
		JSR	JugeP2In
		RTS
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;第三页	
SetupPage2:
		LDA	#2
		STA	OldPageNum
		LDA	#1
		STA	LCDX
		LDA	#3
		STA	LCDY
		LDA	#<STR40
		STA	PtrL
		LDA	#>STR40
		STA	PtrH
		JSR	DRAW_STRING
		JSR	DiP2All1
		JSR	DrawCountOfDir
		RMB1	<SystemFlag
		JSR	JugeP2In
		JSR	DispP2Card
		JSR	Disp13CardNum
		RTS
P2PowedownMode:
		SMB0	<KeyFlag
		JMP	PowerDown
Page2KeyDone:
		LDA	KeyCode
		CMP	#onoffkey
		BEQ	P2PowedownMode
		CMP	#pageupkey
		BEQ	Page2Add
		CMP	#pagedownkey
		BEQ	Page2Sub
		CMP	#upkey
		BEQ	Page2Adddone
		CMP	#downkey
		BEQ	Page2SubdonePR
		CMP	#enterkey
		BEQ	Page2enterdone
		CMP	#cancelkey
		BEQ	Page2canceldone
;		CMP	#updatakey
;		BEQ	Page2updatadone
		CMP	#leftkey
		BEQ	Page2leftdone
		CMP	#rightkey
		BEQ	Page2rightdone
		JMP	KeyDoneEnd
Page2SubdonePR:
		JMP	Page2Subdone
Page2leftdone:
		JMP	Page2SubSubMPR
Page2rightdone:
		JMP	Page2AddSubM
Page2enterdone:
		SMB1	<SystemFlag
		SMB0	<KeyFlag
		JSR	ClashCHeck
		JMP	KeyDoneEnd
Page2canceldone:
		RMB1	<SystemFlag
		SMB0	<KeyFlag
		JMP	KeyDoneEnd		
Page2Add:
		SMB0	<KeyFlag		
		LDA	#9
		STA	PageNum
		JSR	SetABCOdd
		STZ	Page9Menu
		ldx     #000h
    		JSR     FillScreen
		STZ	Page9Menu
		LDA	#1
		STA	PageABNum
		JMP	KeyDoneEnd
AddPage2SubPage:
		INC	Page2SubPage
		ldx     #000h
                JSR     FillScreen
		JSR	SetupPage2
		JMP	KeyDoneEnd		
Page2Sub:
		SMB0	<KeyFlag
		LDA	#1
		STA	PageNum
		ldx     #000h
                JSR     FillScreen
		LDA	#1
		STA	Page1Menu
		JMP	KeyDoneEnd
SubPage2SubPage:
		DEC	Page2SubPage
		ldx     #000h
                JSR     FillScreen
		JSR	SetupPage2
		JMP	KeyDoneEnd
Page2Adddone:
		SMB0	<KeyFlag
Page2Adddone1:
		LDA	Page2Menu
		CMP	#14
		BEQ	Page2Adddone2
		JSR	ClerP2In
		INC	Page2Menu
		JSR	JugeP2In
Page2AdddoneEnd:
		JMP	KeyDoneEnd
Page2Adddone2:
		LDA	#1
		STA	PageABNum
		STZ	Page9Menu
		LDA	#9
		STA	PageNum
		LDX	#0
		JSR     FillScreen
		JMP	Page2AdddoneEnd
JugePage2SubOver:
		LDA	Page2SubPage
		CMP	#1
		BEQ	Page2SubOver1
		CMP	#2
		BEQ	Page2SubOver2
		CMP	#3
		BEQ	Page2SubOver3
		CMP	#4
		BEQ	Page2SubOver4
		JMP	Page2Adddone1
Page2SubOver1:
		LDA	Page2Menu
		CMP	#4
		BEQ	Page2AdddoneEnd
		JMP	Page2Adddone1
Page2SubOver2:
		LDA	Page2Menu
		CMP	#8
		BEQ	Page2AdddoneEnd
		JMP	Page2Adddone1
Page2SubOver3:
		LDA	Page2Menu
		CMP	#12
		BEQ	Page2AdddoneEnd
		JMP	Page2Adddone1
Page2SubOver4:
		LDA	Page2Menu
		CMP	#16
		BEQ	Page2AdddoneEnd
		JMP	Page2Adddone1
JugePage2SSubOver:
		LDA	Page2SubPage
		CMP	#1
		BEQ	Page2SSubOver1
		CMP	#2
		BEQ	Page2SSubOver2
		CMP	#3
		BEQ	Page2SSubOver3
		CMP	#4
		BEQ	Page2SSubOver4
		RTS
Page2SSubOver1:
		LDA	Page2Menu
		CMP	#0
		BEQ	Page2SubdoneEnd
		JMP	Page2Subdone1
Page2SSubOver2:
		LDA	Page2Menu
		CMP	#5
		BEQ	Page2SubdoneEnd
		JMP	Page2Subdone1
Page2SSubOver3:
		LDA	Page2Menu
		CMP	#9
		BEQ	Page2SubdoneEnd
		JMP	Page2Subdone1
Page2SSubOver4:
		LDA	Page2Menu
		CMP	#13
		BEQ	Page2SubdoneEnd
		JMP	Page2Subdone1
Page2SubSubMPR:
		JMP	Page2SubSubM
Page2Subdone:
		SMB0	<KeyFlag
		LDA	Page2Menu
		CMP	#0
		BEQ	Page2Subdone2
		JMP	JugePage2SSubOver
Page2Subdone1:
		JSR	ClerP2In
		DEC	Page2Menu
		JSR	JugeP2In
Page2SubdoneEnd:
		JMP	KeyDoneEnd
Page2Subdone2:
		LDA	#6
		STA	Page1Menu
		DEC	PageNum
		LDX	#0
		JSR     FillScreen
		
		JMP	Page2SubdoneEnd
Page2AddSubM:
		LDA	Page2Menu
		CMP	#0
		BEQ	AddP2Menu0PR
		CMP	#1
		BEQ	AddP2Menu1NewPR
		CMP	#2
		BEQ	AddP2Menu2NewPR
		CMP	#3
		BEQ	AddP2Menu1PR
		CMP	#4
		BEQ	AddP2Menu2PR
		CMP	#5
		BEQ	AddP2Menu3PR
		CMP	#6
		BEQ	AddP2Menu4PR
		CMP	#7
		BEQ	AddP2Menu5PR
		CMP	#8
		BEQ	AddP2Menu6PR
		CMP	#9
		BEQ	AddP2Menu7PR
		CMP	#10
		BEQ	AddP2Menu8PR
		CMP	#11
		BEQ	AddP2Menu9PR
		CMP	#12
		BEQ	AddP2Menu10PR
		CMP	#13
		BEQ	AddP2Menu11PR
		CMP	#14
		BEQ	AddP2Menu12PR
		RTS
AddP2Menu0PR:
		JMP	AddP2Menu0
AddP2Menu1NewPR:
		JMP	AddP2Menu1New
AddP2Menu2NewPR:
		JMP	AddP2Menu2New
AddP2Menu1PR:
		JMP	AddP2Menu1
AddP2Menu2PR:
		JMP	AddP2Menu2
AddP2Menu3PR:
		JMP	AddP2Menu3
AddP2Menu4PR:
		JMP	AddP2Menu4
AddP2Menu5PR:
		JMP	AddP2Menu5
AddP2Menu6PR:
		JMP	AddP2Menu6
AddP2Menu7PR:
		JMP	AddP2Menu7
AddP2Menu8PR:
		JMP	AddP2Menu8
AddP2Menu9PR:
		JMP	AddP2Menu9
AddP2Menu10PR:
		JMP	AddP2Menu10
AddP2Menu11PR:
		JMP	AddP2Menu11
AddP2Menu12PR:
		JMP	AddP2Menu12
;++++++++++++++++++++++++++++++++++++++++
DrawCountOfDir:
		LDA	Page2SubPage
		CMP	#1
		BEQ	DrawP2Sub1
		CMP	#2
		BEQ	DrawP2Sub2
		CMP	#3
		BEQ	DrawP2Sub3PR
		CMP	#4
		BEQ	DrawP2Sub4PR
		RTS
DrawP2Sub4PR:
		JMP	DrawP2Sub4
DrawP2Sub3PR:
		JMP	DrawP2Sub3
DrawP2Sub1:
		STZ	LCDX
		LDA	#1
		STA	LCDY
		LDA	#<STR41
		STA	PtrL
		LDA	#>STR41
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#0
		STA	Page2Menu
		LDA	CardNumKind
		CMP	#0
		BEQ	JugeStartOdd1
		CMP	#1
		BEQ	JugeStartOdd2
		CMP	#2
		BEQ	JugeStartOdd3
		RTS
JugeStartOdd1:
		LDA	#81
		STA	StartOddID
		STA	StartOddNum
		LDA	#107
		STA	EndOddID
		RTS
JugeStartOdd2:
		LDA	#103
		STA	StartOddID
		STA	StartOddNum
		LDA	#135
		STA	EndOddID
		RTS
JugeStartOdd3:
		LDA	#109
		STA	StartOddID
		STA	StartOddNum
		LDA	#143
		STA	EndOddID
		RTS
DrawP2Sub2:
		STZ	LCDX
		LDA	#1
		STA	LCDY
		LDA	#<STR43
		STA	PtrL
		LDA	#>STR43
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#5
		STA	Page2Menu
		LDA	CardNumKind
		CMP	#0
		BEQ	JugeStartOdd4
		CMP	#1
		BEQ	JugeStartOdd5
		CMP	#2
		BEQ	JugeStartOdd6
		RTS
JugeStartOdd4:
		LDA	#1
		STA	StartOddID
		STA	StartOddNum
		LDA	#25
		STA	EndOddID
		RTS
JugeStartOdd5:
		LDA	#1
		STA	StartOddID
		STA	StartOddNum
		LDA	#33
		STA	EndOddID
		RTS
JugeStartOdd6:
		LDA	#1
		STA	StartOddID
		STA	StartOddNum
		LDA	#35
		STA	EndOddID
		RTS
		RTS
DrawP2Sub3:
		STZ	LCDX
		LDA	#1
		STA	LCDY
		LDA	#<STR45
		STA	PtrL
		LDA	#>STR45
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#9
		STA	Page2Menu
		LDA	CardNumKind
		CMP	#0
		BEQ	JugeStartOdd7
		CMP	#1
		BEQ	JugeStartOdd8
		CMP	#2
		BEQ	JugeStartOdd9
		RTS
JugeStartOdd7:
		LDA	#27
		STA	StartOddID
		STA	StartOddNum
		LDA	#53
		STA	EndOddID
		RTS
JugeStartOdd8:
		LDA	#35
		STA	StartOddID
		STA	StartOddNum
		LDA	#67
		STA	EndOddID
		RTS
JugeStartOdd9:
		LDA	#37
		STA	StartOddID
		STA	StartOddNum
		LDA	#71
		STA	EndOddID
		RTS
		RTS
DrawP2Sub4:
		STZ	LCDX
		LDA	#1
		STA	LCDY
		LDA	#<STR47
		STA	PtrL
		LDA	#>STR47
		STA	PtrH
		JSR	DRAW_STRING
		LDA	#13
		STA	Page2Menu
		LDA	CardNumKind
		CMP	#0
		BEQ	JugeStartOdd10
		CMP	#1
		BEQ	JugeStartOdd11
		CMP	#2
		BEQ	JugeStartOdd12
		RTS
JugeStartOdd10:
		LDA	#55
		STA	StartOddID
		STA	StartOddNum
		LDA	#79
		STA	EndOddID
		
		RTS
JugeStartOdd11:
		LDA	#69
		STA	StartOddID
		STA	StartOddNum
		LDA	#101
		STA	EndOddID
		RTS
JugeStartOdd12:
		LDA	#73
		STA	StartOddID
		STA	StartOddNum
		LDA	#107
		STA	EndOddID
		RTS
		RTS
Page2InStart:
		LDA	CardNumKind
		CMP	#0
		BEQ	Page2InStart108
		CMP	#1
		BEQ	Page2InStart136PR
		CMP	#2
		BEQ	Page2InStart144PR
		RTS
Page2InStart144PR:
		JMP	Page2InStart144
Page2InStart136PR:
		JMP	Page2InStart136
Page2InStart108:
		LDA	Page2Menu
		CMP	#4
		BEQ	Page2InStart108E
		CMP	#8
		BEQ	Page2InStart108S
		CMP	#12
		BEQ	Page2InStart108W
		CMP	#16
		BEQ	Page2InStart108N
		RTS
Page2InStart108E:
		JSR	DispP2Card
		LDA	#81
		STA	NumID
		JSR	SaveCardOdd
		JSR	Cler13CardNum
		JSR	Join13Card
		JSR	Disp13CardNum
		RTS
Page2InStart108S:
		JSR	DispP2Card
		LDA	#1
		STA	NumID
		JSR	SaveCardOdd
		JSR	Cler13CardNum
		JSR	Join13Card
		JSR	Disp13CardNum
		RTS
Page2InStart108W:
		JSR	DispP2Card
		LDA	#27
		STA	NumID
		JSR	SaveCardOdd
		JSR	Cler13CardNum
		JSR	Join13Card
		JSR	Disp13CardNum
		RTS
SaveCardOdd:
		LDA	LeftORRight
		CMP	#1
		BEQ	Save~1
		CMP	#2
		BEQ	Save~2
		RTS
Save~1:
		LDA	NumID
		STA	OddID
		RTS
Save~2:
		LDA	NumID
		STA	SaveOddIDB
		RTS	
Page2InStart108N:
		JSR	DispP2Card
		LDA	#55
		STA	NumID
		JSR	SaveCardOdd
		JSR	Cler13CardNum
		JSR	Join13Card
		JSR	Disp13CardNum
		RTS
Page2InStart136:
		LDA	Page2Menu
		CMP	#4
		BEQ	Page2InStart136E
		CMP	#8
		BEQ	Page2InStart136S
		CMP	#12
		BEQ	Page2InStart136W
		CMP	#16
		BEQ	Page2InStart136N
		RTS
Page2InStart136E:
		JSR	DispP2Card
		LDA	#103
		STA	NumID
		JSR	SaveCardOdd
		JSR	Cler13CardNum
		JSR	Join13Card
		JSR	Disp13CardNum

⌨️ 快捷键说明

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