The Game Designer’s Calculator

If you’ve been following me on the social medias this week, you may have noticed a wee bit of excitement about a new calculator. It all starts with this tweet from Saturday:

Four short days later, it was justified and this wondrous calculator was ordered.

To celebrate, I’ve extended the sale through the end of February. So until then, you can still get 25% off of everything at the Dig 1,000 Holes PayHip store with the coupon code DM42.

While I wait for this beauty to arrive, allow me to tell you why I’m so excited about it and perhaps why you should be excited, too.

SwissMicros, the creators of the DM42, specialize in retroclones of old HP calculators. I have a couple of the DM-15s, regular sized one and a adorable little credit card sized one.

In general, the calculators appeal to me because they use RPN—a way of keying things into the calculator that just makes my brain hum—and they’re programmable. Because I don’t need a calculator to do calculations. I have spreadsheets on all over my phone and computer to do this for me. I need a calculator that invites me to play.

Calculators like these say, “Here’s the world we live in. Here are the rules we must abide by. Here are your tools. Let’s see what you can do.” A sentiment echoed by many of my favorite games.

These are toys—a word I use with reverence here. They are objects bursting with possibility. You want to tug at them and poke them and see how far you can push them. When applied correctly, they can turn solving a quadratic equation into a dopamine hit. Oh! And when you perfect the warp equation on one calc, you cannot wait to try it out on another.

Here’s What’s So Beautiful About the DM42

It runs on Free42, a re-implementation of the HP-42s. The 42s is, itself, something of a re-implementation of the HP-41C series. Now that calculator is a legend. It first came out four decades ago with grand features for the time. It was, of course, programmable. You could display messages in text on the screen. It was expandable, allowing you to new functions. You could save and off-load your programs, if you had the right hardware. A community sprung up around this calculator. Folks began sharing their programs—often by writing them out by hand and mimeographing copies. If you know where you look, you can find a ton of these user-generated programs online today.

42s was an updated version of the 41C, which included some functions you might have need expansions for, a larger screen, and some rudimentary graphics capabilities. It wasn’t a full-on graphing calculator, but you could program some graphing capabilities into it. Critically, the HP 42s was backwards compatible. You have to look out for some pitfalls, but for the most part that vast library of 41C folk programs was also available to the 42s.

But let’s talk about DM42 and Free42, because this is where things get interesting for you and me. Because these calx have something that neither the 42s nor the 41C had—an internet connection.

Go get a Free42 app. It is, as its name implies, free. Play around with. Explore the joys of a calculator manual. Try your hand at RPN math and then try a bit of programming. It’s always fun it figure out the area of a circle given its radius. Check out that solver!

And when you want to bring it to the gaming table and make yourself the envy of all your fellow players, key this puppy in!

00 { 686-Byte Prgm }
02 FS?C 06
03 GTO 00
04 ASSIGN "d4" TO 01
05 ASSIGN "d6" TO 02
06 ASSIGN "d8" TO 03
07 ASSIGN "d10" TO 04
08 ASSIGN "d12" TO 05
09 ASSIGN "d20" TO 06
10 ASSIGN "d100" TO 07
11 ASSIGN "dF" TO 08
12 ASSIGN "Coin" TO 09
13 ASSIGN "Bnfrd" TO 10
14 ASSIGN "Tone" TO 11
15 SF 27
17 XEQ 00
19▸LBL "d4"
20 4
21 XEQ 00
23▸LBL "d6"
24 6
25 XEQ 00
27▸LBL "d8"
28 8
29 XEQ 00
31▸LBL "d10"
32 10
33 XEQ 00
35▸LBL "d12"
36 12
37 XEQ 00
39▸LBL "d20"
40 20
41 XEQ 00
43▸LBL "d100"
44 100
45 XEQ 00
47▸LBL "dF"
48 -3
49 XEQ 00
50 "[ ]"
51 X>0?
52 "[+]"
53 X<0?
54 "[-]"
57▸LBL "Coin"
58 -2
59 XEQ 00
60 "Heads"
61 X=0?
62 "Tails"
65▸LBL "Bnfrd"
66 RAN
67 STO "xyzzy"
68 R↓
69 10
70 RCL× "xyzzy"
71 10↑X
72 IP
73 X<> "xyzzy"
74 10↑X
75 IP
76 X<> ST L
77 X<> "xyzzy"
78 CLV "xyzzy"
80▸LBL "Tone"
81 6
82 XEQ 00
83 STO "GlumY"
84 6
85 XEQ 00
86 STO "JovialX"
87 CF 34
88 SF 35
89 CLA
90 254
92 XEQ IND "JovialX"
93 254
95 7
96 RCL- "JovialX"
97 56
99 CF 35
100 "×××××××"
101 15
102 RCL- "JovialX"
103 57
105 CLA
106 7ᴇ-3
107 STO 07
108 254
109▸LBL 07
110 XTOA
111 ISG 07
112 GTO 07
113 7
114 RCL- "GlumY"
115 67
117 SF 34
118 CLA
119 254
120 XTOA
121 XEQ IND "GlumY"
122 254
123 XTOA
124 7
125 RCL- "GlumY"
126 67
128 CF 34
129 RCL "GlumY"
130 RCL "JovialX"
131 CLV "GlumY"
132 CLV "JovialX"
133 GTO "DICE"
134▸LBL 01
135 ├"×××μ×××"
136 RTN
137▸LBL 02
138 ├"×A×××Σ×"
139 RTN
140▸LBL 03
141 ├"×Σ×μ×A×"
142 RTN
143▸LBL 04
144 ├"×E×××E×"
145 RTN
146▸LBL 05
147 ├"×E×μ×E×"
148 RTN
149▸LBL 06
150 ├"×U×××U×"
151 RTN
152▸LBL 00
153 STO "xyzzy"
154 R↓
155 RAN
156 RCL× "xyzzy"
157 IP
158 ISG ST X
159 "Eppy was here."
160 X<> "xyzzy"
161 X<> ST L
162 X<> "xyzzy"
163 CLV "xyzzy"
164 RTN
165 END

Or just download Dice42.raw to whatever device you’ve got your Free42 running on and import it.

The point is, with Free42 out there, it’s no longer a solo game. Try this die-roller out! Run the DICE program. It’ll populate your custom menu with two rows of different dice. Some of them are straight forward. Some are a little more interesting. I took care to ensure that all but the Tone dice preserve your RPN stack. So you can treat a die roll just like entering any other number. Want to roll 3d6? Hit D6 three times and then + +.

Check this out: Run the DICE program and instead of choosing a dice from the menu, key in a number and hit R/S. It’ll roll a die of that size for you. (Works best with positive integers, but negative numbers can get you interesting results, too. See DF & COIN.) Now hit [Shift] LAST X to bring you initial number back, just in case you had to roll it more than once.

But you’re going to play Torchbearer tonight and you want the calc to check the rolls to see which ones are > 4 and therefore successes. You can write your own program to do that, have that program call on DICE to do the rolling. Just make sure the size of the die you’re rolling is in the x-register and set flag 06 before calling DICE, so that program knows to just roll. Something like

6  ←Assuming you're rolling a six-sider.
SF 06


P.S. There’s a sequel to this post written after I received my DM42 that goes into a little more depth as to why this particular calc appeals to me as a game designer. Do not miss The Calculator’s Game Design!


  1. E.T.Smith · February 7, 2018

    I … kinda have a irrational knee-jerk anger towards RPN. Y’see, my father, who missed-out on college in his youth accrued some _interesting_ shame-spawned notions about what campus culture was like by the time I enrolled; he swore I’d be laughed out of class for wearing sneakers instead of leather loafers, and held the unshakable belief that I _needed_ a elaborate RPN science calculator to survive academically, which he gifted to me with all the pomp of a liege handing his squire their first sword. Note I was an English major, so what I actually needed was any cheap casio to get me through the minimal run of geometry expected of a lib arts student. Using it for such basic math was like trying to stack soup cans with a freight crane. I was so relieved when I finally lost it and had an excuse to get that cheap casio instead.

  2. Pingback: New top story on Hacker News: The Game Designer’s Calculator – Tech + Hckr News
  3. Cambo · February 13, 2018

    I’m still waiting for some company to issue a remake of the Curta Model 1. Nothing like trying to reproduce 1100 machined parts in 3 different metals, as well as limited plastics, combined with a notoriously difficult assembly process to make a manufacturing challenge.

    • Epidiah · February 13, 2018

      That would be quite the undertaking, but I’d definitely get in line for one.

  4. Pingback: New top story on Hacker News: The Game Designer’s Calculator – ÇlusterAssets Inc.,
  5. Don Bindner · February 14, 2018

    I love RPN, or I guess now that I’ve dug around the terminology RPL maybe. I will never buy a calculator with a stack that only goes 4 levels deep. There’s barely a point to having a stack if I have to keep thinking about whether I’ve gone “off the top.”

    • Epidiah · February 14, 2018

      I’ve got a 50g & a 48sx, both of which use RPL, and I’m a big fan of both of them and their giant stacks. But for me, the 4-level stack also has its appeal. When you get used to working with a T register, you start to depend on it.

  6. Pingback: The Calculator’s Game Design | Dig a Thousand Holes Publishing

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s