Unofficial port of Frotz (interactive fiction)

I would like to announce my current project, the unofficial port of Frotz to the PicoCalc!

Frotz is an interpreter for all Infocom and other Z-machine games. It complies with the Z-Machine Standard version 1.1. It supports story versions 1 through 8.

Frotz has been actively developed since 1995 and is a popular interpreter for Z-Machine games, including those from Infocom.

I used my PicoCalc Text Starter (on GitHub) project and a little interface code to enable Frotz to run unmodified on the PicoCalc, which is more of a testament to Frotz.

If you are MMBasic user, I do not believe this would be any advantage over Play Zork on PicoCalc/PicoMite project. It is definitely more convenient to remain in MMBasic than switching flash. The only reason I can see is if you want to play a story other than V3.

Also, you will probably need a Pico 2 or other RP2350 board. Some stories are large and need the extra RAM of the RP2350 board. Smaller stories will work on the Pico (W).

I have tried various stories from Infocom and the community and I could play the ones I tried.

This is the first release, so if you give a spin and encounter any problems, please let me know!


9 Likes

The github link isn’t working.

Weird! I edited the post, hopefully it works now?

It looks as though the repository is still marked private.

:person_facepalming:

I can’t believe I did that. I am not sure why I created that repo as private in the first place.

It is public now!

Thank you!

1 Like

I’m getting:

Error opening /Stories directory!

Press any key to retry, or
turn off your PicoCalc now.

I have a folder named stories in the root of the SD card with .z3 story files. Do they need to be a different format?

I’m using a pico 1

No, I do not believe you are doing anything wrong!

It may be the SD card, these are fiddly things! Would you be able to try a different card? If that works I would like to know the make of the one that failed. Hopefully I can get one to test.

The original card i tried is the Lexar 32GB SD card that came with the PicoCalc.

I also tried with an old Kingston 4GB SD card and newer 32GB Micro Center microSD in SD adapter. Same error for both.

1 Like

:frowning:

Let me investigate more with what you provided.

It works normally when i use a pico 2.

1 Like

I was able to reproduce what you are experiencing with the Pico 1.

I am working on a fix.

1 Like

I found and fixed the sd card initialisation for the Pico 1. Thanks @rockotiger!

I need to test the fix on the Pico 2, but I ran out of time tonight. I will get v0.2 out tomorrow if all goes well with testing.

1 Like

(original release) works great on pico2.

1 Like

I am happy to announce the first “production” quality release of Frotz for the PicoCalc. Thank you everyone for their feedback so far!

This release includes:

  • Added history navigation (using up/down arrow keys), full line editing (using left/right arrow keys, Esc, Del, Back, Home, End) and vocabulary completion (using tab)
  • Introduced a phosphor display effect with adjustable color modes (white, green, amber) that can be toggled using the F10 key
  • Supports bold and underlined text
  • Fixed Pico 1 SD card initialisation
  • General bug fixes and stabilisation improvements

As always, please let me know if you encounter any problems!

3 Likes

Works great! And it feels so authentic! I was wondering what would happen if I attempted to load a story that was too large for RAM on the pico 1 and it just takes me back to the story selection screen. I find this to be a very elegant solution!

Thanks for sharing this and your text starter!

1 Like

I did pay some attention to the detail of authenticity. The font is based on the font stored in the venerable Digital VT100 terminal’s ROM from the late 1970’s, which I then modified and adjusted for the resolution of the PicoCalc display. I also had to take into account the VT100’s hardware that dot-stretched the pixels in the font and differences in aspect ratio.

I researched the phosphor used in monochrome CRT tubes of the period and wavelength of light they produced. I then attempted to match that with the selection of display’s 65K colours in the display mode I am using.

I knew I was going to be looking at the display for long periods interacting with the stories, so I had to get it right.

2 Likes

Wow! I knew that color was somehow special! It does actually remind me of using a CRT. And while I couldn’t place the font I thought it looked familiar. Thanks again for your work and contribution!

2 Likes

Just in time for the end of the weekend, I have published the v0.3 release.

The big ticket item in the release is the ability to switch to a 64 column display.

I really wanted this so I could eventually play Infocom’s Trinity, their highest-rated story. It requires at least 64 columns to start.

I am personally surprised that I was able to pull this off, with a font that is as readable as the 40-column display. I was able to capture the style of the original font in this more narrow rendition.

Now I am on the fence to whether I prefer 64 columns or the original 40!

Please let me know which you prefer. As always, let me know if you encounter any problems.


2 Likes

This photo isn’t the greatest; I do hope it gets across how 64 columns looks.

4 Likes

Looks really nice. Where do you source your fonts from?