📄 r01clk1.ms
字号:
call CopyByte
.stabn 508, LineInfo
jp NDspH0
DspH1:
; ld x,DspHourBuf
; calz IncByteD
NDspH0:
.stabn 513, LineInfo
ld y,(0x32)
.stabn 514, LineInfo
ld a,my
DspH2:
.stabn 516, LineInfo
calz DspHourL
; ld x,LCDMapMem1
; ld y,093h
; calz DspPattern
; ld x,LCDMapMem1
; ld my,mx
; inc x
; inc y
; ld a,mx
; or a,0001b
; ld my,a
.stabn 527, LineInfo
ld y,(0x33)
.stabn 528, LineInfo
ld a,my
.stabn 529, LineInfo
fan a,0b1111
.stabn 530, LineInfo
jp nz,NewDspH2
.stabn 531, LineInfo
jp NewDspH22
NewDspH2:
.stabn 533, LineInfo
ld x,(0x34)
.stabn 534, LineInfo
ld y,0x091
.stabn 535, LineInfo
calz DspDigit
.stabn 536, LineInfo
ret
DspHourOff:
; off minute xx
.stabn 539, LineInfo
ld a,0
.stabn 540, LineInfo
ld x,0x093
.stabn 541, LineInfo
ld mx,a
.stabn 542, LineInfo
ld a,0x01
.stabn 543, LineInfo
ld x,0x094
.stabn 544, LineInfo
ld mx,a
NewDspH22:
.stabn 546, LineInfo
ld x,0x091
.stabn 547, LineInfo
calz DspDigitSpa
.stabn 548, LineInfo
ret
FlashMinute:
.stabn 551, LineInfo
ld x,(0x16)
.stabn 552, LineInfo
FAN mx,(1)
.stabn 553, LineInfo
Jp z,DspMinuteOff
DspMinute:
; display min xx
; ld x,RTCMinH
.stabn 558, LineInfo
ld a,my
.stabn 559, LineInfo
push yl
.stabn 560, LineInfo
push yh
.stabn 561, LineInfo
ld x,(0x3A)
.stabn 562, LineInfo
ld y,0x097
.stabn 563, LineInfo
calz DspDigit
; ld x,RTCMinL
.stabn 565, LineInfo
pop yh
.stabn 566, LineInfo
pop yl
.stabn 567, LineInfo
inc y
.stabn 568, LineInfo
ld a,my
.stabn 569, LineInfo
ld x,(0x38)
.stabn 570, LineInfo
ld y,0x095
.stabn 571, LineInfo
calz DspDigit
.stabn 572, LineInfo
ret
DspMinuteOff:
; off minute xx
.stabn 575, LineInfo
ld x,0x095
.stabn 576, LineInfo
calz DspDigitSpa
.stabn 577, LineInfo
ld x,0x097
.stabn 578, LineInfo
calz DspDigitSpa
.stabn 579, LineInfo
ret
;-------------------------------------
; Cate : Display
; By : Hcy
; Func : dislay the fraction
; Desc : DspFraction
; I/P : RxSBuffer(0--9) --> nul,1/8,1/4,3/8,1/2,5/8,3/4,7/8,9/8,nul
; O/P : --
; Destroy:
; Note :
;DspFraction:
; ld y,RxSBuffer
; cp my,0
; jp z,DspF0
; cp my,9
; jp z,DspF0
; ld a,my
; add a,07h ; a+7
; ld x,RxBuffer8
; calz DspPattern1
; ld y,RxBuffer8
; ld a,my
; ld x,098h
; calz DspPattern
; inc y
; ld a,my
; calz DspPattern
; ret
;DspF0:
; display nul/nul
; ld a,7
; ld x,098h
; calz DspPattern1 ; display ' ' in 5th digit
; calz DspPattern1 ; display ' ' in 6th digit
; ret
;-------------------------------------
; Cate : Display
; By : Hcy
; Func : display the weight from the samsung
; Desc : DspWeight
; I/P : --
; O/P : --
; Destroy:
; Note :
;DspWeight:
; ld y,RxBuffer6
; ld x,090h
; ld b,4
;DspW0:
; ld a,my
; push b
; ld b,a
; inc y
; fan my,0fh
; jp nz,DspW1
; ld a,b
; calz DspDigit
; jp DspW2
;DspW1:
; ld a,b
; calz DspDigit1
;DspW2:
; ld b,YL
; rcf
; sbc b,3 ; get next digit
; ld YL,b
; pop b
; ADD b,0FH ;
; jp nz,DspW0
; ret
;-------------------------------------
; Cate : Display
; By : Hcy
; Func : display the icons from the samsung
; Desc : DspIcons
; I/P : --
; O/P : --
; Destroy:
; Note :
;DspIcons:
; ld y,RxIcon0
; ld x,09ch
; ld b,4
;DspI0:
; ld mx,my
; inc y
; inc x
;; rcf
;; sbc b,1 ; get next digit
; ADD b,0FH ;
; jp nz,DspI0
; ret
;---------------------------------------
;---------------------------------------
; calculate the clock
;---------------------------------------
;---------------------------------------
;-------------------------------------
; Cate : Application
; By : Hcy
; Func : increase byte by decimal
; Desc : IncByteD
; I/P : X(address of buffer)
; O/P :
; Destroy:
; Note :
IncByteD:
; SET F,0100B
.stabn 693, LineInfo
SDF
.stabn 694, LineInfo
RCF
.stabn 695, LineInfo
ADD MX,0x01
.stabn 696, LineInfo
inc x
.stabn 697, LineInfo
ADC MX,0x00
; RST F,1011B
.stabn 699, LineInfo
RDF
.stabn 700, LineInfo
RET
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : toggle the half sec flag
; Desc : ToggleHalfSecFlag
; I/P : --
; O/P : --
; Destroy:
; Note :
;ToggleHalfSecFlag:
; ld x,AppFlags
; xor mx,HalfSecFlag
; fan mx,HalfSecFlag
; jp nz,xToggleHalfS
; or mx,SecClickFlag ; set flag if from 1->0
;xToggleHalfS:
; ret
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : check if up to 1 minute
; Desc : IncSecond
; I/P : --
; O/P : --
; Destroy:
; Note : c=0 if not up to 1 minute, c=1 if up to 1 minute
IncSecond:
.stabn 730, LineInfo
ld x,(0x10)
.stabn 731, LineInfo
calz IncByteD
.stabn 732, LineInfo
ld x,(0x10)
.stabn 733, LineInfo
calz IsEqu60
.stabn 734, LineInfo
ret
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : is che memory equ 60h
; Desc : IsEqu60
; I/P : --
; O/P : --
; Destroy:
; Note :
IsEqu60:
.stabn 746, LineInfo
cp mx,0x00
.stabn 747, LineInfo
jp z,IsEqu0
; rcf
; ret
; jp IsEqu2
.stabn 751, LineInfo
jp IsRight8
IsEqu0:
.stabn 753, LineInfo
inc x
.stabn 754, LineInfo
cp mx,0x06
.stabn 755, LineInfo
jp z,IsEqu1 ; jmp if 1 minute time out
IsRight8:
.stabn 757, LineInfo
rcf
.stabn 758, LineInfo
ret
IsEqu1:
.stabn 760, LineInfo
ld mx,0 ; clr the memory
IsEquE:
.stabn 762, LineInfo
scf
.stabn 763, LineInfo
ret
;
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : is che memory equ 24h
; Desc : IsEqu24
; I/P : --
; O/P : --
; Destroy:
; Note :
IsEqu24:
.stabn 776, LineInfo
cp mx,0x04
.stabn 777, LineInfo
jp z,IsEqu240
.stabn 778, LineInfo
jp IsRight8
IsEqu240:
.stabn 780, LineInfo
push xl
.stabn 781, LineInfo
inc x
.stabn 782, LineInfo
cp mx,0x02
.stabn 783, LineInfo
pop xl
.stabn 784, LineInfo
jp z,IsEqu241 ; jmp if 1 minute time out
.stabn 785, LineInfo
jp IsRight8
IsEqu241:
.stabn 787, LineInfo
ldpx mx,0
.stabn 788, LineInfo
ld mx,0
.stabn 789, LineInfo
jp IsEquE
FlashTimeFormat:
.stabn 792, LineInfo
ld x,(0x16)
.stabn 793, LineInfo
FAN mx,(1)
.stabn 794, LineInfo
Jp z,DspHourOff
;-------------------------------------
; Cate : display
; By : Hcy
; Func : display '24:H' or '12:H'
; Desc : DspTimeFormat
; I/P : --
; O/P : --
; Destroy:
; Note :
DspTimeFormat:
.stabn 805, LineInfo
ld x,(1)
.stabn 806, LineInfo
fan mx,(8)
.stabn 807, LineInfo
jp nz,DspTime0 ; jmp if 24 hour
.stabn 808, LineInfo
ld a,1
.stabn 809, LineInfo
ld x,0x091
.stabn 810, LineInfo
calz DspPattern
.stabn 811, LineInfo
ld a,2
.stabn 812, LineInfo
calz DspHourL
.stabn 813, LineInfo
jp DspTime1
DspTime0:
.stabn 815, LineInfo
ld a,2
.stabn 816, LineInfo
ld x,0x091
.stabn 817, LineInfo
calz DspPattern
.stabn 818, LineInfo
ld a,4
.stabn 819, LineInfo
calz DspHourL
DspTime1:
.stabn 821, LineInfo
ld a,0
.stabn 822, LineInfo
ld x,0x095
.stabn 823, LineInfo
calz DspPattern1 ; display 'H'
.stabn 824, LineInfo
calz DspDigitSpa
.stabn 825, LineInfo
ret
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : check if up to 1 hour
; Desc : IncMinute
; I/P : --
; O/P : --
; Destroy:
; Note : c=0 if not up to 1 minute, c=1 if up to 1 minute
IncMinute:
.stabn 837, LineInfo
ld x,(0x12)
.stabn 838, LineInfo
calz IncByteD
.stabn 839, LineInfo
ld x,(0x12)
.stabn 840, LineInfo
calz IsEqu60
.stabn 841, LineInfo
ret
;
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : check if up to 1 hour
; Desc : IncHour
; I/P : --
; O/P : --
; Destroy:
; Note : c=0 if not up to 24 hour, c=1 if up to 24 hour
IncHour:
.stabn 853, LineInfo
ld x,(0x14)
.stabn 854, LineInfo
calz IncByteD
.stabn 855, LineInfo
ld x,(0x14)
.stabn 856, LineInfo
calz IsEqu24
.stabn 857, LineInfo
ret
;
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : clear the byte
; Desc : ClrByte
; I/P : x(ram address)
; O/P : --
; Destroy:
; Note :
;ClrByte:
; ld a,0
; ld mx,a
; inc x
; ld mx,a
; ret
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : inc setting HOUR
; Desc : IncSetHour
; I/P : --
; O/P : --
; Destroy:
; Note :
;IncSetHour:
; ld x,TmpRTCHour
; calz IncByteD
; ld x,TmpRTCHour
; calz IsEqu24
; jp nc,IncSet0
; ld x,TmpRTCHour
; calz ClrByte
;IncSet0:
; ld y,TmpRTCHourL
; calz DspHour
; ret
;-------------------------------------
; Cate : Clock
; By : Hcy
; Func : inc setting minute
; Desc : IncSetMinute
; I/P : --
; O/P : --
; Destroy:
; Note :
;IncSetMinute:
; ld x,TmpRTCMinute
; calz IncByteD
; ld x,TmpRTCMinute
; calz IsEqu60
; ld y,TmpRTCMinuteL
; calz DspMinute
; ret
;-------------------------------------
; Cate : Common
; By : Hcy
; Func : copy 2-byte to other memory, (buffer1) --> (buffer2)
; Desc : Copy2Byte
; I/P : x(buffer 1 low address), y(buffer 2 low address)
; O/P :
; Destroy:
; Note :
;Copy2Byte:
; ld a,4
;Copy0:
; ld my,mx
; inc x
; inc y
; add a,0fh ; dec a
; jp nz,Copy0
; ret
;---------------------------------------
;---------------------------------------
; Communication Routine
;---------------------------------------
;---------------------------------------
;-------------------------------------
; Cate : communication
; By : Hcy
; Func : reload the communication variable
; Desc : ReloadCommVar
; I/P : --
; O/P : --
; Destroy:
; Note :
;ReloadCommVar:
; ld y,CommBufferL
; ld my,0 ; clr the communication buffer
; ld y,CommCount
; ld my,04h ; reload the communication bit counter
; ret
;-------------------------------------
; Cate : communication
; By : Hcy
; Func : store to the receive buffer
; Desc : ToRecBuffer
; I/P : --
; O/P : --
; Destroy:
; Note :
;ToRecBuffer:
; ld y,RxStartBufL
; ld x,RxNibbleCnt
; ld a,mx
;Prog1:
; ld YL,a
;Prog2:
; ld x,CommBufferL
; ld my,mx ; store receive data to receive buffer
; ret
;-------------------------------------
; Cate : communication
; By : Hcy
; Func : is che memory equ 1bh
; Desc : IsEquStartCode
; I/P : Y(start code address)
; O/P : --
; Destroy:
; Note : c=1 if not equal 1bh, c=0 if equal 1bh
;IsEquStartCode:
; ld y,RxStartBufL
; cp my,0Bh
; jp z,IsEquEE
;IsEquE:
; scf
; ret
;IsEquEE:
; rcf
; ret
;-------------------------------------
; Cate : communication
; By : Hcy
; Func : is receive command right ?
; Desc : IsRightCmd
; I/P : --
; O/P : --
; Destroy:
; Note : c=1 if undefined command, c=0 if defined command
;IsRightCmd:
; ld x,RxCommand
; cp mx,SHOWLDIGITCMD
; jp nz,IsRight0
; ; show Ldigit command
; ld x,SumNumRxNibble
; ld mx,0ch
; jp IsRight8
;IsRight0:
; cp mx,SHOWSDIGITCMD
; jp nz,IsRight1
; ; show Sdigit command
; ld x,SumNumRxNibble
; ld mx,1
;IsRight8:
; rcf
; ret
;IsRight1:
; cp mx,SHOWICONCMD
; jp nz,IsRight2
; ; show icon command
; ld x,SumNumRxNibble
; ld mx,4
; ld x,RxNibbleCnt
; ld mx,0ch ;
; jp IsRight8
;IsRight2:
; cp mx,SHOWMSGCMD
; jp nz,IsEquE
; ; show msg command
; jp IsRight8
;;-------------------------------------
; Cate : Display
; By : Kwan
; Func : Clear the LCD ram including digits/icons
; Desc :
; I/P :
; O/P :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -