This is a port of pinfocom for tigcc, by Nils Gesbert <nils.gesbert@ign.fr>,
done in January 2003. See CHANGES for a list of changes from pinfocom-3.0.
README-orig is the README file originally provided with pinfocom-3.0.

IMPORTANT NOTE : the included ttarchive.h and ttunpack.h files are NOT
part of the pinfocom package but of the tigcc tools suite. I include
them for convenience since, contrary to the tools themselves, they
aren't included with tigcc. Please see http://tict.ticalc.org for more
info. Notice that in particular they are not covered by the GPL,
unlike everything else in this package. The ttarchive and ttpack
programs referred to thereafter are also parts of this suite.

The original pinfocom package can be downloaded on
http://www.ifarchive.org (I don't remember the exact URL but it isn't
difficult to find)


compile-time options :

-DBIDOUILLE defines a hack which decreases the program size by 200
bytes, but I don't understand how (even though I wrote it !) (see
infocom.c)

-DALPHALOCK automatically puts alpha-lock on whenever the game is
started or the calculator turned off and back on during the play,
which is convenient. However, it also increases the program size.

-DPAS_ARCHIVER_SVG disables moving the savegames to archive memory.
It is useful for testing, because archive memory does not work under
gtktiemu.

To quickly refresh the statusline, I use the excedent of video memory
by drawing it outside the screen and then simply copying it in place.
Since only the TI-89 has such an excedent, it is only done if USE_TI89
is defined. So on a TI-92+ the statusline will only get refreshed once
at each command prompt.

CONTEXT is the number of context lines, MAX_PAGE_ENTRIES the
max. number of cached upper z-memory blocks.
[NOTE : this is the number of UPPER z-memory blocks to keep. the z-file
header specifies a value for the upper z-memory boundary (word 3 of
the file) ; all data below this boundary (and up to the next block
boundary) is resident. Typically it means 5 or 6 blocks more.]

comp.sh contains a command line suitable for compiling pinfocom for
the TI-89.


command line options :

  * game file name (will be truncated to 6 characters) (default first
     one found in the compiled-in list)
  * random seed (default random !)
  * name of a saved game to restore at beginning (default none) (will
     be truncated to 8 characters)
You can omit the random seed and still specify a saved game to load,
but the saved game name must not be the first option
(because it would be taken for the gamefile name).

key bindings :

-- when inputing a command line :

 * diamond-P toggles the fixed font bit. When this bit is set, output
is done in the medium (instead of small) font, which is fixed-width.
 * diamond-mode toggles the Mysterious Tandy Bit (I don't know what it does).
 * diamond-on switches the calculator off.
 * diamond-digit/comma/period just inputs the digit, comma or period.
It is done to avoid having to switch alpha-lock off and back on.
 * when asked a file name (for saving/restoring), ESC cancels.
 * diamond-esc exits the program abruptly without prompting.

-- when output is paused :

 * down arrow scrolls a single line downwards.
 * ESC inhibits output pausing until the next command prompt.
 * space scrolls a full page, ignoring context lines.
 * any other key scrolls a page minus the context lines.

Note that automatic power down after some time idle will ONLY occur
in the command line input loop (not when output is paused).


format of the gamefiles :

First of all, the original gamefile must be a version 3 Z-code
program. Version number is the first byte of the file. You can also
get a hint about the version of a z-code game by considering that,
contrary to V3 games, the V4-5-6 may (and generally do) be larger than
128k.
Then the file should be split into 4k-blocks (only the last one may be
shorter). The first 16 blocks will go into a file in ttarchive format,
with the "compress" attribute set for each of them. The remaining
blocks will go into another similar file. The first file must have a
name of at most six characters and the second the same name with _2
appended to it. They must both be in the zcode directory.
decoupe_jeux.sh together with decoupe.c take care of preparing a
gamefile properly (please read them before use though, as I wrote them
quickly and did not attempt to make them robust or user-friendly).
