commit 39ee11b688ccf1b467cc21533144602eb86058aa Author: Dennis Twardowsky Date: Sun Sep 1 18:11:29 2019 +0200 First issue diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4b54c9a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.exe + +*.raw +*.hex42 diff --git a/originals/asim.hp42s b/originals/asim.hp42s new file mode 100644 index 0000000..3bb5eab --- /dev/null +++ b/originals/asim.hp42s @@ -0,0 +1,221 @@ +00 { 485-Byte Prgm } +01 LBL "A-SIM" +02 MVAR "U_IN" +03 MVAR "W" +04 MVAR "GAIN" +05 VARMENU "A-SIM" +06 STOP +07 EXITALL +08 RCL "REGS" +09 STO "RSAVE" +10 -2 +11 10↑X +12 LBL 06 +13 CF IND ST X +14 ISG ST X +15 GTO 06 +16 INDEX "CIR" +17 J+ +18 J+ +19 [MAX] +20 J+ +21 [MAX] +22 X<>Y +23 R↓ +24 XY +26 0 +27 5 +28 INDEX "CIR" +29 LBL 10 +30 RCLEL +31 X=Y? +32 ISG ST Z +33 CLA +34 R↓ +35 I+ +36 FC? 76 +37 GTO 10 +38 J- +39 R↓ +40 STO "D" +41 + +42 STO "C" +43 STO "E" +44 ENTER +45 DIM "REGS" +46 CLRG +47 LBL 18 +48 RCLIJ +49 VIEW ST Y +50 CF 01 +51 CF 03 +52 CF 05 +53 RCLEL +54 SF IND ST X +55 J+ +56 GTO IND ST X +57 LBL 02 +58 LBL 03 +59 FS? 00 +60 GTO 17 +61 SF 00 +62 CLST +63 COMPLEX +64 STO+ "REGS" +65 LBL 17 +66 RCLEL +67 RCL× "W" +68 -1 +69 SQRT +70 × +71 LBL 01 +72 FS? 01 +73 RCLEL +74 FC? 03 +75 1/X +76 STO "X" +77 J+ +78 RCLEL +79 STO "A" +80 J+ +81 RCLEL +82 STO "B" +83 J+ +84 I- +85 X<>Y +86 X=0? +87 GTO 12 +88 ENTER +89 XEQ 09 +90 RCL "A" +91 RCL "B" +92 X=0? +93 GTO 00 +94 XEQ 09 +95 RCL "B" +96 RCL "A" +97 XEQ 09 +98 LBL 12 +99 RCL "B" +100 ENTER +101 XEQ 09 +102 GTO 00 +103 LBL 04 +104 RCLEL +105 1 +106 - +107 RCL× "C" +108 ENTER +109 RCL+ "C" +110 XEQ 19 +111 RCL "GAIN" +112 1/X +113 STO "X" +114 RCLEL +115 ENTER +116 ENTER +117 XEQ 09 +118 LBL 15 +119 1 +120 FS? 06 +121 +/- +122 STO "X" +123 RCL ST T +124 ENTER +125 J+ +126 RCLEL +127 X≠0? +128 XEQ 09 +129 FS?C 06 +130 GTO 16 +131 SF 06 +132 GTO 15 +133 LBL 05 +134 RCLEL +135 1/X +136 STO "X" +137 J+ +138 XEQ 14 +139 J- +140 CF 07 +141 1 +142 STO "X" +143 SF 09 +144 XEQ 14 +145 CF 07 +146 CF 09 +147 DSE "E" +148 LBL 16 +149 J+ +150 I- +151 CF 04 +152 LBL 00 +153 I+ +154 FC? 76 +155 GTO 18 +156 GTO 07 +157 LBL 14 +158 RCL "E" +159 RCLEL +160 XEQ 09 +161 FS? 07 +162 RTN +163 J+ +164 SF 07 +165 GTO 14 +166 LBL 09 +167 FC? 09 +168 X<>Y +169 X=Y? +170 SF 08 +171 1 +172 - +173 RCL× "C" +174 + +175 1 +176 - +177 RCL "X" +178 FC? 07 +179 FS?C 08 +180 +/- +181 STO+ IND ST Y +182 RTN +183 LBL 07 +184 CLD +185 1 +186 RCL "C" +187 LBL 19 +188 DSE ST X +189 3 +190 10↑X +191 ÷ +192 + +193 0 +194 LBL 11 +195 STO IND ST Y +196 ISG ST Y +197 GTO 11 +198 FS? 04 +199 RTN +200 1 +201 STO 00 +202 RCL "C" +203 1 +204 NEWMAT +205 EDIT +206 LBL 08 +207 ↑ +208 FS? 05 +209 1 +210 DSE "D" +211 GTO 08 +212 EDIT +213 RCL "U_IN" +214 EXITALL +215 RCL "RSAVE" +216 CLV "RSAVE" +217 X<> "REGS" +218 ÷ +219 EDIT +220 END diff --git a/originals/bigfact.hp42s b/originals/bigfact.hp42s new file mode 100644 index 0000000..6b61457 --- /dev/null +++ b/originals/bigfact.hp42s @@ -0,0 +1,75 @@ +00 { 127-Byte Prgm } +01 LBL "BN!" +02 REAL? +03 GTO 02 +04 LBL 01 +05 "Invalid data" +06 GTO 04 +07 LBL 02 +08 X<0? +09 GTO 01 +10 FP +11 X≠0? +12 GTO 01 +13 CLA +14 LASTX +15 254 +16 X<>Y +17 X≥Y? +18 GTO 03 +19 N! +20 ARCL ST X +21 ENTER +22 LOG +23 IP +24 STO ST Z +25 10↑X +26 ÷ +27 X<>Y +28 GTO 04 +29 LBL 03 +30 ENTER +31 LN +32 1 +33 - +34 RCL ST Y +35 × +36 LASTX +37 STO+ ST X +38 PI +39 × +40 SQRT +41 LN +42 + +43 R↑ +44 12 +45 × +46 1/X +47 ENTER +48 R↑ +49 X↑2 +50 ÷ +51 30 +52 ÷ +53 - +54 + +55 10 +56 LN +57 ÷ +58 IP +59 LASTX +60 FP +61 10↑X +62 1ᴇ6 +63 × +64 0.5 +65 + +66 IP +67 1ᴇ6 +68 ÷ +69 ARCL ST X +70 ⊢"ᴇ" +71 X<>Y +72 AIP +73 LBL 04 +74 AVIEW \ No newline at end of file diff --git a/originals/clear.hp42s b/originals/clear.hp42s new file mode 100644 index 0000000..6ed0cd5 --- /dev/null +++ b/originals/clear.hp42s @@ -0,0 +1,12 @@ +00 { 24-Byte Prgm } +01 LBL "CLEAR" +02 CLST +03 CLA +04 CLRG +05 CLKEYS +06 CLMENU +07 SIZE 25 +08 FIX 04 +09 × +10 STOP +11 END \ No newline at end of file diff --git a/originals/dsim.hp42s b/originals/dsim.hp42s new file mode 100644 index 0000000..5af8225 --- /dev/null +++ b/originals/dsim.hp42s @@ -0,0 +1,225 @@ +00 { 490-Byte Prgm } +01 LBL "D-SIM" +02 RCL "REGS" +03 STO "RSAVE" +04 ALL +05 INDEX "DC" +06 J+ +07 [MAX] +08 J+ +09 [MAX] +10 X<>Y +11 R↓ +12 XY +14 J+ +15 [MAX] +16 X<>Y +17 R↓ +18 XY +20 6 +21 ÷ +22 IP +23 1 +24 + +25 6 +26 × +27 STO "M" +28 ENTER +29 ENTER +30 2 +31 × +32 1 +33 + +34 1 +35 DIM "REGS" +36 CLRG +37 R↓ +38 R↓ +39 6 +40 - +41 1ᴇ3 +42 ÷ +43 6ᴇ-5 +44 + +45 STO 00 +46 LBL 15 +47 1 +48 XEQ 11 +49 KEY 1 GTO A +50 2 +51 XEQ 11 +52 KEY 2 GTO B +53 3 +54 XEQ 11 +55 KEY 3 GTO C +56 4 +57 XEQ 11 +58 KEY 4 GTO D +59 5 +60 XEQ 11 +61 KEY 5 GTO E +62 6 +63 XEQ 11 +64 KEY 6 GTO F +65 KEY 7 GTO G +66 KEY 8 GTO H +67 KEY 9 GTO I +68 MENU +69 CLX +70 STOP +71 GTO 14 +72 LBL A +73 1 +74 LBL 12 +75 RCL+ 00 +76 1 +77 RCL- IND ST Y +78 STO IND ST Y +79 GTO 15 +80 LBL B +81 2 +82 GTO 12 +83 LBL C +84 3 +85 GTO 12 +86 LBL D +87 4 +88 GTO 12 +89 LBL E +90 5 +91 GTO 12 +92 LBL F +93 6 +94 GTO 12 +95 LBL G +96 RCL 00 +97 6 +98 - +99 X≥0? +100 STO 00 +101 GTO 15 +102 LBL H +103 ISG 00 +104 GTO 15 +105 RCL 00 +106 FP +107 STO 00 +108 GTO 15 +109 LBL 14 +110 RCL "M" +111 1ᴇ3 +112 ÷ +113 STO "C" +114 INDEX "REGS" +115 2 +116 1 +117 STOIJ +118 RCL "M" +119 X<>Y +120 GETM +121 RCL "M" +122 2 +123 + +124 1 +125 STOIJ +126 R↓ +127 R↓ +128 PUTM +129 INDEX "DC" +130 LBL 13 +131 RCLIJ +132 VIEW ST Y +133 RCLEL +134 J+ +135 RCLEL +136 J+ +137 RCLEL +138 J+ +139 RCLEL +140 SF 30 +141 RCL IND ST X +142 X<>Y +143 SF 30 +144 RCL IND ST X +145 XEQ IND ST T +146 X<>Y +147 RCL "M" +148 + +149 X<>Y +150 STO IND ST Y +151 J+ +152 FC? 77 +153 GTO 13 +154 INDEX "REGS" +155 RCL "M" +156 2 +157 + +158 1 +159 STOIJ +160 RCL "M" +161 X<>Y +162 GETM +163 2 +164 1 +165 STOIJ +166 RCL "M" +167 X<>Y +168 GETM +169 X<>Y +170 R↓ +171 X<>Y +172 PUTM +173 X=Y? +174 GTO 17 +175 INDEX "DC" +176 ISG "C" +177 GTO 13 +178 "UNSTABLE" +179 AVIEW +180 GTO 15 +181 LBL 17 +182 "READY" +183 AVIEW +184 GTO 15 +185 LBL 01 +186 AND +187 RTN +188 LBL 02 +189 AND +190 GTO 16 +191 LBL 03 +192 OR +193 RTN +194 LBL 04 +195 OR +196 GTO 16 +197 LBL 05 +198 XOR +199 RTN +200 LBL 06 +201 XOR +202 LBL 16 +203 1 +204 XOR +205 RTN +206 LBL 07 +207 X<>Y +208 R↓ +209 1 +210 XOR +211 RTN +212 LBL 11 +213 RCL+ 00 +214 "N" +215 AIP +216 ⊢":" +217 ARCL IND ST X +218 RTN +219 LBL I +220 RCL "RSAVE" +221 CLV "RSAVE" +222 STO "REGS" +223 CLST +224 END \ No newline at end of file diff --git a/originals/fctr.hp42s b/originals/fctr.hp42s new file mode 100644 index 0000000..bd24c3c --- /dev/null +++ b/originals/fctr.hp42s @@ -0,0 +1,203 @@ +00 { 463-Byte Prgm } +01 LBL "FCTR" +02 STO "X_FCTR" +03 R↓ +04 STO "Y_FCTR" +05 R↓ +06 STO "Z_FCTR" +07 R↓ +08 STO "T_FCTR" +09 LASTX +10 STO "L_FCTR" +11 RCL "REGS" +12 STO "R_FCTR" +13 SIZE 02 +14 CLA +15 R↑ +16 1 +17 X<>Y +18 0 +19 FS?C 00 +20 X<> ST Z +21 STO 01 +22 R↓ +23 REAL? +24 GTO 05 +25 LBL 06 +26 "Invalid type" +27 GTO 04 +28 LBL 05 +29 FP +30 X≠0? +31 GTO 06 +32 LASTX +33 X<0? +34 "-" +35 ABS +36 X=0? +37 GTO 06 +38 1ᴇ8 +39 X>Y? +40 GTO 00 +41 "Out of range" +42 GTO 04 +43 LBL 01 +44 STO 00 +45 X<>Y +46 STO ST Y +47 LASTX +48 FS? 00 +49 ⊢"*" +50 SF 00 +51 AIP +52 ÷ +53 STO ST Y +54 LASTX +55 MOD +56 X≠0? +57 RTN +58 ⊢"↑" +59 LBL 02 +60 X<>Y +61 STO ST Y +62 LASTX +63 ÷ +64 ISG 00 +65 RTN +66 STO ST Y +67 LASTX +68 MOD +69 X=0? +70 GTO 02 +71 X<>Y +72 RCL 00 +73 ISG ST X +74 RTN +75 AIP +76 RTN +77 LBL 00 +78 R↓ +79 STO ST Y +80 1 +81 X=Y? +82 AIP +83 R↓ +84 2 +85 MOD +86 X=0? +87 XEQ 01 +88 X<>Y +89 STO ST Y +90 3 +91 MOD +92 X=0? +93 XEQ 01 +94 X<>Y +95 STO ST Y +96 5 +97 MOD +98 X=0? +99 XEQ 01 +100 X<>Y +101 STO ST Y +102 7 +103 MOD +104 X=0? +105 XEQ 01 +106 LBL 03 +107 X<>Y +108 STO ST Y +109 LASTX +110 4 +111 + +112 MOD +113 X=0? +114 XEQ 01 +115 X<>Y +116 STO ST Y +117 LASTX +118 2 +119 + +120 MOD +121 X=0? +122 XEQ 01 +123 X<>Y +124 STO ST Y +125 LASTX +126 4 +127 + +128 MOD +129 X=0? +130 XEQ 01 +131 X<>Y +132 STO ST Y +133 LASTX +134 2 +135 + +136 MOD +137 X=0? +138 XEQ 01 +139 X<>Y +140 STO ST Y +141 LASTX +142 4 +143 + +144 MOD +145 X=0? +146 XEQ 01 +147 X<>Y +148 STO ST Y +149 LASTX +150 6 +151 + +152 MOD +153 X=0? +154 XEQ 01 +155 X<>Y +156 STO ST Y +157 LASTX +158 2 +159 + +160 MOD +161 X=0? +162 XEQ 01 +163 X<>Y +164 STO ST Y +165 LASTX +166 6 +167 + +168 MOD +169 X=0? +170 XEQ 01 +171 X<>Y +172 LASTX +173 X↑2 +174 X≤Y? +175 GTO 03 +176 1 +177 RCL ST Z +178 X=Y? +179 GTO 04 +180 FS? 00 +181 ⊢"*" +182 AIP +183 LBL 04 +184 AVIEW +185 CF 00 +186 RCL 01 +187 X>0? +188 SF 00 +189 RCL "R_FCTR" +190 STO "REGS" +191 RCL "L_FCTR" +192 STO ST L +193 RCL "T_FCTR" +194 RCL "Z_FCTR" +195 RCL "Y_FCTR" +196 RCL "X_FCTR" +197 CLV "R_FCTR" +198 CLV "L_FCTR" +199 CLV "T_FCTR" +200 CLV "Z_FCTR" +201 CLV "Y_FCTR" +202 CLV "X_FCTR" \ No newline at end of file diff --git a/originals/mort.hp42s b/originals/mort.hp42s new file mode 100644 index 0000000..e1047cc --- /dev/null +++ b/originals/mort.hp42s @@ -0,0 +1,75 @@ +00 { 220-Byte Prgm } +01 LBL "MORT" +02 PGMSLV "TVM" +03 LBL 99 +04 VARMENU "TVM" +05 STOP +06 "DUE" +07 KEY 1 GTO 01 +08 "FV" +09 KEY 2 GTO 02 +10 "PV" +11 KEY 3 GTO 03 +12 "I" +13 KEY 4 GTO 04 +14 "N" +15 KEY 5 GTO 05 +16 "PMT" +17 KEY 6 GTO 06 +18 MENU +19 LBL 07 +20 STOP +21 GTO 07 +22 GTO 99 +23 LBL 01 +24 "1=due,0=arrears" +25 AVIEW +26 PSE +27 GTO 99 +28 LBL 02 +29 SOLVE "FV" +30 GTO 99 +31 LBL 03 +32 SOLVE "PV" +33 GTO 99 +34 LBL 04 +35 SOLVE "I" +36 GTO 99 +37 LBL 05 +38 SOLVE "N" +39 GTO 99 +40 LBL 06 +41 SOLVE "PMT" +42 GTO 99 +43 END +44 LBL "TVM" +45 MVAR "DUE" +46 MVAR "FV" +47 MVAR "PV" +48 MVAR "i" +49 MVAR "N" +50 MVAR "PMT" +51 1 +52 1 +53 RCL+ "i" +54 RCL "N" +55 +/- +56 Y↑X +57 - +58 RCL÷ "i" +59 RCL× "PMT" +60 1 +61 RCL "i" +62 RCL× "DUE" +63 + +64 × +65 +/- +66 1 +67 RCL+ "i" +68 RCL "N" +69 +/- +70 Y↑X +71 RCL× "FV" +72 - +73 RCL+ "PV" +74 END \ No newline at end of file diff --git a/originals/qpi.hp42s b/originals/qpi.hp42s new file mode 100644 index 0000000..0044472 --- /dev/null +++ b/originals/qpi.hp42s @@ -0,0 +1,390 @@ +00 { 863-Byte Prgm } +01 LBL "QPI" +02 STO "X_QPI" +03 R↓ +04 STO "Y_QPI" +05 R↓ +06 STO "Z_QPI" +07 R↓ +08 STO "T_QPI" +09 LASTX +10 STO "L_QPI" +11 RCL "REGS" +12 STO "R_QPI" +13 R↑ +14 18 +15 1 +16 NEWMAT +17 STO "REGS" +18 LASTX +19 FS?C 00 +20 STO 16 +21 RCL ST Z +22 CLA +23 CPX? +24 GTO 37 +25 REAL? +26 GTO 14 +27 "Invalid type" +28 GTO 11 +29 LBL 14 +30 XEQ 36 +31 GTO 11 +32 LBL 37 +33 FS? 37 +34 →REC +35 COMPLEX +36 X≠0? +37 GTO 27 +38 R↓ +39 GTO 14 +40 LBL 27 +41 STO 17 +42 X<>Y +43 X=0? +44 GTO 32 +45 "(" +46 XEQ 36 +47 FS? 00 +48 GTO 11 +49 ⊢"," +50 RCL 17 +51 XEQ 36 +52 FC? 00 +53 ⊢")" +54 GTO 11 +55 LBL 32 +56 X<>Y +57 XEQ 36 +58 FC? 00 +59 ⊢"*i" +60 GTO 11 +61 LBL 36 +62 ENTER +63 SIGN +64 STO 00 +65 × +66 STO 15 +67 1ᴇ10 +68 X>Y? +69 GTO 25 +70 "Out of range" +71 SF 00 +72 RTN +73 LBL 25 +74 0.111111111 +75 ENTER +76 RND +77 - +78 X=0? +79 9ᴇ-10 +80 1ᴇ-10 +81 + +82 LOG +83 IP +84 10↑X +85 STO 01 +86 4ᴇ-3 +87 STO 03 +88 LBL 05 +89 0 +90 STO 12 +91 1 +92 STO 08 +93 20 +94 RCL+ 03 +95 XEQ IND ST X +96 RCL 04 +97 RCL 15 +98 X>Y? +99 GTO 06 +100 STO ST Y +101 RCL 01 +102 + +103 RCL ST Y +104 LASTX +105 - +106 XEQ IND 03 +107 STO 05 +108 R↓ +109 XEQ IND 03 +110 STO 06 +111 R↓ +112 XEQ IND 03 +113 STO 07 +114 STO 02 +115 X≥0? +116 GTO 07 +117 +/- +118 STO 07 +119 RCL ST T +120 +/- +121 X<> 05 +122 +/- +123 STO 06 +124 LBL 07 +125 RCL 07 +126 STO 13 +127 IP +128 LBL 28 +129 RCL 05 +130 X<>Y +131 RCL÷ 08 +132 XY +153 X>Y? +154 GTO 06 +155 RCL× 07 +156 0.5 +157 + +158 IP +159 GTO 28 +160 LBL 30 +161 RCL 08 +162 STO 09 +163 LASTX +164 STO 10 +165 RCL 03 +166 IP +167 STO 14 +168 X≠0? +169 GTO 09 +170 RCL ST Z +171 100 +172 X>Y? +173 GTO 10 +174 GTO 06 +175 LBL 09 +176 RCL ST Y +177 10 +178 X>Y? +179 GTO 10 +180 LBL 06 +181 ISG 03 +182 GTO 05 +183 LBL 10 +184 RCL 14 +185 3 +186 X=Y? +187 GTO 29 +188 RCL 00 +189 X<0? +190 ⊢"-" +191 LBL 29 +192 15 +193 RCL+ 14 +194 XEQ IND ST X +195 RTN +196 LBL 00 +197 RTN +198 LBL 01 +199 X↑2 +200 RTN +201 LBL 02 +202 PI +203 ÷ +204 RTN +205 LBL 03 +206 RCL× 00 +207 E↑X +208 RCL× 00 +209 RTN +210 LBL 04 +211 LN +212 RTN +213 LBL 20 +214 1ᴇ12 +215 STO 04 +216 STO 11 +217 RTN +218 LBL 21 +219 5ᴇ5 +220 SQRT +221 STO 04 +222 1ᴇ3 +223 GTO 12 +224 LBL 22 +225 100 +226 PI +227 × +228 STO 04 +229 1ᴇ3 +230 GTO 12 +231 LBL 23 +232 1ᴇ3 +233 LN +234 STO 04 +235 50 +236 GTO 12 +237 LBL 24 +238 1ᴇ499 +239 STO 04 +240 50 +241 LBL 12 +242 RCL 09 +243 X>Y? +244 X<>Y +245 STO 11 +246 RTN +247 LBL 15 +248 RCL 10 +249 AIP +250 1 +251 RCL 09 +252 X=Y? +253 RTN +254 ⊢"/" +255 AIP +256 RTN +257 LBL 16 +258 RCL 09 +259 XEQ 31 +260 STO 03 +261 RCL 02 +262 STO 09 +263 RCL 10 +264 XEQ 31 +265 STO 05 +266 RCL 02 +267 RCL ST Y +268 SQRT +269 FP +270 X≠0? +271 GTO 35 +272 R↓ +273 X<>Y +274 SQRT +275 × +276 1 +277 STO 05 +278 LBL 35 +279 R↓ +280 STO 10 +281 RCL 09 +282 X≠Y? +283 SF 00 +284 X≠Y? +285 XEQ 15 +286 RCL 05 +287 STO 10 +288 RCL 03 +289 STO 09 +290 FS?C 00 +291 ⊢"*" +292 ⊢"√" +293 LBL 13 +294 ⊢"(" +295 FS?C 00 +296 ⊢"-" +297 XEQ 15 +298 ⊢")" +299 RTN +300 LBL 17 +301 XEQ 15 +302 ⊢"*π" +303 RTN +304 LBL 18 +305 ⊢"LN" +306 GTO 13 +307 LBL 19 +308 ⊢"EXP" +309 RCL 02 +310 X<0? +311 SF 00 +312 GTO 13 +313 LBL 31 +314 STO 01 +315 1 +316 STO 02 +317 38 +318 STO 06 +319 LBL 08 +320 XEQ IND 06 +321 STO 07 +322 R↓ +323 STO 08 +324 RCL 01 +325 XEQ 33 +326 RCL 01 +327 X<>Y +328 ÷ +329 XEQ 33 +330 STO× 02 +331 X↑2 +332 STO÷ 01 +333 1 +334 X≠Y? +335 GTO 08 +336 RCL 07 +337 RCL 01 +338 XY +349 X>0? +350 GTO 34 +351 R↓ +352 RTN +353 LBL 38 +354 200560490130 +355 1369 +356 RTN +357 LBL 39 +358 584803025179 +359 4489 +360 RTN +361 LBL 40 +362 202652143553 +363 9409 +364 RTN +365 LBL 41 +366 11769028333 +367 1ᴇ9 +368 RTN +369 LBL 11 +370 AVIEW +371 CF 00 +372 RCL 16 +373 X>0? +374 SF 00 +375 RCL "R_QPI" +376 STO "REGS" +377 RCL "L_QPI" +378 STO ST L +379 RCL "T_QPI" +380 RCL "Z_QPI" +381 RCL "Y_QPI" +382 RCL "X_QPI" +383 CLV "R_QPI" +384 CLV "L_QPI" +385 CLV "T_QPI" +386 CLV "Z_QPI" +387 CLV "Y_QPI" +388 CLV "X_QPI" +389 END diff --git a/originals/res-c.hp42s b/originals/res-c.hp42s new file mode 100644 index 0000000..808a0ea --- /dev/null +++ b/originals/res-c.hp42s @@ -0,0 +1,63 @@ +00 { 143-Byte Prgm } +01 LBL "RES-C" +02 X≤0? +03 GTO 11 +04 CLA +05 ENTER +06 ENTER +07 LOG +08 IP +09 1 +10 - +11 STO ST Z +12 10↑X +13 ÷ +14 10 +15 ÷ +16 IP +17 XEQ IND ST X +18 ⊢" " +19 R↓ +20 LASTX +21 FP +22 10 +23 × +24 XEQ IND ST X +25 ⊢" " +26 XEQ IND ST Y +27 R↑ +28 GTO 10 +29 LBL 00 +30 ⊢"BLACK" +31 RTN +32 LBL 01 +33 ⊢"BROWN" +34 RTN +35 LBL 02 +36 ⊢"RED" +37 RTN +38 LBL 03 +39 ⊢"ORANGE" +40 RTN +41 LBL 04 +42 ⊢"YELLOW" +43 RTN +44 LBL 05 +45 ⊢"GREEN" +46 RTN +47 LBL 06 +48 ⊢"BLUE" +49 RTN +50 LBL 07 +51 ⊢"VIOLET" +52 RTN +53 LBL 08 +54 ⊢"GREY" +55 RTN +56 LBL 09 +57 ⊢"WHITE" +58 RTN +59 LBL 10 +60 AVIEW +61 LBL 11 +62 END \ No newline at end of file diff --git a/originals/res-v.hp42s b/originals/res-v.hp42s new file mode 100644 index 0000000..a5f9e88 --- /dev/null +++ b/originals/res-v.hp42s @@ -0,0 +1,89 @@ +00 { 228-Byte Prgm } +01 LBL "RES-V" +02 SF 01 +03 SF 02 +04 LBL 00 +05 CLMENU +06 "BLAC" +07 KEY 1 XEQ 01 +08 "BROW" +09 KEY 2 XEQ 02 +10 "RED" +11 KEY 3 XEQ 03 +12 "ORANG" +13 KEY 4 XEQ 04 +14 "YELLO" +15 KEY 5 XEQ 05 +16 "GREE" +17 KEY 6 XEQ 06 +18 KEY 7 GTO 11 +19 KEY 8 GTO 11 +20 KEY 9 GTO 12 +21 MENU +22 STOP +23 GTO 00 +24 LBL 11 +25 CLMENU +26 "BLUE" +27 KEY 1 XEQ 07 +28 "VIOLE" +29 KEY 2 XEQ 08 +30 "GREY" +31 KEY 3 XEQ 09 +32 "WHITE" +33 KEY 4 XEQ 10 +34 KEY 7 GTO 00 +35 KEY 8 GTO 00 +36 KEY 9 GTO 12 +37 MENU +38 STOP +39 GTO 11 +40 LBL 01 +41 0 +42 GTO 13 +43 LBL 02 +44 1 +45 GTO 13 +46 LBL 03 +47 2 +48 GTO 13 +49 LBL 04 +50 3 +51 GTO 13 +52 LBL 05 +53 4 +54 GTO 13 +55 LBL 06 +56 5 +57 GTO 13 +58 LBL 07 +59 6 +60 GTO 13 +61 LBL 08 +62 7 +63 GTO 13 +64 LBL 09 +65 8 +66 GTO 13 +67 LBL 10 +68 9 +69 LBL 13 +70 FS?C 01 +71 RTN +72 FC?C 02 +73 GTO 14 +74 X<>Y +75 10 +76 × +77 + +78 RTN +79 LBL 14 +80 SF 01 +81 SF 02 +82 10↑X +83 × +84 "VALUE: " +85 ARCL ST X +86 AVIEW +87 LBL 12 +88 END \ No newline at end of file diff --git a/originals/unixtime.free42 b/originals/unixtime.free42 new file mode 100644 index 0000000..68e8df2 --- /dev/null +++ b/originals/unixtime.free42 @@ -0,0 +1,37 @@ +00 { 105-Byte Prgm } +01 LBL "UTIME" +02 DATE +03 TIME +04 LBL "T2U" +05 1.01197 +06 RCL ST Z +07 DDAYS +08 24 +09 × +10 X<>Y +11 →HR +12 SF 25 +13 RCL- "TZOFF" +14 CF 25 +15 + +16 3600 +17 × +18 RTN +19 LBL "U2T" +20 3600 +21 ÷ +22 SF 25 +23 RCL+ "TZOFF" +24 CF 25 +25 RCL ST X +26 24 +27 ÷ +28 IP +29 1.01197 +30 X<>Y +31 DATE+ +32 X<>Y +33 24 +34 MOD +35 →HMS +36 END \ No newline at end of file diff --git a/q2x.free42 b/q2x.free42 new file mode 100644 index 0000000..9e68cad --- /dev/null +++ b/q2x.free42 @@ -0,0 +1,140 @@ +00 { 164-Byte Prgm } + +01 LBL "Q2F" + +02 SIZE 25 +03 CLRG + +// Save Stack +04 STO 01 +05 R↓ +06 STO 02 +07 R↓ +08 STO 03 +09 R↓ +10 STO 04 +11 R↓ + +// Get precision +12 8 +13 FS? 36 +14 STO+ 05 +15 4 +16 FS? 37 +17 STO+ 05 +18 2 +19 FS? 38 +20 STO+ 05 +21 1 +22 FS? 39 +23 STO+ 05 +24 RCL 05 +// If precision is 0, set default to 9 +25 X=0? +26 9 +27 +/- +28 10↑X +29 STO 05 + +// Init counter +30 10 +31 1000 +32 ÷ +33 0.00001 +34 + +35 STO 06 +36 10 +37 STO 07 + +38 CLST +39 RCL 01 + +// [[A]] [LOOP-BEGIN] Build continued fraction +40 LBL A +41 ENTER +42 IP +43 STO IND 07 +44 X<>Y +45 FP +46 STO 08 + +// Check if configured tolerance is reached --> goto B +47 RCL 05 +48 X>Y? +49 GTO B +// .. if not, roll-down check value +50 R↓ +// ... and invert result for next round +51 1/X + +// Increase REG-index +52 1 +53 STO+ 07 +54 R↓ + +// Proceed, if max num of rounds is reached --> repeat A +55 ISG 06 +56 GTO A +// [LOOP-END] Build continued fraction +57 GTO C + +// [[B]] FINISHED building continued fraction by tolerance +58 LBL B +// Remove last stack entry used for tolerance check +59 R↓ + +// [[C]] FINISHED building continued fraction by max num of rounds +60 LBL C + +// Init loop for reverse calculation from old value +61 RCL 06 +62 IP +63 0.00001 +64 + +65 STO 06 + +// Start calculation of final fraction +// NOTE: 1. fraction always has nominator =1 +66 CLST +67 1 +68 RCL IND 07 +69 PRSTK + +// [[D]] [LOOP-BEGIN] Reverse calculation +70 LBL D +71 ENTER +72 R↓ +73 X<>Y +74 R↑ + +// Decrease REG-index +75 1 +76 STO- 07 +77 CLX + +78 RCL IND 07 +79 × +80 + +81 PRSTK + +82 DSE 06 +83 GTO D +// [LOOP-END] Perform reverse calculation + +// Prepare Alpha-Register +84 CLA +85 AIP +86 X<>Y +87 ⊢"/" +88 AIP + +// Revert Stack +89 RCL 04 +90 RCL 03 +91 RCL 02 +92 RCL 01 + +// Show Result +//90 AVIEW + +93 END