KIF: an infocom text adventure interpreter for the kindle

Wow, this sort of  thing seems to be in the news these days!

Note: I’ve updated these instructions for KIF 0.5; please see here for the release notes..

My app is different however: it isn’t web hosted, it runs natively on the kindle using the KDK APIs. As I don’t have the official KDK, you’ll need to jailbreak your kindle and install my developer keys; this is easy, but if it goes wrong, I can’t accept any responsibility.

So, lets jailbreak: The kindle jailbreaking was developed over at the mobiread forums, here. The following is a very quick summary, see the mobiread thread for more information:

  1. Download kindle-jailbreak-0.3.N.zip from that thread.
  2. Extract it on your computer.
  3. Copy the correct update_*_install.bin to the root of the kindle over USB. See the thread for information on which. (For my UK Kindle 3 with 3g, I use update_jailbreak_k3gb_install.bin).
  4. Safely remove and disconnect the kindle.
  5. Go to [HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle.
  6. It’ll take a wee while, and the update will fail with a U004 or a U006 error (this is expected).

tada, your kindle is rooted. Now, normally at this point you’d wonder what to do now… well, lets move on to stage 2:

  1. Download kindle-adqdevkeys-0.2.zip from here.
  2. Extract it on your computer.
  3. Copy the correct update_adqdevkeys_*_install.bin to the root of the kindle over USB. It’ll be the same code as for the rooting.
  4. Safely remove and disconnect the kindle.
  5. Go to [HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle.
  6. This time, the update will succeed, and will install my developer keys into /var/local/java/keystore/developer.keystore. In case you already are an official KDK developer, any existing developer.keystore file will be backed up into that directory.

At this point you should have escaped the maze of twisty updates; installing KIF can be done entirely by copying files over usb:

  1. Download KIF-0.5.zip from here.
  2. Extract it to your computer with the full directory structure.
  3. Copy the extracted directory structure onto the root of the kindle USB drive. (e.g. “kif.azw2 should end up in your kindle documents folder).
  4. Disconnect, and wait for the home screen to refresh.
  5. “KIF” should appear as an option… click it!

I still have a fair amount of work to do on it (e.g. styled text, lots of GUI improvements, auto-persistence when going to HOME….); consider this an alpha quality release. However, games should be playable, and I’ve implemented savegame support.

I have only tested this with the minizork and curses games (which will be installed when you decompressed KIF-0.1.zip). Others will very likely work, but I have been concentrating on getting the basics up and running first rather than game testing. Also, I’ve only  tried it on a UK Kindle 3. YMMV.

I’m using the excellent zmpp as the infocom virtual machine. I must get in touch with the author and contribute my patches back once I have the source in a more stable form.
I also use the KWT for  the items in the save menu.
Finally, all code is available here.

By the way, you can get many more Infocom adventures over at the IF archive. And of course there’s the yearly Interactive Fiction competition.