%%HP: T(1)A(D)F(.);
C$ 14383
SCHED
::
CK0
% 1.011961
ZEROZERO
FORTYTHREE
TestSysFlag
FIFTYNINE
TestSysFlag
FALSE
NULL{}
TOD
DUP
%IP
SWAP
%FP
%15
%/
%2
RNDXY
%15
%*
%HMS+
%24
%MOD
%25
%0
NULL{}
{
LAM dat
LAM n
LAM g
LAM rptf
LAM pxf
LAM exit
LAM alst
LAM tim
LAM atim
LAM adat
LAM al$
}
BIND
DATE
ID DC
ID APPT
'
NOP
'
::
ONE
#=casedrop
::
ELEVEN
?CaseKeyDef
::
TakeOver
%-7
ID MVDC
;
SIXTEEN
?CaseKeyDef
::
TakeOver
%-1
ID MVDC
;
SEVENTEEN
?CaseKeyDef
::
TakeOver
%7
ID MVDC
;
EIGHTEEN
?CaseKeyDef
::
TakeOver
%1
ID MVDC
;
FORTYFOUR
?CaseKeyDef
::
TakeOver
REPEATER
FORTYFOUR
::
% -.15
ID MVTC
;
;
FORTYNINE
?CaseKeyDef
::
TakeOver
REPEATER
FORTYNINE
::
% .15
ID MVTC
;
;
THIRTYNINE
?CaseKeyDef
::
TakeOver
LAM tim
'
LAM atim
STO
LAM dat
'
LAM adat
STO
;
TWENTYFIVE
?CaseKeyDef
::
TakeOver
LAM dat
LAM adat
DUP
%0>
IT
::
SWAPOVER
DDAYS
ASSEMBLE
CON(5) #F02D
RPL
%*
ASSEMBLE
CON(5) #E6D4
RPL
;
LAM atim
LAM tim
2DUP
%=
ITE
DROP
::
2DUP
%>
IT
SWAP
DUP
%24
%>=
ITE
DROP
::
% 1000000
%/
%+
;
;
ID SETA
;
TWELVE
?CaseKeyDef
::
TakeOver
LAM tim
% .00003
%+
ID ANXT
ID ARNXT
NOT
caseDEADKEY
ID TOA
;
TWENTYEIGHT
?CaseKeyDef
::
TakeOver
ID TCA?
NOT
caseDEADKEY
ID DELA
ID APPT
LAM pxf
?SEMI
LAM n
LAM dat
LAM rptf
ITE
::
LAM alst
NULL{}
EQUALNOT
ID DTPX
;
::
ID CLPX
ID MNPX
;
;
ONE
?CaseKeyDef
::
TakeOver
JUMPLEFT
;
SIX
?CaseKeyDef
::
TakeOver
JUMPRIGHT
;
FORTYFIVE
?CaseKeyDef
::
TakeOver
TRUE
'
LAM exit
STO
;
TWENTYSIX
?CaseKeyDef
::
TakeOver
LAM rptf
NOT
'
LAM rptf
STO
ID APPT
ID ICON
LAM pxf
?SEMI
LAM n
LAM dat
ID CLPX
ID MNPX
;
TWENTYSEVEN
?CaseKeyDef
::
TakeOver
LAM pxf
NOT
DUP
'
LAM pxf
STO
ITE
ID CLPX
::
LAM n
LAM dat
ID MNPX
;
ID ICON
;
THIRTYFIVE
#=casedrpfls
FORTY
#=casedrpfls
DROP
'DoBadKeyT
;
TWO
#=casedrop
::
TWENTYSIX
?CaseKeyDef
::
TakeOver
ID TCA?
NOT
caseDEADKEY
SWAPOVER
ID DELA
INCOMPDROP
UNROTDROP
ID SETA
;
ELEVEN
?CaseKeyDef
SCROLLUP
SEVENTEEN
?CaseKeyDef
SCROLLDOWN
SIXTEEN
?CaseKeyDef
SCROLLLEFT
EIGHTEEN
?CaseKeyDef
SCROLLRIGHT
FORTYFOUR
?CaseKeyDef
::
TakeOver
REPEATER
FORTYFOUR
::
% -.01
ID MVTC
;
;
FORTYNINE
?CaseKeyDef
::
TakeOver
REPEATER
FORTYNINE
::
% .01
ID MVTC
;
;
TWELVE
?CaseKeyDef
::
TakeOver
LAM tim
ID ANXT
#1-
ASSEMBLE
CON(5) #E402
RPL
ITE
::
SWAP
ID RNXT
IT
::
SWAPDROP
ID ORDA
DROP
;
FALSE
;
::
ID RNXT
ITE
::
SWAPDROP
FALSE
;
TRUE
;
caseDEADKEY
ID TOA
;
TWENTYFIVE
?CaseKeyDef
::
TakeOver
LAM al$
DUPNULL{}?
caseDrpBadKy
INCOMPDROP
4ROLL
DROP
LAM dat
4UNROLL
ASSEMBLE
CON(5) #E6ED
RPL
DROP
ID APPT
LAM pxf
?SEMI
LAM n
LAM dat
LAM rptf
ITE
::
LAM alst
NULL{}
EQUALNOT
ID DTPX
;
::
ID CLPX
ID MNPX
;
;
THIRTYFIVE
#=casedrpfls
FORTY
#=casedrpfls
DROP
'DoBadKeyT
;
THREE
#=casedrop
::
ELEVEN
?CaseKeyDef
::
TakeOver
% -28
ID MVDC
;
SIXTEEN
?CaseKeyDef
::
TakeOver
% -365
ID MVDC
;
SEVENTEEN
?CaseKeyDef
::
TakeOver
% 28
ID MVDC
;
EIGHTEEN
?CaseKeyDef
::
TakeOver
% 365
ID MVDC
;
FORTYFOUR
?CaseKeyDef
::
TakeOver
REPEATER
FORTYFOUR
::
%-1
ID MVTC
;
;
FORTYNINE
?CaseKeyDef
::
TakeOver
REPEATER
FORTYNINE
::
%1
ID MVTC
;
;
TWELVE
?CaseKeyDef
::
TakeOver
TOD
%2
TRCXY
DUP
'
LAM tim
STO
LAM dat
DATE
DDAYS
DUP
%0=
casedrop
ID TC
SWAPDROP
ID MVDC
;
THIRTYFIVE
#=casedrpfls
FORTY
#=casedrpfls
FORTYFIVE
#=casedrpfls
DROP
'DoBadKeyT
;
2DROP
'DoBadKeyT
;
TrueTrue
NULL{}
ONEFALSE
'
LAM exit
'
ERRJMP
ParOuterLoop
ABND
RECLAIMDISP
ClrDAsOK
;
DìCAL
::
CK1
CK&DISPATCH1
ONE
::
DUP
%FP
%0=
IT
::
FORTYTWO
TestSysFlag
ITE
::
%100
%/
%1+
;
::
%.1
%+
;
;
%0
ASSEMBLE
CON(5) #CC79
RPL
ID CAL.1
DROP
;
;
$CONFIG
::
# 5D4
TOSRRP
;
$TITLE
$ "SCH48v2.0 HP48 SCHEDULER"
$VISIBLE
{
ID SCHED
ID D\->CAL
}
$ROMID
% 1492
CAL.1
::
RECLAIMDISP
DUPDUP
FORTYTWO
TestSysFlag
IT
::
%FP
%100
%*
;
%IP>#
$ "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
SWAP
THREE
#*
DUP
#2-
SWAP
SUB$
SWAP
%100
%*
%FP
% 10000
%*
COERCE
#>$
&$
NEWLINE$&$
$ "Su Mo Tu We Th Fr Sa
"
&$
SWAP
CODE
GOSBVL =POPDATE%
LCHEX 01
D=C B
R0=A
GOSBVL =YMD>Ticks
GOSBVL =dowutil
LCHEX 7
?C#A P
GOYES L7FFC1 +00005
A=0 P
L7FFC1 AR0EX
C=0 W
C=DAT0 B
B=C B
GOSBVL #0D485
GONC L7FFE3 +0000E
LCHEX 28
?B#C B
GOYES L7FFE3 +00005
B=B+1 B
L7FFE3 C=B A
GOSBVL =DCHXW
R1=C
GOVLNG =Push2#Loop
ENDCODE
OVER
THREE
#*
Blank$
$ " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31"
ROT
THREE
#*
1_#1-SUB
&$
ROTOVER
LEN$
#1+_ONE_DO
OVER
INDEX@
DUP
TWENTY
#+
SUB$
NEWLINE$&$
&$
TWENTYONE
+LOOP
SWAPDROP
ZEROZERO
ID PRT
SetDAsTemp
;
ICON
::
ID RPTG
LAM rptf
IT
::
TOTEMPOB
INVGROB
;
HARDBUFF
FIFTY
ZERO
GROB!
ID PXG
LAM pxf
IT
::
TOTEMPOB
INVGROB
;
HARDBUFF
FIFTYSIX
ZERO
GROB!
;
PXG
GROB 14 50000300007070507070
RPTG
GROB 14 50000500009151915151
CLPX
::
FOURTEEN
FORTYFOUR
EIGHTYONE
EIGHT
DO
2DUP
INDEX@
SWAPOVER
4UNROLL
LINEOFF
TWELVE
+LOOP
2DROP
;
DTPX
::
UNROT
ID WHER
#3+
SWAP
#8+
SWAP
ROT
ITE
PIXON
PIXOFF
;
MNPX
::
LAM pxf
case2DROP
FORTYTWO
TestSysFlag
SWAPOVER
ITE
::
%FP
DUP
%1+
SWAP
%100
%*
;
::
DUPDUP
%FP
%100
%*
%IP
%1-
%100
%/
%-
SWAP
;
%IP>#
SWAP
BEGIN
ASSEMBLE
CON(5) #EE50
RPL
DUP
ASSEMBLE
CON(5) #EBD5
RPL
ID ARNXT
ITE
::
ASSEMBLE
CON(5) #E1D8
RPL
ONE
NTHCOMPDROP
2DUP
5PICK
IT
::
%FP
%100
%*
;
%IP>#
#=
;
ONEFALSE
WHILE
::
4PICKOVER
TRUE
ID DTPX
%1
ASSEMBLE
CON(5) #CC79
RPL
;
REPEAT
4DROP
;
ARNXT
::
ASSEMBLE
CON(5) #E402
RPL
case
::
SWAP
ID RNXT
IT
::
DROP
ID ORDA
SWAPDROP
;
TRUE
;
ID RNXT
ITE
DROPTRUE
FALSE
;
ORDA
CODE
AD1EX
D1=(5) =DSKTOP
DAT1=A A
D1=A
A=0 W
C=0 W
A=DAT1 A
D1=D1+ 5
C=DAT1 A
D1=A
D1=D1+ 15
A=DAT1 13
D1=C
D1=D1+ 15
C=DAT1 13
?C<A W
GOYES L7FFE8 +00010
GOSBVL =D1=DSKTOP
GOVLNG =Loop
L7FFE8 GOSBVL =D1=DSKTOP
GOVLNG #03228
ENDCODE
RNXT
::
ID RPTA
DUPNULL{}?
case2drpfls
TWO
ZERO_DO
INNERCOMP
BEGIN
#1-
DUP#0<>
WHILE
::
SWAPROT
ID ORDA
INDEX@
#0=ITE
DROPSWAP
UNROTDROP
;
REPEAT
DROPSWAP
LOOP
TRUE
;
&APP$
::
DROPSWAP
DUPDUP
LAM alst
SWAP
>TCOMP
'
LAM alst
STO
TOD>t$
FORTYONE
TestSysFlag
ITE
::
TWO
SIX
SUB$SWAP
;
::
DUP
SIX
1_#1-SUB
SWAP
NINE
NINE
SUB$
&$SWAP
;
DUP
%4
TRCXY
%-
DUP
%0=
ITE
DROP
::
% 200000
%*
%2
RNDXY
%5
%*
%0
%HMS+
%24
%MOD
TOD>t$
FORTYONE
TestSysFlag
ITE
::
TWO
SIX
SUB$
;
::
DUP
SIX
1_#1-SUB
SWAP
NINE
NINE
SUB$
&$
;
CHR_-
>H$
&$
;
NEWLINE$&$
SWAP
DUPTYPECSTR?
?SKIP
::
DECOMP$
COERCE$22
;
&$
NEWLINE$&$
&$
;
RPTA
::
DUP
HXS B 00000000000
&HXS
SWAP
ASSEMBLE
CON(5) #EBD5
RPL
DUP#1=
LAM rptf
OR
case2drop
::
NULL{}
DUP
;
NULL{}
DUP
ASSEMBLE
CON(5) #E235
RPL
TOTEMPOB
4ROLL
ONE_DO
DUP
INDEX@
NTHCOMPDROP
DUP
6PICK
SWAP
ONESWAP
PUTLIST
CODE
GOSBVL =SAVPTR
CD1EX
D1=C
D0=C
D0=D0+ 5
A=DAT0 A
D0=A
D0=D0+ 15
D0=D0+ 13
A=0 W
C=0 W
C=DAT0 10
LAHEX 2A300000
?C>=A W
GOYES L7FF67 +00017
GOSBVL =GETPTR
D=D+1 A
D=D+1 A
D1=D1+ 10
GOVLNG =DOFALSE
L7FF67 A=DAT1 A
D1=A
D1=D1+ 15
A=DAT1 13
A=A-1 W
B=A W
D0=D0- 13
A=DAT0 13
R0=A
A=B-A W
GOSUB L7FFB3 +00028
A=B W
B=C W
GOSBVL =MPY
A=R0
A=A+C W
C=A W
A=A+B W
DAT0=A 13
DAT1=C 13
GOVLNG =GPPushTLoop
L7FFB3 B=0 W
D=0 B
GOTO L7FFC9 +0000F
L7FFBD D=D+1 B
R1=C
C=C+C W
GOC L7FFEA +00023
L7FFC9 ?C<=A W
GOYES L7FFBD -0000F
GONC L7FFE2 +00013
L7FFD1 CSRB
L7FFD4 B=B+B W
?C>A W
GOYES L7FFE2 +00008
A=A-C W
B=B+1 W
L7FFE2 D=D-1 B
GONC L7FFD1 -00015
RTNCC
L7FFEA C=R1
D=D-1 B
RTNC
GONC L7FFD4 -00020
ENDCODE
IT
::
4ROLL
SWAP
>TCOMP
UNROT
4ROLL
SWAP
>TCOMP
UNROT
;
LOOP
DROPROT
DROP
;
TCA?
::
LAM tim
% .00003
%+
ID ANXT
SWAPDROP
#1-
DUP
ASSEMBLE
CON(5) #E402
RPL
NOT
casedrpfls
ASSEMBLE
CON(5) #E1D8
RPL
DUP
INCOMPDROP
2DROP
SWAP
LAM dat
%<>
case
::
3DROP
FALSE
;
DUP
%4
TRCXY
DUP
ROT
%-
DUP
%0=
ITE
::
DROPDUP
% .15
%HMS+
;
::
% -1000000
%*
;
LAM tim
DUP
ROT
%>
UNROT
%>
OR
case2drpfls
TRUE
;
CAL
::
DUP
ID CAL.1
DUPROT
ID MNPX
ID ICON
;
ANXT
::
LAM dat
ASSEMBLE
CON(5) #EE50
RPL
SWAP
ASSEMBLE
CON(5) #EE83
RPL
ASSEMBLE
CON(5) #EE26
RPL
DUP
ASSEMBLE
CON(5) #EBD5
RPL
;
DELA
::
'
LAM al$
STO
ASSEMBLE
CON(5) #E76F
RPL
ASSEMBLE
CON(5) #172B
RPL
ASSEMBLE
CON(5) #E164
RPL
;
TOA
::
ASSEMBLE
CON(5) #E1D8
RPL
DUP
'
LAM al$
STO
INCOMPDROP
2DROP
%2
TRCXY
DUP
'
LAM tim
STO
LAM dat
ROT
DDAYS
DUP
%0=
casedrop
ID TC
SWAPDROP
ID MVDC
;
SETA
::
RECLAIMDISP
LAM al$
THREE
NTHELCOMP
ITE
EDITDECOMP$
$_2DQ
BEGIN
$ "Enter Alarm EXEC:"
SWAP
TWO
ONE
ONEONE
NULL{}
ONE
FALSE
ONE
InputLine
ITE
::
SAVESTACK
ERRSET
::
DEPTH
SWAP
EVAL
SWAP
DEPTH
#1-
EQUAL
?SKIP
ERRJMP
SWAPDROP
ROT
FOUR
NDUP
FOUR
{}N
'
LAM al$
STO
ASSEMBLE
CON(5) #E6ED
RPL
DROP
TRUE
;
ERRTRAP
::
undo
DROP
$ "Invalid Alarm Exec"
FlashWarning
FALSE
;
ABND
;
::
3DROP
TRUE
;
UNTIL
%25
'
LAM atim
STO
%0
'
LAM adat
STO
LAM dat
DUP
ID CAL
DROP
ID DC
ID APPT
;
MVTC
::
LAM tim
%24
%+
%HMS+
%24
%MOD
DUP
'
LAM tim
STO
ID TC
;
TC
::
ID TCG
HARDBUFF2
TWENTYFOUR
ZERO
# 7A
THREE
GROB!ZERO
3PICK
ID TWHER
#2-
ZERO
GROB!
TOD>t$
FORTYONE
TestSysFlag
ITE
::
TWO
SIX
SUB$
;
::
SIX
1_#1-SUB
;
$>grob
ZEROSWAP
Grob>Menu
;
TCG
GROB 10 3000050000F1E040
TLIN
::
ZERO
ID TIMG
Grob>Menu
LAM alst
INNERCOMP
DUP#0=csDROP
ZERO_DO
DUPDUP
%4
TRCXY
%-
DUP
%0=
ITE
::
DROP
DUP
% .15
%+
;
::
% 200000
%*
%2
RNDXY
% 5
%*
;
ID TWHER
SWAP
ID TWHER
SWAPOVER
#-
# 79
3PICK
#-
#MIN
TWO
SWAP
MAKEGROB
INVGROB
HARDBUFF2
ROT
FIVE
GROB!
LOOP
;
TWHER
::
%HMS>
%4
%*
%.5
%+
%IP>#
TWENTYFIVE
#+
;
TIMG
GROB 11A 800003800000008F000000000000000000000000CF7000008F000000000000000000000000CF7000008D000000000000000000000000445000008A222222222222222222222222C55000008AEFFFFFFFFFFFFFFFFFFFFFFF544000008A0000000000000000000000004F5000008D0000000000000000000000004C5000008FEFFFFFFFFFFFFFFFFFFFFFFFDF70
DC
::
DUP
LAM dat
CODE
GOSBVL =POPDATE%
CSR W
CSR W
R1=C
GOSBVL =GETPTR
GOSBVL =POPDATE%
CSR W
CSR W
A=R1
SETHEX
?C=A W
GOYES L7FFEF +00009
GOVLNG =GPPushTLoop
L7FFEF GOVLNG =GPPushFLoop
ENDCODE
IT
::
DUP
ID CAL
'
LAM n
STO
;
'
LAM dat
STO
LAM n
LAM dat
ID WHER
2DUP
2DUP
EIGHT
ROT#+
SEVEN
ROT#+
HARDBUFF
5UNROLL
SUBGROB
THREE
NDUP
THREE{}N
'
LAM g
STO
INVGROB
XYGROBDISP
;
PRT
::
ROT
BEGIN
SEP$NL
$>grob
4PICK
4PICK
ROT
XYGROBDISP
SIX
ROT#+SWAP
DUPNULL$?
UNTIL
3DROP
;
MVDC
::
LAM g
INCOMPDROP
XYGROBDISP
LAM dat
SWAP
ASSEMBLE
CON(5) #CC79
RPL
ID DC
CHECKKEY
IT
::
{
ELEVEN
SIXTEEN
SEVENTEEN
EIGHTEEN
}
matchob?
NOTcaseDROP
RDROP
;
ID APPT
;
APPT
::
NULL{}
'
LAM alst
STO
LAM dat
DUP
ASSEMBLE
CON(5) #EE50
RPL
ASSEMBLE
CON(5) #EBD5
RPL
1LAMBIND
NULL$
BEGIN
1GETLAM
ASSEMBLE
CON(5) #E402
RPL
ITE
::
ASSEMBLE
CON(5) #E1D8
RPL
INCOMPDROP
4ROLL
6PICK
%=
ITE
TRUE
::
3DROP
FALSE
;
;
FALSE
WHILE
::
ID &APP$
1GETLAM
#1+
1PUTLAM
;
REPEAT
ABND
OVER
ASSEMBLE
CON(5) #EE50
RPL
ID RPTA
DROP
DUPNULL{}?
ITE
DROPSWAPDROP
::
toLEN_DO
DUP
INDEX@
NTHCOMPDROP
ROTSWAP
ASSEMBLE
CON(5) #E1D8
RPL
INCOMPDROP
4ROLL
7PICK
%=
ITE
::
ID &APP$
$ "(RPT)
"
&$
SWAP
;
::
3DROP
SWAP
;
LOOP
DROPSWAPDROP
;
LISTLAM
ZERO
HARDBUFF
DUPGROBDIM
5PICK
5PICK
ROT
4ROLL
GROB!ZERODRP
ID PRT
ID TLIN
LAM tim
ID TC
;
WHER
::
FORTYTWO
TestSysFlag
NOT
IT
::
%FP
%100
%*
;
%IP>#
#+-1
SEVEN
#/
#6*
ELEVEN
#+
SWAP
TWELVE
#*
SWAP
;