📄 card.asm
字号:
SelectXingMsg: db ' 请选择欲查询的姓',0
InputConMsg: db '请输入欲查询的内容: ',0
NomatchCrad: db 0dh,0dh,' 无相符的记录',0
;;starstring: db '********************',0
;;CheckInto: db '********************',0
;;-----------------------------------------------------------
FindTitle: db ' 名片查找',0dh ;;0
FindSelectItems:
BaiFindMsg: db ' 1.按姓名查找',0dh
RenFindMsg: db ' 2.按组别查找',0dh
db ' 3.按关键字组别',00h
SelectRelationStr: db '请选择组别:',0
FriendRelat: db '1.朋友',0
schoolmate: db '2.同学',0
ColleagueRelat: db '2.同事',0
OperationRelat: db '3.业务',0
FamilyRelat: db '4.亲属',0
OtherRelat: db '5.其他',0
;;-------- edit data ----------------------------------------
EYuanXin: ;small image data
DB 8,5
DB 02H,84H,88H,50H,20H
CardRelatSelect:
db 88,41
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H
DB 09EH,0F0H,020H,000H,000H,007H,0FEH,028H,080H,000H,003H
DB 092H,090H,021H,000H,000H,004H,002H,015H,000H,000H,003H
DB 092H,093H,0FFH,080H,000H,005H,0FAH,0FFH,0E0H,000H,003H
DB 09EH,0F0H,020H,000H,000H,004H,002H,080H,020H,000H,003H
DB 092H,090H,03EH,000H,000H,005H,0FAH,0BFH,040H,000H,003H
DB 092H,090H,022H,000H,000H,005H,00AH,002H,000H,000H,003H
DB 09EH,0F0H,052H,000H,000H,005H,00AH,004H,000H,000H,003H
DB 092H,090H,054H,000H,000H,005H,0FAH,0FFH,0E0H,000H,003H
DB 092H,090H,088H,000H,000H,005H,00AH,004H,000H,000H,003H
DB 093H,011H,016H,000H,000H,004H,002H,004H,000H,000H,003H
DB 0A6H,072H,0E1H,080H,000H,004H,006H,01CH,000H,000H,003H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H
DB 0BFH,0F0H,010H,000H,000H,000H,090H,011H,000H,000H,003H
DB 0A0H,013H,0FFH,080H,000H,000H,090H,01FH,080H,000H,003H
DB 0AFH,0D0H,092H,000H,000H,000H,090H,031H,000H,000H,003H
DB 0A0H,010H,092H,000H,000H,008H,092H,04AH,000H,000H,003H
DB 0AFH,0D1H,0FFH,000H,000H,004H,092H,086H,000H,000H,003H
DB 0A8H,050H,011H,000H,000H,004H,094H,019H,080H,000H,003H
DB 0A8H,053H,0FFH,080H,000H,002H,098H,0E4H,060H,000H,003H
DB 0AFH,0D0H,011H,000H,000H,002H,090H,03FH,080H,000H,003H
DB 0A8H,051H,0FFH,000H,000H,000H,090H,008H,080H,000H,003H
DB 0A0H,010H,010H,000H,000H,000H,090H,010H,080H,000H,003H
DB 0A0H,030H,030H,000H,000H,00FH,0FEH,067H,000H,000H,003H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H
DB 081H,001H,0FFH,000H,000H,001H,010H,021H,000H,000H,003H
DB 09FH,0F1H,001H,000H,000H,00FH,0FEH,021H,000H,000H,003H
DB 084H,041H,0FFH,000H,000H,001H,010H,029H,000H,000H,003H
DB 082H,081H,008H,000H,000H,001H,0F0H,029H,0C0H,000H,003H
DB 0BFH,0F9H,07FH,000H,000H,001H,010H,06FH,040H,000H,003H
DB 081H,001H,049H,000H,000H,001H,0F0H,0B9H,040H,000H,003H
DB 09FH,0F1H,07FH,000H,000H,001H,010H,029H,040H,000H,003H
DB 081H,001H,008H,000H,000H,001H,010H,029H,0C0H,000H,003H
DB 089H,041H,07FH,080H,000H,00FH,0FEH,029H,020H,000H,003H
DB 091H,021H,048H,080H,000H,002H,008H,028H,020H,000H,003H
DB 0A7H,012H,05DH,080H,000H,00CH,004H,027H,0E0H,000H,003H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 07FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
;--------New Card add Help---
curcardnamehelp:
db '上,下键选择;',0dh
db '[输入]键确认选项;',0dh
db '[返回]键返回.',0
selectxinghelp:
db '左,右键浏览姓;',0dh
db '数字键选中对应的姓',0dh
db '[返回]键返回.',0
selectrelathelp:
db '上,下,左,右键选择;',0dh
db '[输入]键确认选项;',0dh
db '[返回]键返回.',0
;;======================================================================
PS7 .SECTION ;; Program ROM location 4000h
BankNo equ CardBank ;; For check only.
;; (zl.) define in data.def
;;======================================================================
THSec:
TSec:
TMin:
TKeyUp:
TTimer:
Exitwithoutupdate:
ExitNoUpdate:
rmb3 <eflag ;;Clear KeyDown event flag.
LMainU ;;跳回主程序但不Update text screen zl.
;;======================================================================
;;[P]-----------------------------[P]
;; Help Return 事件
;;[P]-----------------------------[P]
THelpRet:
lda HelpRtPrc+1 ;;run like call process zl.
pha
lda HelpRtPrc
pha
rts
;;-------CardHelpTable------
CardHelpTab:
db GamePWHelp-HelpTable ;;0.密码输入状态
db CardEditHelp-HelpTable ;;1.名片编辑状态
db SelectRelatHelp-Helptable ;;2.编辑名片关系选择状态
db NullHelp-HelpTable ;;3.询问保存状态
db RemarkVAhelp-HelpTable ;;4.浏览名片姓名状态
db CardConVHelp-HelpTable ;;5.浏览名片内容状态
db NullHelp-HelpTable ;;6.询问删除状态
db NullHelp-HelpTable ;;7.选择查询方式状态??
db SelectXingHelp-HelpTable ;;8.选择百家姓状态
db SelectRelatHelp-Helptable ;;9.选择查找名片关系状态
db NullHelp-HelpTable ;;10.编辑任意字状态
db CurCardNameHelp-HelpTable ;;11.浏览常用名片状态
db CurCardNameHelp-HelpTable ;;12.按姓浏览名片姓名状态
db CurCardNameHelp-HelpTable ;;13.按关系浏览名片姓名状态
db NullHelp-HelpTable ;;14.空间满按任意键返回主菜单
db NullHelp-HelpTable ;;15.No Card Record State
;;-----CardHelpRetTable-----
CardHelpRetTab:
;dw TLoad-1 ;;0.密码输入状态
;dw AmendViewFun_0-1 ;;1.名片编辑状态
;dw AmendViewFun_0-1 ;;2.编辑名片关系选择状态??
;dw EditBoxEnter_000-1 ;;3.询问保存状态
;dw TLoad_3-1 ;;4.浏览名片姓名状态
;dw ViewNameEnter_0-1 ;;5.浏览名片内容状态
;dw ViewNameDelete-1 ;;6.询问删除状态
;dw ViewNameFind_0-1 ;;7.选择查询方式状态
;dw InitSelectXing-1 ;;8.选择百家姓状态
;dw InitSelecRelatFind-1 ;;9.选择查找名片关系状态
;dw InitEditRenYiZi-1 ;;10.编辑任意字状态
;dw InitDspCurCard-1 ;;11.浏览常用名片状态
;dw EntBJXSelect_0-1 ;;12.按姓浏览名片姓名状态
;dw FindRelateEnter-1 ;;13.按关系浏览名片姓名状态
;dw LoadNameCard-1 ;;14.空间满按任意键返回主菜单
;dw TLoad-1 ;;15.No Card Record State
;---------- card help process ------------
CardHelpPrc: ;;get value of <HelpOffset zl.
ldy <GameState ;;
lda CardHelpTab,y ;;
sta <HelpOffset ;;define in help.asm (hdata+0) zl
;;(<helpoffset)=(cardhelptab)+y
;---------------------
cpy #2 ;;
beq ?SelectRelatHelpBug ;;
cpy #9
beq ?SelectRelatHelpBug
cpy #8
beq ?SelectXingHelpBug
cpy #11
bcc ?UnHelpBug ;;branch less than (carry flag clear) zl.
cpy #14
bcs ?UnHelpBug ;;branch greater or equal zl.
lda #>CurCardNameHelp ;;
sta HelpTextPH
lda #<CurCardNameHelp
bra ?Com000 ;;branch always zl.
?SelectRelatHelpBug:
lda #>SelectRelatHelp
sta HelpTextPH ;;define in the help.asm
lda #<SelectRelatHelp
bra ?Com000
?SelectXingHelpBug:
lda #>SelectXingHelp
sta HelpTextPH
lda #<SelectXingHelp
?Com000:
sta HelpTextPL
lda #Ds0Help ;Constant define in the help.asm zl.
sta <HelpOffset
?UnHelpBug:
;---------------------
rts
;;[p]------------------------[p]
;; Enter Mode 事件
;;[p]------------------------[p]
TLoad:
;; lda #11111001b
;; sta event_kill
LSetScreen 14 ;;define in graphics.h zl.
LReadSecretCodeToBuff ;;2-4-25 17:10 su
;;zl.把FLASH里的密码读进RAM的FDATA里 define in bios.h
stz <CardFlag ;;
lda #0FFh ;; Load a = 0FFh
cmp DataSecretCode
beq LoadNameCard ;; Skip if don't need secret code.
sta <SecretCode0 ;; Initial SecretCode.
sta <SecretCode1
sta <SecretCode2
sta <SecretCode3
sta <SecretCode4
sta <SecretCode5
sta <SecretCode6
sta <SecretCode7
LPrint CheckInto
LCheckCRLF
LPrint SCHintMsg1 ;; Print "请输入密码" on TExtBuffor.
LCheckCRLF ;; Check & skip to next line.
LPrint SCHintMsg2 ;; Print "--------" on TextBuffor.
lsetcur 0,4
LPrint starstring
lda #SecCodeInN
sta <GameState
stz <SCCounter
jsr CardHelpPrc
ExitToMain:
jsr CALL_LUpdateScreen
jmp ExitWithoutUpdate
LoadNameCard:
stz <FileClase
stz <StartNamePos
stz <CardFlag ;
jsr ReadCardNo
lda <TotalCardNoL
bne ViewNameCard
lda <TotalCardNoH
bne ViewNameCard
lcls
LSetCur 7,1
LPrint NoRecordMessage
jsr CALL_LUpdateScreen
lda #0
ldy #0
?1: sta CurCardBuff,y ;清近访名片BUFF
iny
cpy #11
bcc ?1
lda #NoCardRecordN
sta <GameState
jsr CardHelpPrc
jmp Exitwithoutupdate
EditNewCard:
stz <RelatItem
jsr InitEditBox
EnterEditState:
lda #EditBoxEnterN
sta <GameState
jsr CardHelpPrc
jmp ExitToMain
ViewNameCard:
stz <CurCardNoL
stz <CurCardNoH
stz <CurCardOff
stz <CurCardOffBak
TLoad_3:
lda #ViewCardNameN
sta <GameState
jsr CardHelpPrc
;*********************************************************************
;----------- subroutine ----------------------------------------------
;*********************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -