Swiss Micros DM41 Quick Reference

Now that I’ve been using the excellent Swiss Micros DM-41 calculator a while, there are a few things I still tend to forget that are either different than the HP-41CX, or things that are the same that I just never did often enough. The HP-41CX Quick Reference Guide (if you can find one) is really handy, and I’m lucky enough to have an original printed copy in my notebook’s pocket. But there are some specifics to the DM-41, notably the power-on key assignments, that are helpful to have handy.

And thus is born my DM-41 Quick Reference Guide, available under a Creative Commons Share Alike Attributions (CC-BY-SA) license.

DM41 Quick Reference

It’s formatted to print for trifold to business size, so you can slip it in the business card elastic holder of the DM-41 flip cases.

You can download and make your own from this PDF. I’ve done a limited print run on card stock; if you’re interested in getting one by sending me a SASE, do let me know by email or Twitter (@kf6gpe).

Edit 20-Aug-2017: Updated to indicate that the cards are available for an SASE.

Some notes on the Swiss Micros DM41 series of calculators…

I have a long relationship with Hewlett-Packard portable computing devices; my first experiences programming were on my father’s HP-65, and later the HP-41CV his employer loaned him for his daily work. I had a microcomputer shortly after encountering the HP-65, but learning keystroke programming greatly aided my understanding of assembly language — although I didn’t really recognize that until much later. I later graduated to an HP-28S and then an HP-48SX. In recent years, I have used various HP emulators on the portable devices I use for over ten years; I keep falling back to Free42, because it runs almost everywhere in one port or another. I’ve played with others, and i41CX is what I run on all my iOS devices.

Much has been written about the fine craftsmanship and quality of these early devices — both their physical and electronic design, and the decisions made about their man-machine interfaces. I think exposure to this at an early age definitely has influenced my interest, desire, and recognition of fine design in modern computing products, especially mechanical interactions. I won’t add much here, except that though the bulk of my computation needs now are either so simple that I can do them in my head or on a slide rule (which, yes, I have one on my desk at work) or require real computation to set up, there is still a place for me to use a calculator. It is still faster for me to do some things with a calculator than add formulas to a sheet as I’m analyzing data; once I know what the data is telling me through this exploration, I can then put together the formulas and provide a reasonable presentation. I think because of my upbringing and training, there is something about the cognitive process of using a physical calculator — much as there is in writing with pen and paper instead of typing, a subject much discussed elsewhere.

I have just acquired a Swiss Micros DM41, their small replica of a HP-41CX calculator. It was a bit of an impulse purchase; I have a working HP-41CX I use occasionally, but don’t take it from the house because I am worried about breaking it or having it stolen (my first one was stolen, in 1988). But I had heard good things, and also wanted to support the effort overall — both by encouraging the good engineering of low-volume products for enthusiasts, and in the hopes that by supporting Michael Steinmann and his company that we’ll see other interesting things (the work on the DM42 is an excellent example of this).

I won’t say much about the HP-41 series of devices, but instead provide links to and There remains an avid user community, and almost all of the original programs that were published in one way or another can be found on the internet. Many remain useful today. There is also a lot to reflect on when considering the culture of information sharing about calculators and calculation programs in the 1980’s and 1990’s, and blogs and enthusiast sites today about things like iOS and Android, or any programming language, especially the small, up-and-coming ones. More on that in a future blog post, perhaps.

I would like, instead, to capture a few specific things about the DM-41 series (I will refer to both the DM41 and the DM41L as the DM41, because the features I’m discussing apply to both device) that are available from various forums and the Swiss Micros site, but necessarily in one place, both for future users and for future me.

The DM41 is a faithful emulator of the original HP-41CX microcode, running on a low-power ARM processor, with a good mechanical keyboard and dot-matrix LCD display. Battery life and CPU speed is of course drastically better, although the memory remains the same (319 registers plus the stack, or just a touch over two hundred bytes), and at present there’s no way to mount external ROM modules, either as physical hardware or as memory dumps. The DM41 is keystroke-programmed in FOCAL using Reverse Polish Notation, which you either love or will never fully understand. (Contrariwise, it wasn’t until I was about thirty-five that I was able to use an infix calculator with any fluency for more than one operation at a time.) Because the calculator is actually an emulator running the original microcode, synthetic programming is supported. Craftsmanship is excellent — I would not say it is a replica that is identical to the original, but carries the same quality and respect for engineering. The display is good, the keys clicky and reliable (although on the DM41L, take a bit more pressure than on an HP product, but I am told that they break in), and the mechanical design sound. There are two variants of the DM41; the DM41L is in “credit card” format, which is the one I bought, and the other in the HP Voyager format. My only complaint, which is my fault, is that the smaller format is almost too small for my big fingers to use. Had I actually held a credit card and thought about it before ordering, this would not be a surprise, so I fault myself, not Swiss Micros. And having something this small means it’s very easy to carry. Because the physical layout is landscape instead of portrait, the keys are laid out differently; this is a bit of problem for my muscle memory, and my first hour with it recalled my “button paralysis” when I switched from the HP-41 to the HP-28, or the HP-28 to the HP-48, or later picked up Dad’s HP-42S to do something with him in his lab and couldn’t find anything. I have not confirmed this, but it seems that some of the alpha keys are mapped differently, too, or else I have forgotten the mappings for the special alpha characters. Unlike the HP-41CX, there is no shortcut sticker on the back of the DM41L, which is probably a good thing, because it would be very small.

First, without further ado, power-on key sequences for the current (v23) firmware:
Keys Function Description
[ON]+[A] time and date
[ON]+[C] serial console switch to serial console (see below)
[ON]+[E] show information firmware version & battery voltage
[ON]+[CHS] LCD settings change LCD contrast with buttons [R/S],[3],[2],[.]
[ON]+[8] change speed toggle between 12MHz and 48MHz
[ON]+[9] key test key test similar to the one known on the other models
[ON]+[STO] -1h set the clock -1h: daylight saving and changing timezones
[ON]+[RCL] +1h set the clock +1h: daylight saving and changing timezones

Second, here’s how to use the USB port to capture RAM dumps. The original HP-41 series had both card reader and HP-IL accessories for disk (then, “disc”) and tape storage; over the years this has been used to get software off of these devices in a variety of formats. The DM41 series has a miniUSB port, and connecting it to a computer — Mac, Windows, Linux, or even Android with USB-OTG — with the serial mode active gives you the ability to exchange full RAM dumps between the DM41 and the connected computer. Setting up a Mac, PC, or Linux is straightforward, and you can find instructions here. For Android, you can use DroidTerm and a USB-OTG cable. I had it running with my Macbook in about five minutes; most of the time was spent digging around for a USB-C to USB-A adapter.

Once you connect the calculator and terminal (38400/N/8/1, please!), and bring up the calculator in serial mode by pressing C (SQRT) and power, you should see the DM41 prompt in the terminal display. From here, you can enter ‘?’ to get help.

There are two commands you’ll use for memory dumping — ‘s’ dumps the contents of the RAM and pertinent registers to the terminal, ‘l’ takes a similarly formatted RAM dump and replaces the contents of the dump with the calculator. The RAM dump is formatted as printable text; you can copy it and paste it into a text editor. Do yourself a favor — if you’ve spent any time at all programming yours, do a RAM dump now and copy the results to a text file, because it’s easy to forget to do that and later lose the calculator contents while experimenting with uploading other programs. (I speak from experience.)

Where things get interesting is the combination of software available on the web at sites like and the programming tool Swiss Micros provides. In this web page, you can paste a well-formatted HP41 FOCAL program listing (no line numbers, though) in the right hand window, and press “encode”, and get a RAM dump you can transfer to the calculator. Even more interesting, you can also install programs you find over the internet that have been saved in the the .raw file format using the programming tool. (You can find .raw files in a lot of places on the Web; a good place for many of the applications that have been written over the years is the library at, which only requires free registration). To transfer a .raw program to the calculator, download it to your PC, go to the programming tool, click “choose file” in the raw box, choose the file, and then “decode raw”. Copy the memory dump in the left hand window, go back to your terminal program connected to the DM41, and type ‘l’, and paste in the memory dump.

Because you’re transferring an entire memory dump, if you want to install more than one program, you need to do this:

  1. Make sure the alphanumeric labels in the program are unique.
  2. Make sure you have enough memory for the combined programs.
  3. Concatenate all of the program listings (without line numbers) together in one listing in a text editor, with END statements between each program..
  4. Copy the combined listing and paste it into the code box on the programming tool.
    Press “encode”.
  5. Copy the resulting memory dump and load it into the calculator as usual with the ‘l’ command.

I’ve done this to load the base conversion programs and the phase-of-the-moon program found on and the HP-41 User Solutions: Calendars collection.

If you want to get a .raw file from a program you’ve written, it’s likely trickier; I’d start by getting a RAM dump, getting the listing from the programming tool, and then running it through something like the third-party HP User Code utility you can find floating around in a few places. I haven’t tried this, though. If you just want to get your program to another emulator, but you might have problems with the fact that most FOCAL listings include line numbers, and the listings provided by the programming tool do not.

I don’t know a lot about the DM41 memory format, even after looking at some posts on both the Swiss Micros and the forums (the latter is especially recommended). What’s obvious, though, is that each row consists of four registers in hexadecimal (fifty-six bits per register, separated by spaces), and that it includes some, but not all, of the CPU registers. You’ll see the A, B, C, S, M, N, and G registers, but not the other ones. C is the processor store for the user-visible X register; S is the register holding the status flags. M and N are processor registers for interacting with the X register, as is G (a single-byte register used for alphanumeric mode, I gather).  (If you’re interested in the HP-41 internals, there’s a short summary of processor internals at, and of the HP-41 memory map at A quick forum post (thanks grsbanks!) helped me understand that the dumps don’t show anything that’s all zeros.


Edits 2017-06-24: Explained missing lines, removed registers not in the HP Nut CPU (I was conflating Nut and Saturn). Minor typo, link fixes.

Two podcasts to check out…

So, the cassette player thing is going well! I have a small stack of tapes from some great musicians on Bandcamp — if I get organized, I may blog about one or two of my favorites over the holiday weekend.

In the meantime, I wanted to share two podcasts with you: Norelco Mori and Tabs Out. Both are reviews of new cassette music releases — but in many ways cannot be more different.

Before I contrast them and make some general comments, I should say of both of these that they are very well produced. Audio quality is high throughout — clear, well-enunciated voices, little background noise, and good diction and speech. From that perspective, both are a real pleasure to listen to. I’m actually pretty fussy about this — I try a lot of podcasts, and don’t stick with many past the first half episode. If the audio is noisy, has too much echo, or if the speaker(s) voice(s) annoy me, off it goes. Similarly, what’s said and how it’s said is important too — we all “um” and “ah” somewhat, but there’s only so much of that — or just plain bad writing or poorly organized thoughts — that I can take before I want to drive into the opposite lane of traffic and put myself out of my misery. Both Norelco Mori and Tabs Out do very well in all of these regards — they’re what I’d call “professional” quality, on a par with good podcasts released by radio stations and other serious podcast networks like TWiT.

They are, however, very different. Norelco Mori prides itself as a podcast with “minimal talk”, and in that it delivers. The host, Ted Butler, does a bit at the beginning telling you what you’re going to hear, and then there’s about an hour of different works, and then a bit at the end about each artist and their method. Because of this, you can listen as actively or as passively as you wish (although I think you get a lot more from it from active listening). I’ve loved everything featured on the podcast, and it’s been difficult not to go to the computer after listening and just queue up a bunch of orders for new music.

Tabs Out is styled more as a radio program a la radio DJs. Honestly, I have a harder time following it; Mike Haley is joined by other hosts, each obviously with a different personality. I’ve never really enjoyed radio programming like that, and I kept wondering when they’d get to the music when I listened to the first episode I downloaded. When they finally do, they pick good music, though. But the format, for me, makes it harder to follow the music and really absorb their selections. It may well appeal to you, though, especially if you’re a fan of traditional radio programming.

If you’d like to discover some new, interesting music with a twist on cassette releases, they’re both worth checking out. I’m finding it easier to discover new stuff this way than surfing Bandcamp or Soundcloud, probably because my on-line time at home is somewhat limited, and I find most music recommendation algorithms just plain suck when it comes to knowing what I’ll like. These podcasts give me a chance to hear some great work by independent musicians when I’m driving to and from work, and their web sites let me follow up with them when I get a chance.

A new toy reminding me of old experiences…

So, there are a couple of electronic music artists who release predominantly or only to cassette tape that I wanted to listen to. I have held off buying their work, because I have not owned a tape player since the early 1990’s, and haven’t really had an interest in getting one. All I really remembered was flutter, and my father attempting to fix the Sony WM-R202 I’d saved up to buy that I broke when it fell off my belt, and failing and salvaging a really strong magnet, and me being very disappointed — part of the realization that parents are not infallible that every person goes through, I suppose. When MiniDisc came out, I just gave up on tape completely for making mixes and things, and I had only dabbled in ambient sound recording when I was younger (largely discouraged by my mother, who had very poor childhood memories of growing up with my grandfather who tape-recorded everything. I thought this was an exaggeration until we started cleaning things out of his garage.)

So I decided to get a tape player. At first I figured I’d just get an inexpensive one — did the drug store still sell them? Radio Shack isn’t an option; they’re out of business. I did a bit of Googling and decided I’d get a used one instead; the general consensus online was that it would be difficult to find one new in a store, and the quality of a new one was significantly inferior to an older one of good quality — both the construction and sound quality. I did not want to obsess about sound quality, but I did not want to experience what these artists had done in a manner as poorly as my dim memories of cassette music suggested. So I went on eBay and found a Sony WM-D6C. I picked this one after reading a couple of forums; the fact that it could also record was appealing, as an adjunct to the other music stuff I’ve been doing.

My Walkman

Continue reading A new toy reminding me of old experiences…

Auckland: Birds galore!

It’s been a week since we’ve been back, but I wanted to post a couple photos from the Auckland Zoo. We went there after meeting for worship on our last day in New Zealand before going to the airport, and it was worth it! We saw kiwi up close — I didn’t get any pictures, it was too dark in the kiwi house; they reverse days and nights for the birds so that people can see them doing something other than sleeping — and other indigenous birds, along with other, more common-to-us animals. Here’s a few photos.
OK, so the meerkat is neither a bird nor indigenous, but I love meerkats anyway.

The flight home was uneventful, although we did have members of New Zealand’s national rugby team, the All-Blacks, riding in coach just a few seats ahead of us. 

It was a great trip, and it’s been interesting settling back into the usual routine. I’m having regular dreams of driving in New Zealand, and very thankful for our trip.

Cape Reinga to Auckland by way of the Waipo Forest

Today we drove north to Cape Reinga. It was pretty foggy on the way up; by the time we reached Cape Reinga visibility was down to five meters or so. The cape was very peaceful except for the surf, which we could hear but couldn’t see — it was too foggy to see off the cliff down to the water where the Tasman and the Pacific meet.
After Cape Reinga we headed south on Route 1 — passing kilometer marker 0.0 and the northernmost traffic circle in New Zealand! — until we reached a turnoff for Ninety Mile Beach. Ninety Mile Beach is actually only 64 miles long, and its sand is so hard-packed that residents can drive on it. We didn’t try that in the rental car, but drove out to the beach and wandered around a bit.
After that we continued south until we reached Route 12, and then turned west, going through several towns on our way to the Waipou Kauri Forest. The kauri are the second-biggest trees after the redwoods, and they’re pretty big. Here’s the father of the forest, Tane Mahuta. It’s 17.7 meters in diameter, and over 58 meters tall.

 After that, we drove out of the forest and down to the first big town after the forest, Dargaville. We went to Blah Blah Blah for dinner; I had the squid salad and garlic bread, and Meg had mussel chowder and the fish special.

After that it was just motoring on Route 12 to Route 1 down to Auckland.

A lot of driving today — we set out at 10:00am, and didn’t get in until 10:00pm. But it was worth it.

Tomorrow is worship at Auckland Friends Meeting, and then if the weather holds, the Auckland Zoo. If it doesn’t hold, we’ll go to the museum instead.

Waitangi Treaty Grounds…

Well, we left Waiheke on the 9:00 ferry, and drove through Aukland headed north. There was a lot of traffic, even at 10:3o in the morning.

Three hours later we made it to the Waitangi Treaty Grounds, where the Waitangi Treaty of 1840 was signed between the British and the Maori. It was a very simple but pivotal document, promising the Maori freedom of government under British rule. 

The treaty grounds are very impressive, encompassing 400 hectares with the original treaty house, a mast denoting where the treaty was signed, and a traditional whare runanga, or Maori meetinghouse. Here’s where the treaty was signed.

And here’s the inside of the whare runanga.

We did not make it to Cape Reinga today, but Meg says that was according to plan. We are staying in an AirBnB about an hour south, and we’ll head up there first thing tomorrow.

Waiheke Island…

Today was a rest day — I got to sleep in until 8:30, which was heavenly. We got up and walked along the beach at the base of the hill below the Friends’ Meetinghouse, and then met Quakers for lunch. Here’s the beach at the base of the hill:

We had another lovely potluck with members and attenders of Waiheke Friends Meeting, and talked some about New Zealand and US politics before settling in for worship. There was a gentleman from Wales also joining us, so it was a multi-national gathering!

Then we came back to the Friends Meetinghouse and snoozed in the afternoon warmth for a couple of hours, reading and napping before going to Charley Farley’s for dinner. We had the salt and pepper squid with a zucchini-halloumi appetizer, which didn’t really taste of halloumi, but that’s OK. After that we went around the northeastern part of the island on an unimproved road and saw some lovely things just before sunset.



Tomorrow we rise early for the ferry before heading north, to the North Cape and Cape Reinga.


Coromandel Peninsula and Waiheke Island…

Yesterday we drove up from Lake Taupo to the Coromandel Penisnula, and then around to Half Moon Bay to catch the ferry to Waiheke Island. 

Here’s a shot of the tidal flats on the Coromandel.  

 We’re staying at the Waiheke Friends house, a lovely facility with a spacious meeting room, nice kitchen, two bathrooms, and two bedrooms, one done up as a bunk room and the other with a queen-sized bed. Here’s the view from the front deck.  

You can hear the ocean and cicadas quite clearly, and the ocean is within easy walking distance, although we haven’t walked down there yet.

Last night we stretched out on the deck and listened to the surf and the cicadas and watched the stars come out.

The sky is different here, but not as different as I’d imagined. For example, you can see Orion, but it’s high in the sky and upside down in comparison with at home. The Southern Cross is very obvious, even more obvious, I think, than the Big Dipper at home. Looking to the south, you see a lot of unfamiliar things (to me, anyway), of course. I had hoped to look for the Large and Small Magellanic Clouds, but the moon is nearly full, and I don’t know where to look. I was told by one of our hosts that on a new moon in a dark sky you can see them quite clearly with the naked eye. Imagine that. 

Today is a rest day; we’re going to go down and walk on the beach soon, and at lunch we’re having lunch with the Quakers that own the meetinghouse.

The other thing I need to do today is think: Packt has asked me for a book proposal. I had sort of decided to give up the technical writing after the fifteenth book, but Packt actually pays pretty well, and seems to have pretty good distribution, and it’s a topic I want to stay proficient in. So I need to decide if I’m willing to do the work or not.

Whakarewarewa and Taupo…

Today we drove from where we’re staying on Lake Taupo to Rotorua, where we went to Whakarewarwa, the Living Village. We hoped to see some Maori culture and volcanic activity, and assumed they were separate. We were wrong! The Maori have a village on the hot springs! We got there just in time for a little cultural performance with some singing and traditional Maori games and poi dancing. Then we went on a walking tour of the village, which was excellent — she told us about the history of the village, and how the Maori use the hot springs for cooking (bag or basket or wrap your food and bury it in a box right on top of a thermal vent!), baths, and so forth.

After the walking tour, we had lunch,  a traditional Maori hangi, which is chicken and fish and vegetables boiled in the hot springs. Here’s a hangi box preparing what may have been the pudding we had for dessert:

The hangi was very good — as you might imagine, the food is all very moist. The chicken just fell off the bone; the beef was moist with very little fat, and the vegetables — cabbage, two kinds of potatoes, corn, and carrots — were done without being overdone. Apparently the Maori that live in the village — and many still do — actually use the same hangi in the evenings to cook their dinner. The small houses in the village all have the usual amenities of stoves, microwaves, and so forth, but many prefer to cook using the hangi in the traditional way.

We drove back a different route around Lake Taupo, and stopped at Cafe Ninety-Nine for an espresso on the way back. It’s worth observing that there appear to be two kinds of coffee in New Zealand — excellent, and instant. We’ve had very good espresso every cafe we’ve stopped at (including the airport on the first day!). Most pulls are double shots, and served with hot water so you can make an americano if you prefer. However, when you stay with people, most people have electric tea kettles, so if they offer you coffee, it’s instant from frozen crystals. That’s not nearly as good, of course, but in the morning it’s strong and hot and caffeinated, which is enough to get you going.