Kronos

A Magnetic Scrolls, ZCode (Infocom) and Scott Adams Interpreter for Palm OS

Jeff Mitchell, Codejedi

"Magnetic" Magnetic Scrolls interpreter originally by Niclas Karlsson.
"Frotz" ZCode interpreter originally by Stefan Jokisch.
"Scottfree" interpreter originally by Alan Cox. "Infocom" is copyright Activision nowadays, I think.

Credits

Kronos is itself a Palm OS application that is in turn made up of two other applications -- Magnetic and Frotz. Kronos could not have been created were it not for the authors of those applications hard work in building them. Those applications are designed for desktop computers with lots of resources, so Kronos is a project to build a Palm OS interface for them and martial their operation to work in a constrained handheld environment. In simpler words, Kronos is created so we can play some cool games on our handhelds while ignoring our bosses at work =)

Credit first goes to Niclas and Stefan; their work took months. Kronos took a fraction of that. None of this could have been done without the eternal patience of my wife, who supports me through working 12 hour days.

Long live Interactive Fiction!

Useful Links and Contact Information

Of course, the Codejedi homepage for Kronos is here: Kronos for Palm OS

If you wish to contact me with suggestions, complaints, ideas or gameplay hints, email me at:

support@codejedi.com

Other assorted links:

Status and Compatability

Kronos depends on Frotz and Magnetic for its compatability with the games.

Magnetic should be capable of running all 7 Magnetic Scrolls games, in all variations. (Magnetic Windows, Collections, or the originals). Artwork is supported for all the games, though animation is not yet supported.

Frotz should be capable of running 99% of all ZCode games, which is to say ZCode versions 1 through 6 are fully supported, with most support for later versions. Artwork is not yet supported (Zork0, Arthur, etc). The "forms" system in use in Infocom Bureacracy is supported, though it is not elegent. I've tested most of the Infocom games to great success, and most of the works you can download from the IF Archive are fully functional as well.

Expansion Media, File Naming Conventions, Directories

Kronos requires all of its files to be on expansion media; this is because we wish to process the commonly available formats of the game files, without having to pack them into Palm OS databases (which are in turn broken up into 64k records. For files in the hundreds of K size, you can see its rather an ugly mess internally for us to split them up!). See the Installation section for hints on how to manage the directory structure.

All game files must be placed in /Palm/Programs/Kronos on your expansion card (be it Secure Digital, Memory Stick, Compact Flash.. whatever.).

When you save your game status, Kronos will create .sav files in special game directories. This lets you keep everything nice and organized.. you never worry about overwriting save files from one game with another, or loading save files from one game into the wrong one. For example, if you're playing The Pawn (which is called pawn.mag and pawn.gfx in datafile format), and you save your work as "mysave", then Kronos will create:

/Palm/Programs/Kronos/pawn.dir/mysave.sav

The various file extensions you'll encounter are thus:

.mag Magnetic Scrolls "story file"; its all you need in order to play a game, though without a .gfx file, you wont' see the artwork.
.gfx Magnetic Scrolls "graphics file"; you can't play a game with just this, but if you have both the .mag and the .gfx file that go together, you can fully experience the game.. story and artwork together. If you have the pawn.mag story file, you'll want pawn.gfx graphics file.
.dat ZCode (Infocom style) game storyfile. You need this to play a game.
.z* Same as a .dat file -- an Infocom style ZCode game. Since ZCode comes in various versions, peopel often use .z3 to show ZCode version 3, since it is more descriptive than .dat
.sa Scott Adams story file. You need this to play a game. (Rename to .sa from whatever it is when you find it online.. they're often .dat files, but we use .dat for ZCode instead!)
.dir Kronos save directory; if you've saved a game in progess, Kronos will create a save directory for it.

First Time Installation

  1. Insert Expanion Media (Memory Stick, Compact Flash, SecureDigital card, etc); Kronos requires expansion media to operate
  2. Install Kronos itself (Kronos.prc -- try double clicking on it)
  3. Create Kronos directory, or run Kronos (it'll create the directory for you)
  4. Install a story file (or two, or twenty!)
  5. Run Kronos -- you're good to go!

Installing Kronos itself is very easy; just install the Kronos.prc application to your device as you would any other (try double clicking on it and hitting the Hotsync button!). You can place it in RAM or on expansion media.. Kronos doesn't care. Theres no setup.exe type tool needed, since there is no conduit or desktop application.

Kronos itself is not a game; it just enables you to play games. You need to obtain some games. Some simple public domain ones may be included with Kronos, but you will likely want to go getting story files from the Internet, or copying them from Infocom collections you may have purchased (like Activision's Masterpiece Colleciton which included nearly all the Infocom games on one CD!)

Installing story files is a bit of work due to the limits of Hotsync Manager.

Firsly, you need to create a directory on your expansion media. If you've run Kronos on your handheld, it will have created the directory for you. The directory to create is:

/Palm/Programs/Kronos

If you've not created a directory or shuffled files around before, you will need a file manager tool; many 3rd party launchers include one, and many excellent freeware and shareware tools exist. Some examples: Launcher X includes a file manager. Filez is a freeware file manager tool, and is what we use for everything.

So open up Filez, change to your expansion media card, move to the /Palm/Programs directory, and pick the file menu "Create Directory" and create "Kronos" if it does not already exist. Easy!

Now you need to install some story files. This is easy, but a little tedious if you don't have advanced tools to do it. Unlike other Palm OS applications, you do not need to convert your existing desktop story-files into Palm OS databases (pdb)'s in order to use them... we use the raw common files such as "pawn.mag" for "The Pawn" by Magnetic Scrolls, or "zork1.dat" for Zork 1 by Infocom, for example.

NOTE: Watch the filenames! A .mag file is a Magnetic Scrolls game; a .sa file is a Scott Adams style adventure. Anything else is considered ZCode though they should be named .dat or .z or very similar. Keep the file name extensions correct or weird things could happen!

Installing story files using Hotsync Manager

Everyone can use this approach, though it is least pleasant.

Remember to check the file extension! Scott Adams files need to be renamed to .sa file extension, and Magnetic Scrolls games need to be named .mag for the storyfile!

  1. On your desktop computer, get your story files ready. They can be .mag files, .gfx files, or whatever.
  2. Rename the files to have a .mp3 extension. Yes, thats weird. Thats telling Windows and Palm OS that the files are MP3 Audio files. We do this since Hotsync Manager knows how to upload MP3 files! (For example, rename pawn.mag to pawnmag.mp3)
  3. Ask Hotsync Manager to upload these files; You can't usually double click on them, since your audio player will fire up.. and these aren't audio files! You can run "Palm Install Tool" or "Palm Quick Install" for instance, and then drag and drop your story files onto the tool. Make sure you've got them set to for to the expansion media!
  4. Press Hotsync and wait until the files are transferred
  5. The pretend-mp3 files are now on your handheld; for Palm OS devices or OS5 devices, they'll likely be in /Audio; for Sony devices, they could be in /Programs/MSAudio or other locations. Find them :)
  6. Use "Filez" (or other file manager) to rename each file back to its original name. (For example, rename pawnmag.mp3 to pawn.mag)
  7. Use "Filez" (or other file manager) to move the files to /Palm/Programs/Kronos
  8. Your done! Enjoy!

Installing story files using Card Export

This option is available to those who've purchased Card Export; its reasonably popular so we detail it.

On your handheld, run Card Export. Hit "Export" or "Connect" to show your expansion media as a drive on Windows.

You may now navigate to /Palm/Programs/Kronos; you can create the "Kronos" directory if you need to, all from within Windows Explorer.

Just copy your .mag, .gfx, .dat, .z* and whatever you like into the Kronos directory.

Don't forget to Disconnect!

Peace of cake!

Installing story files using "MS Export" on Sony handhelds

Same as above for Card Export. Just export your memory stick as a Windows drive, open the drive in Windows Explorer, and copy your story files into the /Palm/Programs/Kronos directory.

Installing story files using a hardware card reader/writer

This should be similar to the above, and the procedure varies with each device; since its your device, we'll assume you know what your doing :)

It should be a simple matter to insert your media into the reader device, and it should show up as a Windows drive for you. Simply copy your story files into the /Palm/Programs/Kronos directory and you're good to go.

Finding Magnetic, ZCode and Scott Adams Games

There are thousands of ZCode games freely available in the IF Archive; a link to it is provided at the top of this document. You can also use your favourite search engine (our is Google) to find ZMachine and Infocom games. Activision has released some of the Zork games as "free" to entise you into buying other Infocom games. You can also create your own games very easily using the 'Inform' game compiler system and related tools. Very neat hobby.

Magnetic Scrolls games aren't quite as popular as ZCode games, and so are a little harder to find. The Magnetic Scrolls Memorial as well as dozens of other sites stock the .mag and .gfx files you need to play. Links are provided on the website and at the top of this document.

Scott Adams released most of his games online so they are generally readily available; I think theres 40 or 50 of them floating around. Theres also many 3rd party games int he same format, as well as a decent pile of games created by the public.

We do NOT ENCOURAGE PIRACY. Please please play fair and buy these games and help encourage future adventure game development. You can get nearly all the Infocom games on a single CD (the "Masterpieces" CD from Activision) as well as various Infocom Collections. The Magnetic Scrolls games are easily found on ebay and occasionally in bargain binds.

Upgrading Kronos

Kronos is and will always be freeware.

For updates, check back to the Codejedi Kronos homepage once in awhile to find out if any updates exist. Documentation will be included to detail how to upgrade. In theory, you'll only have to install a new Kronos.prc and you'll be done!

Running Kronos

Just run it from your launcher! You'll need to have your expansion media plugged in and some games installed or Kronos will complain and exit.

Device Requirements - RAM, speed, expansion, display

Kronos is very heavy on resources. Some games will run slower than others, and some may be very slow on your unit. Actual speeds will very much between devices types and even individual units. Some tips...

RAM: Kronos needs a *lot* of runtime RAM (what is called "heap" to programmers); your device might have 16MB of storage RAM (for example), but that means it only gets about 150k or so of "heap RAM" to run with. Newer devices may have 500k of heap, and in OS5's sake, several megabytes of it. If you're running on an older device like a Palm m505 say, you'll want to make sure you disable any "Hacks" or "Notifiers" or "DA's" if you run into problems.. they eat into your available heap RAM, and thus can limit or crash Kronos! If you've got a more recent unit such as a Sony T615c you should be in good shape RAM wise. The newest units like the Sony NX or the Palm Tungsten T will blaze along, no problem.

CPU Speed: Kronos works the devices very hard; you'll want as fast a processor as you can get. If you're on an older unit like an m500, you can run an overclock utility like After Burner which can speed things up significantly. newer devices like the Sont NZ will blaze along always, but on your older or more constrained units, you may need to help out.

Expansion: Kronos requires its story files to be on expansion media. Faster media is better, and you'll need to watch out.. each of these games could be 100k to 500k or more.. so you might be tossing away a few megabytes to Kronos.

Colour? Kronos will run equally well in monochrome, grayscale, or colour. It'll always do the best it can to display things nicely.

Resolution? Density? Kronos will run well in low resolution, but will look much prettier in high resolution. We support everyone!

Game Selection Screen

This is the Game Selection window; you see it when you launch Kronos.

Simply tap on a game to select it; if you have many story files installed you may need to scroll up and down using the list's scroller arrows to find a game you want.

Tap the Play button to fire up the game.

Start and Options Screen

This is the Start and Options window; you see it when you've hit Play on a selected game, and it satisfies requirements to run at all.

The available options will vary depending on the unit type you have.

There are two main kind of options you'll see here:

Font size options

Standard low resolution devices running in 160x160 will have no options, and simply run as best they can. Colour and mono/grayscale is supported and most games should run fine.

High resolution OS 5 devices will offer 3 display font options -- the Normal font, the tiny font, and the medium font. The Normal font will show up as nice and big and high resolution smooth, but won't get you a lot of information on the screen. The tiny font will maximize what you can see onscreen, but you might go blind reading it. For most of us, the default option of Medium Font will do nicely.. it shows a lot of information, but doesn't blind us with size or by being too small.

Older Sony units had a custom high resolution mode; they will have both the Tiny and Medium Font options, but not the normal font -- if you run the normal font on these devices, while rendering high res pictures, the device will crash of its own volition. Annoying, but we work around it where we can by not letting you pick those options together.

Interpreter options

ZCode Screen

Normally Kronos keeps an offscreen representation of what a normal desktop computer player would see and then reformats it for your Palm OS handheld display. Since a desktop computer can usually show 80 or more columns on a big screen and your PDA cannot, some translation is needed. However some ZCode games do some fancy screen tricks like rendering control panels or data entry forms on the screen.

Kronos translation will work fine for these forms displays, but you'll only usually see one form entry line at a time. This might be okay, or maybe its confusing since the game may expect you to see a full screen entry form. If things aren't working out how you (or the game?) expects, you can just run the game and turn on the ZCode Screen option.

When activated, the ZCode Screen tells Kronos to display the virtual offscreen display "as is" to the Palm OS display; we'll still do word wrapping and such to avoid a weird horizontal scrollbar, and we'll tell the story that your screen is really 40 by 24 so it gets what it expects, and we'll draw the whole screen every time. So you'll get nicely drawn forms and things, and it will render more or less how the game expects.

Why don't you run in this mode all the time? Thats complex. The short answer is that Kronos is pretty good at translating.. it'll word wrap in the right place most of the time and things will scroll nicely, and you'll have a good long scrollback history. In ZCode Screen mode we're leaving the worderap mostly to the story and it thinks its running on a desktop computer, so your mileage may vary. Furthermore, since its redrawing the full screen, your scrollback gets blown away fast. We do keep it pretty long, but its got a lot of duplicate text in it in this mode.

So all in all, both modes are very good. Kronos built in mode is best most of the time, but newer or fancier ZCode games may need the ZCode Screen to be seen best.

Start button

Press START to try and load the game. It might take a moment to load, or might refuse to load and return to the picker window. If this happens, try leaving Kronos and going back in, as this will free up resources that may have been left behind by a previously run game.

Sometimes you just cannot run a game and need to shut down some Hacks, or give up if your device is older -- it may not have the heap RAM (see above) sufficient to run the game.

Game Play Screen

This is where you spend most of your time; it shows up when you hit the Start button and the game has finished loading itself. It could take a moment for this to become fully operational. Its like a Death Star and takes some time to set up :)

Theres a lot you can do here in this screen:

In more detail, some of these operations are:

Tap on words in the main body of the screen

Tapping on a word will pop up a menu of commands you can push into the command entry field. For instance, tapping on "tree" will let you put the word "tree" into your command field, or put "tree" in there and hit RETURN for you, or insert "get tree" or "examine treee" or many other operations. You can almost play entire games without writing grafitti by just tapping away on the screen!

Tap on buttons in the button bar

The button bar includes some handy commands in it. "L" stands for Look, "N" stands for North; others are for East, West, South, and Inventory. Theres a few trickier ones there, though..

One is for diaganol and other movement commands; it lets you move in directions like "southeast" and "northwest", as well as "up" and "down", without entering them yourself.

Another handy button is the "popup words" button; tap on it to see a selection of handy words; pick a word and it will be inserted into your command field.

Lastly are the handy Save and Restore buttons. They're shortcuts to save you typing.

Tap on the picture

The Magnetic Scrolls games feature gorgeous artwork; to keep things moving fast, we show you a thumbnail of the artwork in the bottom corner of the screen. But if you tap on it, you'll get a zoomed in version of the picture which is much more attractive and may offer clues to the gameplay. See the example to the left of what a zoomed picture looks like.

Entering commands

You can enter commands entirely manually of course, by grafitti or a plugged in keyboard. You can also summon the Palm OS onscreen keyboard for your use, or see Grafitti Help. Pull down the Edit menu for these operations, as well as Cut, Paste, etc.

Pressing RETURN on your keyboard, or write a grafitti RETURN stroke (top right to bottom left) will submit the current command, or press RETURN by itself it the box is empty.

Popwords

There are 3 main kinds of popwords in Kronos:

Using the Automap

Due to memory constraints, the automap tool is only available on OS5 handhelds and later. This may change in the future.

The automap can be very useful to help you get "un-Lost" though purists will not be impressed since this is something the original games usually did not offer, so it could be considered cheating... though I like to think of it as a harmless time saving tool for mobile retro-game players :)

The automap essentially watches what you type and where you are and tries to figure out the connections between rooms as a result. It can only handle the basic movement commands (such as "n" or "north" or "up" or "northeast") though other actions will be considered as "teleports"; for example, if you cast some spell or open some item that move you to another toom, theres just no way Kronos can know what happened.. if you can do it from any room, or only from that room, etc. (Only the author of the game story file knows that!). As such, Kronos will figure out how to work with these rooms, but it will not connect them to the previous room unless you "walked" there.

What games are good candidates for the automap? Many! If the game uses a sensible map, then the automapper will be able to figure it out as you play. If the game is naughty, then the automapper will still half work, though it may not "look right". Things that make the automapper happy:

Using the mapper is very easy:

For an example of usage, see the automap pictures here:


On the left, you'll notice that you are standing on a Stone Bridge in Magnetic Scroll's "The Pawn" game; The mapper knows about 3 exits: Grassy Wilderness, Bank, and On the Bridge. If you then tap on the "On the Bridge" button, the mapper will redraw and could appear as on the right panel; notice how Stone Bridge and Palace Garden are now visible in the automapper, so you can see where you came from (since we've connected the two rooms in both directions by walking back and forth along the bridge a few times). Also note that these are not all the exits.. we didn't walk north and south, and so theres no exits shown on the automap for them yet!

Using the Game Notes

Game notes is a handy feature Kronos offers you to assist when you're playing a game in small pieces of time and you don't wish to lose your place or train of thought. Just open the note window and write whatever you wish into it and Kronos will remember it for you.

Some things to remember:

Saving Your Session

Saving a game varies a little game to game. In general, you can enter "Save" and the game will prompt you for a filename. You can often say something like

save "mygame"
to save your game.

Tapping on the Save button in the button bar will just save you entering the "Save" command, and it will additionally try and suggest a filename for you. This can be a handy way to save time if you're saving a lot!

Note that when you save "mygame", Kronos will append ".sav" to it if its not already there, and will put it into a save directory for this game. You needn't worry about clobbering saves for other games.

Restoring Your Session

The reverse of saving. With Magnetic Scrolls games you'll want to use "Load" to get your game back, though with Infocom games you often want to use "Restore".

If you press the Restore button on the button bar, Kronos will show you save games in the game directory and try and load them for you when you tap on one. It should simplify the process greatly!

Quitting

Why quit? =)

You can just press the Home button on your device to exit to the Game Selection Screen, and then press it again to exit Kronos. You can also try quitting the game itself by entering "Quit" into the command field.

I hope you enjoy the retro gaming!

Jeff Mitchell
Codejedi