commit c32cf95

zzo38  ·  2023-06-14 23:02:59 +0000 UTC
parent 60b6209
Add prg/ddate.tal (Discordian date)
1 files changed,  +57, -0
+57, -0
 1@@ -0,0 +1,57 @@
 2+\\ Discordian date
 3+\\ (Public domain)
 4+
 5+|0100
 6+  say "Today 20 "is 20 00
 7+  #00c2 DEI2 DUP2
 8+  #011d NEQ2 [? say "St. 20 "Tib's 20 "Day 00 !skip ]@
 9+  \\ Convert Gregorian date to number of days, excluding St. Tib's Day
10+  SWP #0007 SFT2 ;days ADD2 LDA2 ADD2
11+  \\ Discordian day of week
12+  STH2k LIT2r 0005 DIV2rk MUL2r SUB2r
13+  lsay :wday
14+  say ", 20 00
15+  \\ Discordian month and day of month
16+  #0049 DIV2k STH2k MUL2 SUB2
17+  lsay :month
18+  INC2 number
19+@skip
20+  say ", 20 "YOLD 00
21+  \\ Convert AD to YOLD
22+  #c0 DEI2 #048e ADD2 number
23+  say ". 0a 00 #800f DEO
24+
25+@days
26+  ffff 001e 003a 0050 0077 0096 00b4 00d3 00f2 0110 012f 014d
27+
28+@wday :&0 :&1 :&2 :&3 :&4
29+  &0 "Sweetmorn 00 JMP2
30+  &1 "Boomtime 00 JMP2
31+  &2 "Pungenday 00 JMP2
32+  &3 "Prickle-Prickle 00 JMP2
33+  &4 "Setting 20 "Orange 00 JMP2
34+
35+@month :&0 :&1 :&2 :&3 :&4
36+  &0 "Chaos 00 JMP2
37+  &1 "Discord 00 JMP2
38+  &2 "Confusion 00 JMP2
39+  &3 "Bureaucracy 00 JMP2
40+  &4 "The 20 "Aftermath 00 JMP2
41+
42+@lsay
43+  STH2r DUP2r ADD2r STH2k LDA2r ADD2r LDA2r INC2 INC2
44+@say
45+  [@ LDArk LITr 18 DEOr INC2r LDArk STHr ]? INC2r JMP2r
46+
47+@number
48+  #2018 DEO
49+  LITr 00
50+  [@
51+    #000a DIV2k STH2k MUL2 SUB2
52+    STH2 SWP2r STH2r
53+    NIPr LITr 30 ADDr
54+  ORAk ]?
55+  POP2
56+  [@ STHr #18 DEO STHrk ]?
57+  POPr
58+  JMP2r