TIGCC Tools Suite - HowTo's | (c) TI-Chess Team
Using Compressed kernel-based Executables | Anno Domini 2001

## IMPORTANT NOTE

> Since version 0.9 TIGCC supports exe-packing directly for NOSTUB programs, but not for kernel based programs. Therefore you have to process the necessary steps still by hand.

## How to generate a compressed Executable

> To make the process simple I have implemented a tiny tool called ttppggen which processes all necessary steps in sequence. Suppose we have the TI89 executable of tichess (tichess.89z) and the result should be a calculator variable with name "tic" which holds the packed executable.
> ttppggen tichess.89z tic
> This short line will generate a file tic.89y which will show up on the calculator as file tic with extension ppg.
> To start the packed executable on the calculator you can use the ttstart() utility which comes with the TIGCC Tools Suite like this:
> ttstart("tic")
> Of course you can use also the TICT-Explorer (can be found on http://tict.ticalc.org) which supports exepacked programs directly without any launcher.
> If you want to build a custom start utility which doesn't need any commandline parameter, read on!

## How to generate a custom start utility

> Suppose we want a custom start utility which doesn't need a commandline parameter. The start utility should be named mystart and the packed executable is named myprog. To build this custom start utility just go to directory src/calctools and compile ttstart.c like this:
> tigcc -o mystart -Os -DCUSTOM_NAME=myprog -DONLY_PPG ttstart.c
> That's all. When you start mystart() on your calculator it will look for myprog automatically.
> NOTE: Of course you must have the TIGCC environment already installed on your computer to build a customized launcher for kernel based programs.

## Some Words of Warning

> The exepack technology was originally invented and tested for NOSTUB programs. If it works correctly in combination with kernels depends on the kernel.
> Compressed executables works fine with UniversalOS v1.30, but not with previous versions of UniversalOS. Other kernels are not tested. I suggest to add a hint about this fact to the readme file of your program.

Thomas Nussbaumer Graz,Austria 04/08/2001