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