256 lines
6.5 KiB
Groff
256 lines
6.5 KiB
Groff
.\"Text automatically generated by txt2man
|
|
.TH zcc 1 "01 December 2009" "" "z88 Development Kit"
|
|
.SH NAME
|
|
\fBzcc \fP- The frontend of z88dk
|
|
.SH SYSNOPIS
|
|
zcc [flags] [files to be compiled/linked]
|
|
.SH DESCRIPTION
|
|
This manual page documents briefly the z88dk tools. This manual page
|
|
was written for the Debian GNU/Linux distribution (but may be used
|
|
by others), because the original program does not have a manual page.
|
|
.RE
|
|
.PP
|
|
|
|
.RS
|
|
Please refer to the z88dk documentation in /usr/share/doc/z88dk-doc for the complete description of the system.
|
|
If /usr/share/doc/z88dk-doc not exists, please install the package z88dk-doc.
|
|
.PP
|
|
The frontend of z88dk is called zcc, it is this that you should call
|
|
if you want to do any compilations.
|
|
.PP
|
|
The files can be either C files (.c), preprocessed C \fBfiles\fP(.i),
|
|
compiled C files (.asm), optimised compiled file (.opt) or assembled
|
|
files (.obj), any combination of them can be mixed together and the
|
|
relevant processed done on them.
|
|
.PP
|
|
Processing of a file list is done on each file in turn (i.e. preprocess,
|
|
compile, optimise, assemble) at the end all files may be linked into
|
|
a single executable if desired.
|
|
.SH OPTIONS
|
|
Options to control the action of the frontend:
|
|
.TP
|
|
.B
|
|
+[file]
|
|
Name of alternate config file (must be the first argument).
|
|
.PP
|
|
.nf
|
|
.fam C
|
|
Predefined alternate configs:
|
|
abc80 ABC80
|
|
aceansi Jupiter ACE, using VT-ANSI engine
|
|
cpm CP/M
|
|
msx MSX 1
|
|
mz Sharp MZ
|
|
mzansi Sharp MZ, using VT-ANSI
|
|
nc Amstrad NC100
|
|
rex REX 6000
|
|
sam Sam Coupe
|
|
svi Spectravideo SVI
|
|
m5 SORD M5
|
|
ti82 Ti82, using ROM text routines
|
|
ti82ansi Ti82, using VT-ANSI
|
|
ti83 Ti83, using ROM text routines
|
|
ti83ansi Ti83, using VT-ANSI
|
|
ti85 Ti85, using ROM text routines
|
|
ti85ansi Ti85, using VT-ANSI
|
|
ti86 Ti86, using ROM text routines
|
|
ti86ansi Ti86, using VT-ANSI
|
|
ti8x Ti83+, using ROM text routines
|
|
[ti8xansi] Ti83+, using VT-ANSI
|
|
vz VZ / Laser 200
|
|
vzansi VZ / Laser 200, using VT-ANSI
|
|
z88 Cambridge Z88
|
|
z88ansi Cambridge Z88, using VT-ANSI
|
|
z88net Cambridge Z88 with TCP/IP
|
|
zx ZX Spectrum
|
|
zx81 ZX 81
|
|
zx81ansi ZX 81, using VT-ANSI
|
|
zxansi ZX Spectrum, using VT-ANSI
|
|
|
|
.fam T
|
|
.fi
|
|
.TP
|
|
.B
|
|
\fB-a\fP
|
|
Produce .asm (or .opt) file only
|
|
.TP
|
|
.B
|
|
\fB-c\fP
|
|
Do not link object files
|
|
.TP
|
|
.B
|
|
\fB-E\fP
|
|
Preprocess files only, leave output in .i file
|
|
.TP
|
|
.B
|
|
\fB-o\fP [file]
|
|
Specify output file for binary (default is a.bas for BASIC programs and a.bin for application binaries)
|
|
.TP
|
|
.B
|
|
\fB-On\fP
|
|
Optimize compiler output (to .opt file) n can be either 0 (none) 1,2,3, level 2 is recommended. Level 3 is suitable for large programs (includes certain lib functions to reduce size of \fBcode\fP(!))
|
|
.TP
|
|
.B
|
|
\fB-v\fP
|
|
Verbose - echo commands as they are executed
|
|
.TP
|
|
.B
|
|
\fB-vn\fP
|
|
Don't be verbose
|
|
.RE
|
|
.PP
|
|
|
|
|
|
.RS
|
|
Options to control library usage:
|
|
.TP
|
|
.B
|
|
\fB-l\fP[name]
|
|
Link in a library - supply just the name (after placing them in the correct directory).
|
|
.PP
|
|
.nf
|
|
.fam C
|
|
The 'name' are:
|
|
farz88 Z88 far support
|
|
gfx Z88 BASIC graphics lib
|
|
gfxapp Z88 application graphics lib
|
|
m Generic math routines
|
|
malloc Generic near malloc routine
|
|
mz OZ's math routines
|
|
ndos Fake file-routines, return errors only
|
|
net Z88 socket routines for ZSock
|
|
netdev Z88 socket routines for devices
|
|
p3 +3 file support library
|
|
tigray82 Ti82 graylib routines
|
|
tigray83 Ti83 graylib routines
|
|
tigray83p Ti83+ graylib routines
|
|
tigray85 Ti85 graylib routines
|
|
tigray86 Ti86 graylib routines
|
|
z88 Some Z88 application routines, like mailboxing
|
|
zxmath ZX Spectrum ROM based math routines
|
|
zxvgs ZXVGS hardware support
|
|
|
|
.fam T
|
|
.fi
|
|
.TP
|
|
.B
|
|
\fB-m\fP
|
|
Generate .map files when assembling/linking
|
|
.RE
|
|
.PP
|
|
|
|
|
|
.RS
|
|
Options to control the type code produced:
|
|
.TP
|
|
.B
|
|
\fB-unsigned\fP
|
|
Implicitly define everything as unsigned unless explicitly told otherwise.
|
|
.TP
|
|
.B
|
|
\fB-create-app\fP
|
|
Create an application image (i.e. bank 63,62 etc)
|
|
.TP
|
|
.B
|
|
\fB-make-app\fP
|
|
(App) Notify the compiler that you're trying to make an application
|
|
.TP
|
|
.B
|
|
\fB-reqpag\fP=
|
|
(App) Number of 256 byte pages required for bad application
|
|
.TP
|
|
.B
|
|
\fB-zorg\fP=
|
|
(App) Origin for a Z88 application
|
|
.TP
|
|
.B
|
|
\fB-safedata\fP=
|
|
(App) Amount of safedata required by your code
|
|
.TP
|
|
.B
|
|
\fB-defvars\fP=
|
|
(App) Where static variables should be dropped (only valid for single file compilations, but see later)
|
|
.TP
|
|
.B
|
|
\fB-expandz88\fP
|
|
(App) Expanded z88 required
|
|
\fB-no-expandz88\fP (App) Expanded z88 not required (these two flags toggle some startup code to check for an expanded machine)
|
|
.TP
|
|
.B
|
|
\fB-startup\fP=3
|
|
Produce standalone code that can be run from a set address from BASIC. Use \fB-zorg\fP= to change the address
|
|
.TP
|
|
.B
|
|
\fB-R\fP
|
|
(Use with above) produces relocatable code that can be loaded into a DIM'd BASIC array.
|
|
.TP
|
|
.B
|
|
\fB-smartpf\fP
|
|
Intelligent printf routine handling
|
|
.TP
|
|
.B
|
|
\fB-no-smartpf\fP
|
|
Turn off the intelligent printf handling
|
|
.TP
|
|
.B
|
|
\fB-make-lib\fP
|
|
Shortcut to generate .o files from library .c files
|
|
.TP
|
|
.B
|
|
\fB-stackoffset\fP
|
|
Sets the stack offset for shared libs (see package.txt for details)
|
|
.RE
|
|
.PP
|
|
|
|
|
|
.RS
|
|
Miscellaneous options:
|
|
.TP
|
|
.B
|
|
\fB-z80-verb\fP
|
|
Allow z80asm to be verbose, this tends to generate a lot
|
|
of output to the screen so may not be desired.
|
|
.TP
|
|
.B
|
|
\fB-cc\fP
|
|
Intersperse C code as comments in the assembler output, warning:
|
|
this *will* clobber some optimizations.
|
|
.TP
|
|
.B
|
|
\fB-Wall\fP
|
|
Turn on all the compiler warnings
|
|
.TP
|
|
.B
|
|
\fB-Wnone\fP
|
|
Turn off all compiler warnings
|
|
.TP
|
|
.B
|
|
\fB-Wn\fP[num]
|
|
Turn off the compiler warning [num]
|
|
.TP
|
|
.B
|
|
\fB-W\fP[num]
|
|
Turn on the compiler warning [num]
|
|
.TP
|
|
.B
|
|
\fB-asxx\fP
|
|
Cause the compiler to emit asxx compatible code
|
|
.TP
|
|
.B
|
|
\fB-Cp\fP[option]
|
|
Pass an option through to the pre-processor
|
|
.TP
|
|
.B
|
|
\fB-Ca\fP[option]
|
|
Pass an option through to the assembler
|
|
.PP
|
|
In addition, the flags, \fB-D\fP, \fB-I\fP, \fB-U\fP are passed through to the preprocessor.
|
|
.SH SEE ALSO
|
|
\fBz88dk\fP(1), \fBz88dk-zcc\fP(1), \fBz88dk-z80asm\fP(1), \fBz88dk-appmake\fP(1), \fBz88dk-copt\fP(1).
|
|
.RE
|
|
.PP
|
|
|
|
.SH AUTHOR
|
|
z88dk was written by Dominic Morris <dom@z88dk.org>, and others.
|
|
This manual page was written by Krystian Wlosek <tygrys@waw.pdi.net> using exists documentation, for the Debian GNU/Linux system.
|