View Single Post
Old 07-25-2012, 04:20 AM   #1
Fvek
Member
Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.Fvek can program the VCR without an owner's manual.
 
Posts: 23
Karma: 193423
Join Date: Jul 2012
Device: Kindle Touch
Frotz curses interface for Kindle Touch & Paperwhite (via kterm)

Frotz version: 2.43d http://frotz.sourceforge.net/
Compiled for Kindle K5 version: 1.1.2

Frotz is an interpreter for Z-machine interactive fiction (Infocom-style text games -- like Zork, Hitchikers Guide to the Galaxy, etc.).

It's a console-based program and thus requires a text display. You can use kterm to run it on a Kindle Touch and Paperwhite (see below). It might also work on other models of Kindle or other ARM devices, but I can't test this.

It should be able to play any game that frotz-2.43d supports. I've only tested a few. Freefall (http://www.wurb.com/if/game/94) works, so you can now have Tetris on your Kindle too (more or less).

For the executable itself, all I did was cross-compile frotz to run on ARM (using the gcc-arm-linux-gnueabi package on Ubuntu). The GPLed source code and more information are on the frotz site (http://frotz.sourceforge.net/). I had to fiddle with the Makefile and use a copy of /usr/lib/libncurses.so.5.6 from the KT to compile, but the only change in the source was to comment-out a sanity check in curses/ux_init.c so it would run as root (there's no regular user account on the Kindle). Otherwise it's vanilla frotz.

Sound is deactivated since frotz uses OSS and Kindle Touch uses ALSA and I don't know how to make that work.

Color modes, especially color backgrounds, cause weird display issues in kterm, but that can be disabled on the command line (see below). Or you can telnet into your Kindle from something with a color display.

Note: Zacaj ported frotz to the Kindle 3 before (https://www.mobileread.com/forums/sho...d.php?t=126768), but he compiled it as the simpler "dumbfrotz" version instead of the normal version that uses the curses library (which lets text displays put characters arbitrarily on the screen, allowing for status bars, etc.). I don't know why he did that, but the curses version is better, ergo this port (also, this is a newer version -- his was 2.32R1).

Click image for larger version

Name:	anchorhead.png
Views:	2401
Size:	10.7 KB
ID:	89697 Click image for larger version

Name:	freefall_tetris.png
Views:	1951
Size:	8.3 KB
ID:	89698

KINDLE UNIFIED APPLICATIONS LAUNCHER EXTENSION:

Also included are files so you can use it with the Kindle Unified Applications Launcher (KUAL, see below). It will add a "Start Frotz" option that includes a file selector dialog. This is optional, but without it you'll have to start kterm then type stuff to start frotz.

To use the Launcher extension, you will also need the separate "dialog" program installed (see below). I'm distributing it separately since it has general-purpose uses so someone might want just it and I don't want to maintain multiple copies.


Click image for larger version

Name:	frotzfileselect.png
Views:	1814
Size:	8.3 KB
ID:	89865

INSTALLATION:

The root of your Kindle's USB drive (what you see when you plug it into your computer) is actually located at "/mnt/us/" inside the Kindle's filesystem. Assume they are the same below for brevity...

Installing frotz:

1) For the Touch & Paperwhite, you need baf's kterm (http://www.fabiszewski.net/kindle-terminal/) and anything it needs to run (jail breaking, etc.). Once you got that up and working, continue...

2) Create a folder called "bin" in /mnt/us. If it's already there, good.

(Note: You can use a different folder, but you will have to edit start_frotz_shell.sh and frotz_shell.sh in /mnt/us/extensions/frotz/bin/ so they can find it.)

3) Copy the file "frotz" from the bin folder into it.


Installing the Launcher extension:

1) Make sure you have KUAL installed (https://www.mobileread.com/forums/sho...d.php?t=203326).

2) Copy the folder "frotz" from the extensions to /mnt/us/extensions/

3) Get the dialog package attached below and copy the files "dialog" and ".dialogrc" into /mnt/us/bin/


Installing Interactive Fiction Files:

You can also create the folder /mnt/us/if/ and put your game files in it. That's where the launcher's file selector defaults to. You can change this location by editing the file /mnt/us/extensions/frotz/bin/frotz_shell.sh


Installation complete!

Note: any editing of text files above should be done with an editor that can handle unix-style text files.

UNINSTALL:

Just remove the stuff you added.

HOW TO USE:

Via Launcher:

Run "Kindle Launcher", tap "Start Frotz".

You'll get a text-based file selector. If you put your game files in /mnt/us/if/ they'll be listed on the right-hand side. If not, you can change folders using the file selector.

Tap the one you want then tap "OK".


Invoked from a term:

You can run it on its own (if you didn't install the launcher) by starting kterm first, then entering:

/mnt/us/bin/frotz -d /mnt/us/if/gamename.z5

If you did the PATH edit mentioned above, you can use just:

frotz -d /mnt/us/if/gamename.z5

In both cases replacing the path to the game file and its name as needed.

Be sure to use the "-d" option to disable color as that can do ugly things on the epaper display.

Hint: In kterm, use the tab key for path/filename completion and the up-arrow to access previous commands. Or type all the above out in full each time on the tiny keyboard as practice for playing text games on your KT.


Quitting:

To quit frotz, use command "q" and follow the prompts, or if that's not available press the "ctrl" key on the screen keyboard, then the "c" key. Or tap the upper right and select "Quit" from kterm's menu.

If launched using the launcher, it will quit to a Kindle screen. If launched from within kterm, it will quit to the command prompt.


Saving:

Save files will be in /mnt/us/extensions/frotz/bin/ (this is not ideal, but it'll have to do until I figure out how to change it).


WHERE TO GET GAME FILES:

You can find many games and more info about interactive fiction at the Interactive Fiction Archive (http://www.ifarchive.org/).
Attached Files
File Type: zip dialog-1.1-20120706-kindle_touch-1.0.2.zip (248.9 KB, 916 views)
File Type: zip frotz-2.43d-kindle_k5_kterm_kual-1.1.2.zip (54.6 KB, 1107 views)

Last edited by Fvek; 01-29-2013 at 04:53 PM. Reason: updated for kterm and the new Launcher
Fvek is offline   Reply With Quote