# Rogue: Exploring the Dungeons of Doom

**URL:** <https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385>\
**Category:** PicoCalc\
**Tags:** opensource, software, picocalc, game\
**Created:** [August 24, 2025, 2:48am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385 "2025-08-24T02:48:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 24, 2025, 2:48am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/1 "2025-08-24T02:48:53Z")

</div>

I am happy to let everyone know that I am releasing a port of **Rogue: Exploring the Dungeons of Doom** to the PicoCalc today.

Rogue is a text-based top-down adventure dungeon game that started the genre of roguelike games.

 ![IMG_0066](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/1/19c867c5a9ada9e69c6b8109e296dc03753dded7.jpeg)

From the help page:

# Exploring The Dungeons of Doom

Rogue is a computer fantasy game with a new twist. It is crt oriented and the object of the game is to survive the attacks of various monsters and get a lot of gold, rather than the puzzle solving orientation of most computer fantasy games.

To get started you really only need to know two commands. The command `?` will give you a list of the available commands and the command `/` will identify the things you see on the screen.

To win the game (as opposed to merely playing to beat other people’s high scores) you must locate the Amulet of Yendor which is somewhere below the 20th level of the dungeon and get it out. Nobody has achieved this yet and if somebody does, they will probably go down in history as a hero among heroes.

When the game ends, either by your death, when you quit, or if you (by some miracle) manage to win, rogue will give you a list of the top-ten scorers. The scoring is based entirely upon how much gold you get. There is a 10% penalty for getting yourself killed.

* * *

Please read the [README](https://github.com/BlairLeduc/picocalc-rogue/blob/main/README.md) page and [A Guide to the Dungeons of Doom](https://github.com/BlairLeduc/picocalc-rogue/blob/main/GUIDE.md).

* * *

> **[GitHub - BlairLeduc/picocalc-rogue: Rogue 5.4 ported to the PicoCalc](https://github.com/BlairLeduc/picocalc-rogue)**
>
> Rogue 5.4 ported to the PicoCalc

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 24, 2025, 2:50am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/2 "2025-08-24T02:50:32Z")

</div>

The first release, v0.1 is pretty rough around the edges, but it does work. Feedback is always appreciated.

* * *

> **[Release v0.1 · BlairLeduc/picocalc-rogue](https://github.com/BlairLeduc/picocalc-rogue/releases/tag/v0.1)**
>
> Initial release
> Full Changelog: https://github.com/BlairLeduc/picocalc-rogue/commits/v0.1

---

<div class="post-metadata">

**Author:** ![n602\_na](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@n602\_na](https://forum.clockworkpi.com/u/n602_na)\
**Post date:** [August 24, 2025, 3:54am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/3 "2025-08-24T03:54:50Z")

</div>

Rogue!!! Amazing!

I immediately downloaded “picocalc-rogue-v0.1-pico.uf2” to my Raspberry Pi PICO, explored the dungeon, and after struggling for a while, finally met my end.  
It’s truly amazing. Thank you so much for porting Rogue to PicoCalc.

By the way, the screen says [Press return to continue], but what should I enter here?  
Nothing happens when I press [Enter].

 ![picoRogue01](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/6/619019420f0afc58e08d56321a9fd2c6077dea86.jpeg) ![picoRogue02](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/d/dbfc9f4ec0d2765bb64a33b78ee9d8b2f29e8b7b.jpeg)

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 24, 2025, 4:15am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/4 "2025-08-24T04:15:33Z")

</div>

Yes, one of the rough edges. ☹

Right now you need to turn off the PicoCalc and back on again. I hope to have that fixed in the next couple of days.

Awesome! You made it to level 6!

---

<div class="post-metadata">

**Author:** ![Ben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ben/32/11799_2.png) [@Ben](https://forum.clockworkpi.com/u/Ben)\
**Post date:** [August 24, 2025, 11:09am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/5 "2025-08-24T11:09:36Z")

</div>

Awesome, porting a rogue like was on my to-do list. You even ported the original.

---

<div class="post-metadata">

**Author:** ![reynolds\_live](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/reynolds_live/32/12183_2.png) [@reynolds\_live](https://forum.clockworkpi.com/u/reynolds_live)\
**Post date:** [August 25, 2025, 3:28pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/6 "2025-08-25T15:28:39Z")

</div>

Good timing! I get mine in the mail in the next day or two so definitely checking this out.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 26, 2025, 1:41am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/7 "2025-08-26T01:41:08Z")

</div>

I have released version 0.2 of the PicoCalc port:

- Fix options screen
- Add title page with top ten scores and option to start a new game or last saved

* * *

> **[Release v0.2 · BlairLeduc/picocalc-rogue](https://github.com/BlairLeduc/picocalc-rogue/releases/tag/v0.2)**
>
> Fix options screen
> Add title page with top ten scores and option to start a new game or last saved
> 
> Full Changelog: v0.1...v0.2

---

<div class="post-metadata">

**Author:** ![Ben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ben/32/11799_2.png) [@Ben](https://forum.clockworkpi.com/u/Ben)\
**Post date:** [August 26, 2025, 7:08am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/8 "2025-08-26T07:08:45Z")

</div>

What do you use the \_w uf2 variants for? Uploading scores?

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 26, 2025, 10:44am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/9 "2025-08-26T10:44:37Z")

</div>

Absolutely nothing! I just do that as per my process. Maybe the most I would do is get the current date time for the file system and the tombstone for completeness.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 27, 2025, 3:51pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/10 "2025-08-27T15:51:27Z")

</div>

Release v0.3 is now available.

This release adds support for setting environment variables, in particular, ROGUEOPTS. See how this works in the GUIDE.md document.

I also took to heart @Ben comments, and I only created Pico and Pico 2 uf2’s for this release.

* * *

> **[Release v0.3 · BlairLeduc/picocalc-rogue](https://github.com/BlairLeduc/picocalc-rogue/releases/tag/v0.3)**
>
> What's Changed
> 
> Add ROGUEOPTS support by @BlairLeduc in #1
> 
> New Contributors
> 
> @BlairLeduc made their first contribution in #1
> 
> Full Changelog: v0.2...v0.3

---

<div class="post-metadata">

**Author:** ![Ben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ben/32/11799_2.png) [@Ben](https://forum.clockworkpi.com/u/Ben)\
**Post date:** [August 27, 2025, 8:30pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/11 "2025-08-27T20:30:11Z")

</div>

v0.3 is stuck on the intro screen with an empty list of names and scores. I don’t know what to do next and no key seems to work.

– edit –

same on v0.2

tried on pimoroni pico 2 plus w if that matters

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 27, 2025, 8:38pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/12 "2025-08-27T20:38:27Z")

</div>

This is probably my fault.

Do you have a `/Rogue` directory on the SD card?

I am looking into this tonight.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 27, 2025, 8:48pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/13 "2025-08-27T20:48:59Z")

</div>

I am using the same board.

Is `New Game` highlighted and nothing happens if you press Enter or space?

Do you see the battery indicator at the bottom right?

---

<div class="post-metadata">

**Author:** ![Ben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ben/32/11799_2.png) [@Ben](https://forum.clockworkpi.com/u/Ben)\
**Post date:** [August 28, 2025, 10:46am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/14 "2025-08-28T10:46:11Z")

</div>

The bottom of the screen is not drawn and I don’t have a Rogue folder on my sdcard. I’ll give it another try tonight.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 28, 2025, 1:35pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/15 "2025-08-28T13:35:56Z")

</div>

I may have found the problem. @Ben, that description really helped track down the bug. Hopefully, that is! I will do a release and hopefully this fix will work.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 28, 2025, 3:52pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/16 "2025-08-28T15:52:54Z")

</div>

Release v0.4 is out, hoping to fix the problem @Ben found.

* * *

> **[Release v0.4 · BlairLeduc/picocalc-rogue](https://github.com/BlairLeduc/picocalc-rogue/releases/tag/v0.4)**
>
> What's Changed
> 
> Fix score memory initialisation by @BlairLeduc in #2
> 
> Full Changelog: v0.3...v0.4

---

<div class="post-metadata">

**Author:** ![Ben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ben/32/11799_2.png) [@Ben](https://forum.clockworkpi.com/u/Ben)\
**Post date:** [August 28, 2025, 7:30pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/17 "2025-08-28T19:30:38Z")

</div>

Yes, v0.4 works, and it even saves scores when the /Rogue directory exists. I did get one run to freeze on going downstairs, but there was nothing obvious that would explain it.

---

<div class="post-metadata">

**Author:** ![n602\_na](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@n602\_na](https://forum.clockworkpi.com/u/n602_na)\
**Post date:** [August 28, 2025, 10:47pm UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/18 "2025-08-28T22:47:46Z")

</div>

Thank you for the update!  
I’m playing V0.4 on Raspberry Pi Pico and Pico 2, and it seems that when picocalc-rogue-v0.4-pico.uf2 is installed on Raspberry Pi PICO, the following issue may occur.

- Without a SD card, “Battery: 0%” may be displayed, and in rare cases, the keyboard may stop accepting input.  
The workaround is to press “SW101” on the board.  

- With a SD card and the /Rogue directory,  
Turning the power off and then on may cause the system to hang at the part displaying the Top 10 scores.  

The workaround is to press “SW101” on the board.

This may be due to my environment, but it may not be. (Note that the PicoCalc keyboard firmware is v1.2.)

When picocalc-rogue-v0.4-pico2.uf2 is installed on a Raspberry Pi PICO 2, the above problem does not appear to occur, so I continue playing with the Pico 2.

---

<div class="post-metadata">

**Author:** ![BlairLeduc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/blairleduc/32/11808_2.png) [@BlairLeduc](https://forum.clockworkpi.com/u/BlairLeduc)\
**Post date:** [August 29, 2025, 1:07am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/19 "2025-08-29T01:07:11Z")

</div>

Thank you for the feedback about the Pico!

Unfortunately, I don’t have a PicoCalc with a Pico to test with. Since every time one opens the PicoCalc there is a risk of cracking the screen, I only do so when absolutely necessary.

The SW101 switch _looks_ to be the reset switch for the south bridge (STM32).

The firmware on that microcontroller is self-initialising. I talk to it through a small set of registers after it initialises itself. If you see 0% battery that means that the south bridge is not functioning correctly or something has gone wrong when communicating over i2C.

In that case, there is nothing I can do. 1.4 of the firmware does allow me to reset the PicoCalc through software, but if I cannot communicate to it, I cannot reset it.

I have noticed that on a very rare occasion the STM32 glitches (others have too) and one needs to power cycle to recover.

The lockup also may be caused because I do not use timeouts when communicating over I2C. So it the I2C goes down in a certain way, it will appear to lock up.

Please let me know if it starts becoming a hassle and I can look into trying to make the code more fault tolerant.

---

<div class="post-metadata">

**Author:** ![pelrun](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pelrun/32/12323_2.png) [@pelrun](https://forum.clockworkpi.com/u/pelrun)\
**Post date:** [August 29, 2025, 1:09am UTC](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385/20 "2025-08-29T01:09:36Z")

</div>

That will be a keyboard firmware bug; SW101 resets the stm32.

None of the keyboard firmwares are particularly robust, and the different applications tend to tickle it in different ways. I’m actively having to stop myself from looking at it while I still have uf2loader tasks on my plate… 😅

[Next page](https://forum.clockworkpi.com/t/rogue-exploring-the-dungeons-of-doom/19385.md?page=2)
