📄 bios.h
字号:
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
;LEntryFunctionMode macro
; if BiosBank=BankNo
; jmp EntFunMenu
; else
; jsr LJSR
; dw BiosBank ; Banck No.
; dw EntFunMenu-1
; endif
; endm
;[M]-----------------------------------------------[M]
; Initial all RAM & register.
;
; Function : 清除所有的共用 RAM & 设定所有的初始值.
; Description : 基本上BIOS在作Mode切换时都会做这个动作.
; 这个Sunroutine会做以下的工作.
; 1.清除所有Common RAM(Zero page)[ZData or CData]
; 2.清除PData(与Text buffer共用)
; 3.Screen mode设定在0(Graphic mode)
; 4.关闭乱数产生器.
; 5.Set cursor size to normal.
; 6.设定文字输入於第一行.
; 7.关闭Timer.
; 8.关闭声音
; 9.关闭中文输入.
; 9.Cursor 闪烁 off.
;
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
LInitAll macro
if BiosBank=BankNo
jsr InitAll
else
jsr LJSR
dw BiosBank ; Banck No.
dw InitAll-1
endif
endm
;[M]-----------------------------------------------[M]
; Exit help mode process.
;
; Function : 跳出 Help mode.
; Description : 从 Help mode 回到原 Mode.
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
LExitHelp macro
if BiosBank=BankNo
jmp ExitHelp
else
jsr LJSR
dw BiosBank ; Banck No.
dw ExitHelp-1
endif
endm
;[M]-----------------------------------------------[M]
; Exit help mode process.
;
; Function : 跳出 Help mode.
; Description : 从 Help mode 回到原 Mode.
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
LExitFixMode macro
if BiosBank=BankNo
jmp ExitFixMode
else
jsr LJSR
dw BiosBank ; Banck No.
dw ExitFixMode-1
endif
endm
;[M]-----------------------------------------------[M]
; Entry power process.
;
; Function : 跳到开机处理程序.
; Description : 跳到开机处理程序,相当於从Off状态
; 压"On/Off"key开机.
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
LEntryPowerOn macro
if BiosBank=BankNo
jmp EntryPowerOn
else
jsr LJSR
dw BiosBank ; Banck No.
dw EntryPowerOn-1
endif
endm
;[M]-----------------------------------------------[M]
; Entry clock mode process.
;
; Function : 强制跳到"时间"mode.
; Description : 到"时间"mode.
; Input argument : 无.
; Output argument : 无.
;[M]-----------------------------------------------[M]
LEntClkMode macro
if BiosBank=BankNo
jmp EntClkMode
else
jsr LJSR
dw BiosBank ; Banck No.
dw EntClkMode-1
endif
endm
;[M]-----------------------------------------------[M]
;
;[M]-----------------------------------------------[M]
IfKeyOn macro _ifkeyonlab
bbr7 <KeyNo,_ifkeyonlab
endm
;[M]-----------------------------------------------[M]
;
;[M]-----------------------------------------------[M]
IfKeyOff macro _ifkeyofflab
bbs7 <KeyNo,_ifkeyofflab
endm
;[M]----------------[M]
; Check leap-year.
;[M]----------------[M]
LCheckLeapYear macro
if BiosBank=BankNo
jsr CheckLeapYear ; Bank number = Clock bank.
else
jsr LJSR ; Bank number <> Clock bank.
dw BiosBank
dw CheckLeapYear-1
endif
endm
;[M]------------------[M]
; Get days of month.
;[M]------------------[M]
LGetDays macro
if BiosBank=BankNo
jsr GetDays ; Bank number = Clock bank.
else
jsr LJSR ; Bank number <> Clock bank.
dw BiosBank
dw GetDays-1
endif
endm
;[M]---------------------[M]
; Get days of month.(1)
;[M]---------------------[M]
LGetDays1 macro
if BiosBank=BankNo
jsr GetDays1 ; Bank number = Clock bank.
else
jsr LJSR ; Bank number <> Clock bank.
dw BiosBank
dw GetDays1-1
endif
endm
PUSH_REG
macro
pha
phx
phy
endm
PUSH_ALL
macro
pha
phx
phy
sta <Tmp
lda <PtrL
pha
lda <PtrH
pha
lda <Tmp
endm
PULL_REG
macro
ply
plx
pla
endm
PULL_ALL
macro
pla
sta <PtrH
pla
sta <PtrL
ply
plx
pla
endm
PUSH_DRR
macro
sta <Tmp
lda <DRR
pha
lda <Tmp
endm
PULL_DRR
macro
sta <Tmp
pla
sta <DRR
lda <Tmp
endm
PUSH_PRR
macro
sta <Tmp
lda <PRR
pha
lda <Tmp
endm
PULL_PRR
macro
sta <Tmp
pla
sta <PRR
lda <Tmp
endm
rate_help equ 00008812h
tax_help equ 00008818h
unit_help equ 00008810h
realty_help equ 0000881ah
hexdec_help equ 0000880eh
stat_help equ 0000880ch
scihelp equ 000087eeh
pertax_help equ 0000881ch
guesshelp equ 000087fch
fivedothelp equ 000087f6h
bwchesshelp equ 000087f8h
showhandhelp equ 000087f2h
generscanhelp equ 00008820h
find2help equ 00008824h
find1help equ 00008822h
idiomhelp equ 00008842h
dicchenhelp equ 0000883ch
chinahelp equ 00008840h
cardedithelp equ 00008832h
inputhelp equ 00008826h
gamepwhelp equ 00008828h
;;kcbhelp equ 000000h
remarkvahelp equ 0000880ah
calhelp equ 000087ech
jielongmenuh equ 0000882ah
bomb_help equ 00008814h
studyscorehelp equ 00008854h
studytfillhelp equ 00008852h
studytc2ehelp equ 00008850h
studyte2chelp equ 0000884eh
studygofillhelp equ 0000884ch
studygoc2ehelp equ 0000884ah
studygoe2chelp equ 00008848h
studyfirsthelp equ 00008846h
studysethelp equ 00008844h
timehelp equ 000087d4h
ad2000help equ 000087eah
timerhelp equ 000087e8h
watchhelp equ 000087e6h
worldhelp equ 000087e4h
lunarhelp equ 000087e2h
hourlyhelp equ 000087d8h
alarmhelp equ 000087d6h
schedulehelp equ 000087e0h
helptable equ 000087d4h
;;=========================================
findnamehelp equ 0000883ah
cardconvhelp equ 00008834h
switchhelp equ 00008806h
localtimehelp equ 00008800h
passwordhelp equ 00008802h
settimehelp equ 000087feh
contrasthelp equ 00008804h
menuhelp equ 0000881eh
zbh_index equ 0000f7b8h
sokohelp equ 000087f4h
jielonggameh equ 0000882ch
hanluotasetuph equ 0000882eh
hanluotagameh equ 00008830h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -