# RunCPM for Picocalc

**URL:** <https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459>\
**Category:** PicoCalc\
**Tags:** software\
**Created:** [November 15, 2025, 5:31pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459 "2025-11-15T17:31:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 15, 2025, 5:31pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/1 "2025-11-15T17:31:47Z")

</div>

Hello,…

Newbie here.

I just made myself a port of RunCPM for the Picocalc (RP2040). Maybe someone else is interested by this work, so here it is : [picocalc\_runCPM](https://github.com/theflynn49/picocalc_runCPM)

I just put together some other people’s work, so I didn’t do much, but if it doesn’t work, I probably broke it. Be indulgent 😉

Rgds

---

<div class="post-metadata">

**Author:** ![rockotiger](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rockotiger/32/13086_2.png) [@rockotiger](https://forum.clockworkpi.com/u/rockotiger)\
**Post date:** [November 15, 2025, 9:29pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/2 "2025-11-15T21:29:01Z")

</div>

This is awesome! Thanks for sharing it!

---

<div class="post-metadata">

**Author:** ![randorandus](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/randorandus/32/14322_2.png) [@randorandus](https://forum.clockworkpi.com/u/randorandus)\
**Post date:** [November 15, 2025, 10:54pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/3 "2025-11-15T22:54:49Z")

</div>

just for your information: it works on rp2350w. Thanks for your contribution, it is funny to see such an old system on this device.

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 16, 2025, 10:46am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/4 "2025-11-16T10:46:34Z")

</div>

Thank you all for the warm welcome and the kind messages !

---

<div class="post-metadata">

**Author:** ![Escape\_Velocity](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/escape_velocity/32/14541_2.png) [@Escape\_Velocity](https://forum.clockworkpi.com/u/Escape_Velocity)\
**Post date:** [November 16, 2025, 2:37pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/5 "2025-11-16T14:37:11Z")

</div>

Super cool! I’ll second the confirmation that it builds/works for the 2350 Pimoroni Pico 2W. Thanks for porting this!

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 17, 2025, 12:08am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/6 "2025-11-17T00:08:28Z")

</div>

I just made a small upgrade :

[https://github.com/theflynn49/picocalc\_runCPM/releases/tag/v1.1a](https://github.com/theflynn49/picocalc_runCPM/releases/tag/v1.1a)

Pico speed faster (to 200Mhz)  
Supports BRK to some extent (returns to CP/M)  
Supports XON/XOFF (to stop long DIRs and such)  
Added BELL

Enjoy.

(edit: small version change)

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 18, 2025, 10:52am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/7 "2025-11-18T10:52:38Z")

</div>

Thanks to GitHub’s member **rugosi** we now have 80 columns, which is great for WordStar, and probably lots of other apps. First time ever someone makes a PR for a project of mine, it’s adorable 😃

It’s kind of a small font, I added a SETFONT utility for those like me in need of glasses.

Link here: [picocalc\_runCPM v1.2a](https://github.com/theflynn49/picocalc_runCPM/releases/tag/v1.2a)

CP/M for ever 😃

[edit] the SETFONT stuff

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 20, 2025, 9:40pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/8 "2025-11-20T21:40:20Z")

</div>

Hello …

Here is my latest release : [picocalc\_runCPM v1.3](https://github.com/theflynn49/picocalc_runCPM/releases/tag/v1.3) probably so for a little while.

I made the specifics of the picocalc (battery, lcd backlight and LCD backlight) available to CP/M I/O ports and added a two Z80 utilities to show how it works : BATTERY and LGHTCALC.

At boot, the battery level is also displayed.

CP/M rulez !

[Edit] I always make a boo boo somewhere. Please reload the uf2 file, I just made a small change, the full battery was 255% lol

---

<div class="post-metadata">

**Author:** ![Kevin\_Eagles](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/kevin_eagles/32/11818_2.png) [@Kevin\_Eagles](https://forum.clockworkpi.com/u/Kevin_Eagles)\
**Post date:** [November 23, 2025, 3:29pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/9 "2025-11-23T15:29:18Z")

</div>

I’ve never used CP/M before and while it seemingly installed with a hitch, I get the prompt:

Bdos Err on A: Select\_

I’ve gone to the github and walked through the installation process but my ignorance of the OS has me at a stand still as soon as I power it on. Can you suggest any videos or links to learn more?

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 23, 2025, 5:05pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/10 "2025-11-23T17:05:32Z")

</div>

Get the A0.ZIP file here : [runCPM disk A](https://github.com/MockbaTheBorg/RunCPM/tree/master/DISK), and unzip it to your SD card root.

Rgds

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [November 23, 2025, 5:19pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/11 "2025-11-23T17:19:49Z")

</div>

Next step once you have the A: drive on line, go to this page : [CPM Disks](https://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk) and get the **N8VEM\_DEMO DISK TOOLS.zip.** You dont need everything in that zip file, but you can get the directories C,D,E,F from the subdir “TO\_IMG” and copy them to the root of your SD card.

Once this is done, you can type (in runCPM) the command “C:” or “D:” to change drive and see what’s in them with the “DIR” command.

example type “E:” then “USER 3” to be in the turbo pascal disk.

CP/M is not very user friendly, you need to read the f\*\*\* manual to use it, it is to be found here : [manual](https://github.com/MockbaTheBorg/RunCPM/tree/master/Docs)

---

<div class="post-metadata">

**Author:** ![Kevin\_Eagles](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/kevin_eagles/32/11818_2.png) [@Kevin\_Eagles](https://forum.clockworkpi.com/u/Kevin_Eagles)\
**Post date:** [November 23, 2025, 6:57pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/12 "2025-11-23T18:57:19Z")

</div>

That did the trick! Thank you. Reading the manual now…

---

<div class="post-metadata">

**Author:** ![sail4sea](https://avatars.discourse-cdn.com/v4/letter/s/e99b99/32.png) [@sail4sea](https://forum.clockworkpi.com/u/sail4sea)\
**Post date:** [December 7, 2025, 6:21am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/13 "2025-12-07T06:21:48Z")

</div>

Thanks. I was begging for this. So how do I get wordstar working?

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [December 7, 2025, 9:26am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/14 "2025-12-07T09:26:08Z")

</div>

If you installed the disks as I mentioned (from [toolset](https://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk) click “download tool set”),

then in runCPM you enter :

```auto
USER 3

F:

WS

```

---

<div class="post-metadata">

**Author:** ![sail4sea](https://avatars.discourse-cdn.com/v4/letter/s/e99b99/32.png) [@sail4sea](https://forum.clockworkpi.com/u/sail4sea)\
**Post date:** [December 7, 2025, 11:18am UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/15 "2025-12-07T11:18:50Z")

</div>

Thank you so much. I’m going to try to George RR Martin a book now.

I love this.

---

<div class="post-metadata">

**Author:** ![sail4sea](https://avatars.discourse-cdn.com/v4/letter/s/e99b99/32.png) [@sail4sea](https://forum.clockworkpi.com/u/sail4sea)\
**Post date:** [December 8, 2025, 6:33pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/16 "2025-12-08T18:33:31Z")

</div>

Thank you so much for this. I’ve actually used the Picocalc since there is now a real, but ancient, operating system for it. I look forward to exploring my Picocalc now. I had pretty much let the thing sit by my chair unused, but I think it’s a great, low-powered writing machine in its current form if I can play with Wordstar on it.  
Thank you so much for the port to CP/M and the various things I can play with on here. I noticed there is Star Trek on this machine, although I have tried, without success, to figure out Star Trek on Linux, so it’s probably similar. But I actually want to make this machine work.  
The uConsole had too short of battery life to take with me all the time and use without having to boot it up. The Picocalc instantly boots when you turn on the power. I wonder why computers back then seemed to be so fast and instantly turn on whereas modern computers take minutes to boot up. Obviously, modern computers are more complex, but what point is complexity when I simply want to open a word processor and type a document?

So again, I thank you for your hard work on this and am so happy this unit has become useful to me.  
By the way, is there a way to use one of the USB ports to add an external keyboard while running CP/M? I don’t know whether or not it is possible. Is that a driver I need to write in CP/M or can I just connect a keyboard directly to the STEM 32 USB port?

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [December 8, 2025, 8:44pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/17 "2025-12-08T20:44:01Z")

</div>

@sail4sea : Wow. That’s a lot of compliements, thank you, but most of the credit should go to Marcello Dantas who wrote runCPM, and Blair Leduc, who wrote the picocalc framework. i just made some glue logic in between. I want to mention Guido Lehrwalder too, because I started this thing by butchering his work.

Regarding connecting a keyboard to the USB port, an usb keyboard driver needs to be found, which I don’t know of. The other possibility is to connect the picocalc to a computer running an USB serial port, and a VT100 emulator (this works in my ‘Runcpm\_for\_picomputer’ project, but that’s an Arduino environment, which includes this driver). With the pico-sdk and Blair’s framework, I don’t have an obvious access to this, so for now this is a dead end.

The connection to the serial port on the side (uart0) port is easier to use, as there is a driver for it in Blair’s framework, I used it as a debug port during dev. But this is kind of a mess to connect to (on a hardware basis I mean).

---

<div class="post-metadata">

**Author:** ![sail4sea](https://avatars.discourse-cdn.com/v4/letter/s/e99b99/32.png) [@sail4sea](https://forum.clockworkpi.com/u/sail4sea)\
**Post date:** [December 9, 2025, 1:34pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/18 "2025-12-09T13:34:36Z")

</div>

I suppose I could hook up my serial terminal, built with another RP2040, to connect to a keyboard and terminal screen. That would have been my workaround to get 80 columns anyway. It would make the device less portable to drag around an LCD computer monitor. I shall try it when I get some time.

I also think I need to explore implementing a realtime clock like in the other threads. I’ll have to see how the runcpm community does that. I assume i2c or spi interface, but there may be specific hardware required or I may have to write c code.

---

<div class="post-metadata">

**Author:** ![TheFlynn49](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/theflynn49/32/14674_2.png) [@TheFlynn49](https://forum.clockworkpi.com/u/TheFlynn49)\
**Post date:** [December 9, 2025, 3:10pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/19 "2025-12-09T15:10:19Z")

</div>

I just made a new realase : [picocalc\_runCPM v1.4](https://github.com/theflynn49/picocalc_runCPM/releases/tag/v1.4)

This version has the USB serial port activated.

Highly experimental of course 😃

I hope that will fix some of @sail4sea problems.

About RTC, CPM 2.2 doesn’t support any clock as far as I know.

---

<div class="post-metadata">

**Author:** ![granzeier](https://avatars.discourse-cdn.com/v4/letter/g/cab0a1/32.png) [@granzeier](https://forum.clockworkpi.com/u/granzeier)\
**Post date:** [December 10, 2025, 8:51pm UTC](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459/20 "2025-12-10T20:51:49Z")

</div>

I just got it up and running. Thank you for your efforts here.

[Next page](https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459.md?page=2)
