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.
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].
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.
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.
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.
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.
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.
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.
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…