📄 alarm.asm
字号:
; ***************************************************************************
; * Project : Electronic Dictionary *
; * Date : 2003.9 *
; * File Name : ALARM.ASM *
; ***************************************************************************
chip W65C02S ; Define chip : ST2100 base on 65c02.
pw 128 ; .LST's page width = 128 character.
case off ; Don't care Upper-case or lower-case.
externs on ; Make all labels public.
include st2202.def ; Include ST2100 I/O define,
include DATA.def ; Data RAM define,
include KEYDEF.def ; Key define,
include GRAPH.def ; Graph RAM define.
include BIOS.h ; BIOS's head.
include GRAPHICS.h ; GRAPHICS's haed.
INCLUDE ST2202.MAC
public SelCharFont
public SelCharFont1
public ScheSetItem
public tp1
public AlarmLoad
public SCHintMsg1
public SCHintMsg2
public SCHintMsg3
public starstring
public CheckInto
public alarm_menu
public ChkSCData
public SCRecordCounter
public MALMHour1
public malmminute1
public AlarmEnter
public SchSecCodeIn_0
public CorretScheDay
public alarm_menu
public tmrsetsecond
public tmrsetminute
public tmrsethour
public tmrminute
public tmrhour
public tmrsecond
;public x9
public store_jieshiyinbiao_yiadd
; public SendFlashDataToPC
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SCRecordCounter equ AData+27 ; Schedule record counter.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;[D]---------------[D]
; Constant define
;[D]---------------[D]
RightChar equ 13h ; 滱 character.
LeftChar equ 14h ; 滲 character.
HorizontalChar equ 15h ; 扄 character.
UpDownChar equ 16h ; ▲ character.
AMChar equ 18h ; 上午 character.
PMChar equ 0eh ; 下午 character.
MoonChar equ 17h
LBracketChar equ 1Ah ; 【 character.
RBracketChar equ 1Bh ; 】 character.
ColonChar equ 1Ch ; : character.
DashChar equ 1Dh ; character.
SpaceChar equ 20h ; " " character.
AChar equ 7Dh ; 上 character.(for 8x8)
PChar equ 7Eh ; 下 character.(for 8x8)
MChar equ 7Fh ; 午 character.(for 8x8)
YearChar equ 0C4EAh ; 年 character.
MonthChar equ 0D4C2h ; 月 character.
globals on ; Public RAM.
DownChar equ 10h ; 滵 character.
UpChar equ 11h ; 滳 character.
VerticalChar equ 12h ; 戹 character.
;;;;ttttttttttttttttt yi add
tempforcal equ 5c9h ;;97h
tempforcal1 equ 5cah ;;98h
tempfortemp equ 5cbh ;;99h
tempflagforviewche equ 5c9h ;;;;;;1-12-4 13:22
tempfordaystore equ 5cch ;;1-12-15 9:51
;scheinputlength equ 46
scheinputlength1 equ 47
;[D]------------------------------------------[D]
; Data RAM define : CData+offset (zero page)
; 00 ~ 19 : For Clock.asm
; 20 ~ 39 : For Alarm.asm
; 40 ~ 59 : For BCard.asm
;[D]------------------------------------------[D]
;--------Variable Define-------Su Xin Chun
;-------Only For Schedul-------可共用
SchFlag equ CData+0
GameState equ CData+1
SchSelectNo equ CData+2 ;Must equ RelatItem(CData+2)!!!
schselectnobak equ CData+35
SetItemMax equ CData+36
CurXPOs equ CData+37
CurYPOs equ CData+38
SecretCode0 equ CData+20 ; Secret code register.
SecretCode1 equ CData+21
SecretCode2 equ CData+22
SecretCode3 equ CData+23
SecretCode4 equ CData+24
SecretCode5 equ CData+25
SecretCode6 equ CData+26
SecretCode7 equ CData+27
SCCounter equ CData+28 ; Secret code counter.
globals off ; Private RAM
; AlarmFlag0
; +-+-+-+-+-+-+-+-+
; |7|6|5|4|3|2|1|0|
; +++++++++++++++++
; | | | | | | | |
; | | | | | | | 0---- Function flag. -> 0 : Stay Alarm mode menu.
; | | | | | | | 1 : Entry one of Alarm function.
; | | | | | | 1----- Temporary flag. -> 0 : False.
; | | | | | | (Alarm mode) 1 : True.
; | | | | | 2---------- Toggle flag. -> 0 : Invert lower.
; | | | | | 1 : Invert higher.
; | | | | 3------- AD2000 mode flag. -> 0 : AD2000 normal mode.
; | | | | 1 : AD2000 set mode.
; | | | 4--------------- Minus flag. -> 0 : Plus for AD2000 counter.
; | | | 1 : Minus for AD2000 counter.
; | | 5-- AM/PM flag for world time. -> 0 : AM.
; | | 1 : PM.
; | 6-------------------- Pass flag. -> 0 : No pass secret code.
; | 1 : Pass secret code.
; 7--------------- Fast adjust flag. -> 0 : Normal adjust.
; 1 ; Fast adjust.
;AlarmFlag0 equ CData+29 ; Alarm mode flags.
AlarmFlag0 equ CData+38 ; Alarm mode flags.
;
; AlarmFlag1
; +-+-+-+-+-+-+-+-+
; |7|6|5|4|3|2|1|0|
; +++++++++++++++++
; | | | | | | | |
; | | | | | | | 0--- Calendar browse start flag.
; | | | | | | |
; | | | | | | 1----- Alarm set flag. -> 0 : Alarm normal mode.
; | | | | | | 1 : Alarm set mode.
; | | | | | 2---AD2000 time up flag. -> 0 : Not yet.
; | | | | | 1 : Time up.
; | | | | 3------ Schedule set flag. -> 0 : Schedule normal read mode.
; | | | | 1 : Schedule set input mode.
; | | | 4----------- Timer set flag. -> 0 : Timer.
; | | | 1 : Timer set.
; | | 5--------- Keyboard hold flag. -> 0 : Allow key in.
; | | 1 : Keyboard hold.
; | 6------------------- Input flag. -> 0 : Input for new record.
; | 1 : Input for modify.
; 7-----------------
;AlarmFlag1 equ CData+30 ; Alarm mode flags.
AlarmFlag1 equ CData+39 ; Alarm mode flags.
;[D]------------------------------[D]
; Data RAM define : AData+offset
;[D]------------------------------[D]
; AlarmFlag2
; +-+-+-+-+-+-+-+-+
; |7|6|5|4|3|2|1|0|
; +++++++++++++++++
; | | | | | | | |
; | | | | | | | 0--- Multi-alarm set 1 ON/Off. -> 0 : OFF.
; | | | | | | | 1 : ON.
; | | | | | | 1----- Multi-alarm set 2 ON/Off. -> 0 : OFF.
; | | | | | | 1 : ON.
; | | | | | 2------- Multi-alarm set 3 ON/Off. -> 0 : OFF.
; | | | | | 1 : ON.
; | | | | 3--------- Multi-alarm set 4 ON/Off. -> 0 : OFF.
; | | | | 1 : ON.
; | | | 4----------- Multi-alarm set 5 ON/Off. -> 0 : OFF.
; | | | 1 : ON.
; | | 5------------------ Multi-alarm go flag. -> 0 : Stop.
; | | 1 : Go.
; | 6-------------- Multi-alarm set item flag. -> 0 : Set hour.
; | 1 : Set minute.
; 7---------------------- Confirm screen flag. -> 0 : Not confirm screen.
; 1 : Confirm screen.
AlarmFlag2 equ AData+0 ; Alarm mode flags.
;
; AlarmFlag4
; +-+-+-+-+-+-+-+-+
; |7|6|5|4|3|2|1|0|
; +++++++++++++++++
; | | | | | | | |
; | | | | | | | 0---
; | | | | | | 1-----
; | | | | | 2--- Stop-watch Start/Stop flag. -> 0 : Stop-watch stop.
; | | | | | 1 : Stop-watch start.
; | | | | 3------- Stop-watch Pause/Go flag. -> 0 : Stop-watch go.
; | | | | 1 : Stop-watch pause.
; | | | 4-------------- Timer Pause/Go flag. -> 0 : Timer go
; | | | 1 : Timer pause.
; | | 5-------------- Timer Start/Stop flag. -> 0 : Timer stop.
; | | 1 : Timer start.
; | 6----------- Half second flag for TIMER. -> 0 : complete second.
; | 1 : 0.5 second.
; 7------------ Half second flag for SWATCH. -> 0 : complete second.
; 1 : 0.5 second.
include study.def
AlarmFlag4 equ AData+1 ; Alarm mode flags.
FastReg equ AData+2 ; Fast key operate address register.
FastRegL equ AData+2
FastRegH equ AData+3
MALMCnt equ AData+4 ; Multi-alarm counter.
MALMToneCnt equ AData+5 ; Multi-alarm tone counter.
MALMMinute1 equ AData+6 ; Minute register of multi-alarm set 1.
MALMHour1 equ AData+7 ; Hour register of multi-alarm set 1.
MALMMinute2 equ AData+8 ; Minute register of multi-alarm set 2.
MALMHour2 equ AData+9 ; Hour register of multi-alarm set 2.
MALMMinute3 equ AData+10 ; Minute register of multi-alarm set 3.
MALMHour3 equ AData+11 ; Hour register of multi-alarm set 3.
MALMMinute4 equ AData+12 ; Minute register of multi-alarm set 4.
MALMHour4 equ AData+13 ; Hour register of multi-alarm set 4.
MALMMinute5 equ AData+14 ; Minute register of multi-alarm set 5.
MALMHour5 equ AData+15 ; Hour register of multi-alarm set 5.
SCViewCounter equ AData+16 ; Schedule data view counter.
; ScheSetItem = 0 : Year.
; 1 : Month.
; 2 : Day.
; 3 : Hour.
; 4 : Minute.
; 5 : Schedule.
ScheSetItem equ AData+17 ; Schedule set item register.
ScheMinute equ AData+18 ; Minute register of schedule set.
ScheHour equ AData+19 ; Hour register of schedule set.
ScheDay equ AData+20 ; Day register of schedule set.
ScheMonth equ AData+21 ; Month register of schedule set.
ScheYear equ AData+22 ; Year register of schedule set.
ScheWeek equ AData+23 ; Year register of schedule set.
ChkSCMinute equ AData+24 ; Check minute register of schedule set.
ChkSCHour equ AData+25 ; Check hour register of schedule set.
ChkSCDay equ AData+26 ; Check day register of schedule set.
ChkSCMonth equ AData+27 ; Check month register of schedule set.
ChkSCYear equ AData+28 ; Check year register of schedule set.
LocalTime equ AData+29 ; Local time area for world time.
TZReg equ AData+30 ; Time zone register.
WorldHour equ AData+31 ; Hour register for world time.
WorldDay equ AData+32 ; Day register for world time.
WorldMonth equ AData+33 ; Month register for world time.
SWSecond equ AData+34 ; Second register for Stop-watch.
SWMinute equ AData+35 ; Minute register for Stop-watch.
SWHour equ AData+36 ; Hour register for Stop-watch.
SWSecondPause equ AData+37 ; Second register for Stop-watch pause.
SWMinutePause equ AData+38 ; Minute register for Stop-watch pause.
SWHourPause equ AData+39 ; Hour register for Stop-watch pause.
TMRSetItem equ AData+40 ; Timer set item register.
TMRSetSecond equ AData+41 ; Second register for timer set.
TMRSetMinute equ AData+42 ; Minute register for timer set.
TMRSetHour equ AData+43 ; Hour register for timer set.
TMRSecond equ AData+44 ; Second register for timer.
TMRMinute equ AData+45 ; Minute register for timer.
TMRHour equ AData+46 ; Hour register for timer.
AD2KDay equ AData+47 ; Day register for AD2000.
AD2KMonth equ AData+48 ; Month register for AD2000.
AD2KYear equ AData+49 ; Year register for AD2000.
AD2KCounterL equ AData+50 ; Low byte of AD2KCounter.
AD2KCounterM equ AData+51 ; Middle byte of AD2KCounter.
AD2KCounterH equ AData+52 ; High byte of AD2KCounter.
StartBufferD equ AData+53 ; Start day buffer.
StartBufferM equ AData+54 ; Start month buffer.
StartBufferY equ AData+55 ; Start year buffer.
StopBufferD equ AData+56 ; Stop day buffer.
StopBufferM equ AData+57 ; Stop month buffer.
StopBufferY equ AData+58 ; Stop year buffer.
AD2KSetItem equ AData+59 ; AD2000 set item register.
;itemstart equ AData+59 ; Choose page register.
;itemoffset equ AData+60 ; Select register. (0 ~ 2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -