📄 hf0803.asm
字号:
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 + -