This is the source code archive for the 1.0 Atari version CBZONE.
The contents of this archive (CBSRC10.ZIP) should be:

STSRC.ZIP	(All files needed for the Atari (ST) compilation)
CBLSRC.ZIP	(Source for CBLAUNCH.PRG)
OTHER.ZIP	(All other files - X windows stuff etc)
README.SRC	(This file)

It is probably best to create directories for each of these and unzip them
seperatly.

If you pass this archive on, please leave it complete and don't remove any
files from it. Some might seem unecessary to you, but somebody else further
down the line might find them useful. Of course you may *add* stuff -
but please mark it as added and update the documentation. Thanks.

To recompile CBZONE you will need a fairly recent version of Lattice C. GNU C
can also be used, but there is no FPU support in the code for it. Also I have
been unable to get the -O (optimise) feature of GCC working with this CBZONE
version.

I used:

Lattice C 5.5.2
and
GCC 2.3.3 MiNT libraries PL44

Suitable make/project files are included for both.

A fair amount of memory and a hard disk are also recomended.

For final game requirements and more details, see the readme.st file appended
to the end of this file.

About the Code
==============
The code has been through several different hands and therefore is not as well
laid out or structured as it might be. Also it has also been modified to run
on several different platforms. The default one being an X-Windows station!

Versions are controlled by use of pre-processor symbols:

ATARI		Compiles in the general ATARI and GCC code
LATTICE		Compiles in the Lattice code (also need ATARI defined)
DEBUG		Compiles in the debugging code
DEVELOPER	Compiles in the developer special code. Also helps to have
		DEBUG defined as well
FAST_NAME	Lattice only. Defines what file name to look for to detect
		whether -fast has been activated by CBZ***F.PRG option
ATARI_VRES	Enables auto detect screen mode
ATARI_RES	Defines fixed screen mode.



If ATARI_VRES is not defined then ATARI_RES *must* be defined. See c_config.h
for more details on ATARI_VRES and ATARI_RES.

Also *either* MC68000 *or* MC68030 must be defined.

The following #defines are Lattice specific. Note the absense or
presence of any of this symbols does *not* disable or enable the feature. That
needs to be does in the .PRJ file. What this sysbols do is make sure the right
bits of code get compiled for the right compiler options.

Basically use the 3 predefined .PRJ files. If these aren't suitable then feel
free to create your own. Just make sure you set these variables to reflect which
compile time options you have picked.

MC68000		Defined by CBZ0NFP.PRJ and CBZ0FPU.PRJ
MC68030		Defined by CBZ3FPU.PRJ
NOFPU		Defined by CBZ0NFP
IOFPU		Defined by CBZ0FPU
COPRO		Defined by CBZ3FPU

The filename format for .PRJ files is:

CBZ<0|3><FPU|NFP>.PRJ

0	MC68000
3	MC68030
FPU	Some sort of FPU
NFP	No FPU

The DEBUG code allows the use of the function:

debug_log()

This has exactly the same syntax as printf(), but puts it output to the
debug.log file. This is useful as it is not practical to output debugging
info to the screen as it will upset the graphical display.

The developer code outputs timing statistics to the debug.log file.
This gives a good indication whether a change increases or decreases the
speed of the game. If you find nothing is being output, try creating an empty
debug.log file and make sure DEBUG is defined as well.

Other than that - the code is reasonably well documented. All the files
starting c_ are part of the original release. The rest contain Atari specific
code. The compat.c file contains Lattice specific code and is not needed for
the GCC version. Cookies.c is also Lattice specific. If in doubt, look at the
makefile and project file to see which files are being compiled in.

Final Note
==========
This program should compile with little or no fiddling. On the other hand, if
you do have problems I am more than willing to have a look at them. The same
goes if want to do any improvements.

Have fun,

Roland Givan 03/11/94

Email:
rgivan@cix.compulink.co.uk

Snail Mail:
Roland Givan
6 Salmonds Grove
Ingrave
BRENTWOOD
Essex
CM13 3RS
