This is a port of pinfocom for tigcc, by Nils Gesbert , 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).