[comp.sys.handhelds] HP48SX Calendar Utilities - Uncommented Programs

ebergman@isis.cs.du.edu (Eric Bergman-Terrell) (11/18/90)

          The following is a list of all programs in alphabetical order:

          ***** CD *****

          \<< 2299238.5 - 1 1
          1583 PKD SWAP DATE+
          \>>

          ***** DIM *****

          \<< \-> M Y
            \<< M 1 Y PKD
              IF M 12 <
              THEN M 1 + 1 Y
              ELSE 1 1 Y 1 +
              END PKD DDAYS
            \>>
          \>>

          ***** DOW *****

          \<< JD 1.5 + 7 MOD 1
          +
          \>>






          ***** DST *****

          \<< 0 0 \-> Y D
            \<< DATE 100 * FP
          10000 * 'Y' STO 4 1
          Y PKD 'D' STO
              WHILE D DOW 1 \=/
              REPEAT D 1
          DATE+ 'D' STO
              END
              IF DATE D <
              THEN D 2
                \<< 1 CAL
          SETCLK
                \>> 0 4 \->LIST
          STOALARM DROP
              END 10 31 Y PKD
          'D' STO
              WHILE D DOW 1 \=/
              REPEAT D -1
          DATE+ 'D' STO
              END
              IF DATE D <
              THEN D 2
                \<< -1 CAL
          SETCLK
                \>> 0 4 \->LIST
          STOALARM DROP
              END 1 1 Y 1 +
          PKD 1
              \<< CAL DST 0 CAL
          SETCLK
              \>> 0 4 \->LIST
          STOALARM DROP
            \>>
          \>>





















                                        - 2 -






          ***** DSTK *****

          \<< { } \-> P L
            \<< CLLCD -37 CF
          DEPTH \->LIST 'L' STO
          1 L SIZE
              FOR I L I GET I
          DISP
                IF P
                THEN L I GET
          PR1 CR DROP
                END
              NEXT
              IF P NOT
              THEN 0 WAIT
          DROP
              END
            \>>
          \>>

          ***** EASTER *****

          \<< 0 0 0 0 0 0 0 0 0
          0 0 0 0 \-> Y A B C D
          E F G H I K L M N
            \<< Y 19 MOD 'A'
          STO Y 100 / IP 'B'
          STO Y 100 MOD 'C'
          STO B 4 / 'D' STO B
          4 MOD 'E' STO B 8 +
          25 / IP 'F' STO B F
          - 1 + 3 / IP 'G'
          STO 19 A * B + D -
          G - 15 + 30 MOD 'H'
          STO C 4 / IP 'I'
          STO C 4 MOD 'K' STO
          32 2 E * + 2 I * +
          H - K - 7 MOD 'L'
          STO A 11 H * + 22 L
          * + 451 / IP 'M'
          STO H L + 7 M * -
          114 + DUP SWAP 31 /
          IP 'N' STO 31 MOD 1
          + N SWAP Y PKD
            \>>
          \>>

          ***** JD *****

          \<< 1 1 1583 PKD SWAP
          DDAYS 2299238.5 +
          \>>





                                        - 3 -






          ***** MCAL *****

          \<< "" 0 \-> M Y P S B
            \<< STD
          " SU  M TU  W TH  F SA"
          M 1 Y PKD 'B' STO
          "" B DOW 1 - 3 *
          PAD 'S' STO 1 M Y
          DIM
              START S B UPKD
          DROP SWAP DROP \->STR
          3 PAD + 'S' STO
                IF B DOW 7 ==
                THEN S "" 'S'
          STO
                END B 1 DATE+
          'B' STO
              NEXT S P DSTK
            \>>
          \>>

          ***** PAD *****

          \<< \-> S W
            \<< S
              WHILE DUP SIZE
          W <
              REPEAT " " SWAP
          +
              END
            \>>
          \>>

          ***** PKD *****

          \<< \-> M D Y
            \<< Y 1000000 /
              IF -42 FC?
              THEN D 100 / M
              ELSE M 100 / D
              END + +
            \>>
          \>>

          ***** SETCLK *****

          \<< 8192 * 3600 *
          CLKADJ DATE
          FINDALARM DELALARM
          \>>







                                        - 4 -






          ***** UPKD *****

          \<< \-> D
            \<< D
              IF -42 FC?
              THEN IP D FP
          100 *
              ELSE FP 100 *
          IP D
              END IP D 100 *
          FP 10000 *
            \>>
          \>>

          ***** YCAL *****

          \<< \-> Y
            \<< 1 12
              FOR M M \->STR
          "/" + Y \->STR + PR1
          CR DROP M Y 1 MCAL
          CR CR
              NEXT
            \>>
          \>>
































                                        - 5 -