AminetAminet
Search:
84495 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/cross/z88dk_v1.0s.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Z88DK - Generic Z80 Small C+ Compiler with Z88 Libraries
Author:Cain, Yorston et al, extended by Dominic Morris
Uploader:Dominic Morris <djm jb man ac uk>
Type:dev/cross
Architecture:m68k-amigaos
Date:1999-03-23
Download:http://aminet.net/dev/cross/z88dk_v1.0s.lha - View contents
Readme:http://aminet.net/dev/cross/z88dk_v1.0s.readme
Downloads:806

Z88DK v1.0 - sccz80 v1.10b0.51 - Source Code Archive
----------------------------------------------------

Z88DK is a package along the lines of the GBDK, however it produces code
for full Z80s and not the cutdown version in the Gameboy.

The package consists of a Small C+ Compiler, Peephole Optimizer, and
unified assembler and linker (provided by Z80asm from Interlogic).
Libraries are supplied for the Cambridge Z88 however it would be a fairly
trivial task to create libraries for other Z80 based machines.

This is the first public release of the compiler, however it has under
fairly extensive testing for 6 months and I now believe it to produce
stable code.

Features of the compiler include:

- Structs/unions
- Floating point support (either generic Z80 or stubs for the Z88 fp
  calculator)
- Long (32 bits), int (16 bits), char (8 bits) datatypes
- Signed and unsigned datatypes
- Compiler support for far datatypes (allows support for up to 4MB of
  memory) though no library support as yet.
- Literal pools for double constants and strings, both pools feature
  literal merging (removal of repeated constants).
- ANSI & K&R function style declarations and prototypes
- Extensive support library (over 200 usable routines) including almost a
  full complement of string and ctype functions
- Definition during declaration of global and local static variables
  (though not auto variables)

The compiler front end (zcc) is a much rewritten affair based on the 
ZCC096 frontend by Ken Yap, it has been considerably extended and rewritten
to function as much as possible like any other big box compiler frontend.

Optimization is provided courtesy of a peephole optimizer which substitutes
certain compiler output for more efficient code, in particular logical
operation on unsigned chars are well catered for. Savings in program size
of over 10% are common place.

All assembler output is generated in a form suitable for use with the
Z80 Module Assembler from Interlogic (A full setup is included within
this archive), this freely distributable assembler generates compact
object files and allows linking in of routines from multiple library files.

The source code for the entire suite is available in a separate archive
(z88dk_v1.0s.lha).

Potential Problems:

- Floating point constants may not be correctly evaluated, I can't
  reproduce the problem that has been reported by some people.
- Far Pointer code is far from complete so the compiler might produce
  some spectacularly duff code.

Potential source of confusion:

- This compiler comes with no warrantry, if it works for you, thats great,
  if it doesn't and in the process destroys France than thats not my
  problem!

The compiler lacks the following features:

- Casts (though conversions between types are done automatically this will
  raise compiler warnings)
- Enums (get around by use #define)
- Typedefs (get around by use of #define)

Recompense:

- This compiler suite is provided free of charge and nothing is expected
  off of you if you use it, however it would be nice to get an email if
  you use it. If you release a commercial program using this package then
  it would be good to learn about it and know that all my work is not in
  vain! (A copy of the program would be appreciated). 

- Hardware, especially of the SCSI variety, always accepted <grin>

A few thank yous:

Although I mention them in the doc file, I feel I ought to mention the
following people, without whom this compiler would not have got this far:

- Dennis Groning, this guy tirelessly compiled the compiler for WinBlows
  and reported back with so many bug reports and suggestions that have
  made the compiler so much better.

- Gunther Strube, without this guys assembler, z80asm, I wouldn't be sat
  here writing this text.

- Garry Lancaster, for not compiling for Linux for almost 6 months(!), but
  especially for putting up with me rabbiting on about it for those 6
  months without getting too irate (though he did write convert Forth for
  the Z88 in that time - maybe thats his way of venting anger?!?! <grin>)

Finally:

I'm still developing the Compiler, and I would very much like to keep
a unified Cross Compiler, I release the source so that you can pick up
on any bugs, laugh at the kludges which I've made(!) If you make any
changes could you please let me know so that I can incorporate them into
my set of sources - it would be a shame to come this far and end up with
n different distributions, cheers!

Have fun with the package,

d.
<djm at jb.man.ac.uk>

22/3/99


Contents of dev/cross/z88dk_v1.0s.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                  109     144  75.7% -lh5- dfed Mar 23  1999 src.readme
[generic]                  867    1892  45.8% -lh5- 3552 Dec 19  1995 src/copt/copt.1
[generic]                 1785    4705  37.9% -lh5- 23bf Dec  6  1998 src/copt/copt.c
[generic]                   69      71  97.2% -lh5- 5703 Dec 15  1998 src/copt/Makefile
[generic]                 1860    5006  37.2% -lh5- 5343 Mar 20  1999 src/copt_win/copt.c
[generic]                   69      71  97.2% -lh5- 5703 Dec 15  1998 src/copt_win/Makefile
[generic]                 2720    6610  41.1% -lh5- 1086 Aug 12  1998 src/cpp/cpp.h
[generic]                16658   28272  58.9% -lh5- e3a5 Feb 17  1999 src/cpp/cpp1
[generic]                 6919   17231  40.2% -lh5- eef4 Aug 12  1998 src/cpp/cpp1.c
[generic]                 6041   21375  28.3% -lh5- 7bff Feb 17  1999 src/cpp/cpp2.c
[generic]                 4703   12420  37.9% -lh5- 842c Aug 12  1998 src/cpp/cpp3.c
[generic]                 6326   17215  36.7% -lh5- 98f0 Aug 12  1998 src/cpp/cpp4.c
[generic]                 7666   21836  35.1% -lh5- b9c5 Aug 12  1998 src/cpp/cpp5.c
[generic]                 9675   28047  34.5% -lh5- fa22 Aug 12  1998 src/cpp/cpp6.c
[generic]                 1755    4071  43.1% -lh5- 5206 Aug 12  1998 src/cpp/cppdef.h
[generic]                 9250   32490  28.5% -lh5- 84a2 Aug  3  1998 src/dz80/DISSZ80.C
[generic]                 1690    4425  38.2% -lh5- b78d Aug  3  1998 src/dz80/DISSZ80.H
[generic]                 2178    5318  41.0% -lh5- ec62 Aug  3  1998 src/dz80/DZ80.C
[generic]                  465     869  53.5% -lh5- 0ac8 Aug  3  1998 src/dz80/DZ80.H
[generic]                  826    1738  47.5% -lh5- 5de3 May  8  1998 src/dz80/LOADFL32.C
[generic]                 1018    3396  30.0% -lh5- 975d Nov  8  1997 src/dz80/PARSECMD.C
[generic]                  140     202  69.3% -lh5- eb31 Aug  3  1998 src/dz80/PARSECMD.H
[generic]                  258     431  59.9% -lh5- 50fd Aug  3  1998 src/dz80/TYPES.H
[generic]                 2413    6425  37.6% -lh5- 3cf0 Feb 28  1998 src/dz80/WHATSNEW.TXT
[generic]                 1927    6372  30.2% -lh5- b681 Mar 22  1999 src/sccz80/callfunc.c
[generic]                  112     158  70.9% -lh5- a77c Mar 22  1999 src/sccz80/callfunc.h
[generic]                  318     773  41.1% -lh5- 06e3 Mar 22  1999 src/sccz80/ccdefs.h
[generic]                 6191   27510  22.5% -lh5- d028 Mar 22  1999 src/sccz80/codegen.c
[generic]                  555    2636  21.1% -lh5- 5109 Mar 22  1999 src/sccz80/codegen.h
[generic]                 4235   13829  30.6% -lh5- b6e3 Mar 22  1999 src/sccz80/const.c
[generic]                  194     455  42.6% -lh5- 7743 Mar 22  1999 src/sccz80/const.h
[generic]                 1987    5460  36.4% -lh5- 616b Mar 22  1999 src/sccz80/data.c
[generic]                  574    2015  28.5% -lh5- b93f Mar 22  1999 src/sccz80/data.h
[generic]                 5860   19731  29.7% -lh5- 880e Mar 22  1999 src/sccz80/declfunc.c
[generic]                  260     607  42.8% -lh5- b1d4 Mar 22  1999 src/sccz80/declfunc.h
[generic]                 2257    8177  27.6% -lh5- 9460 Mar 22  1999 src/sccz80/declinit.c
[generic]                  138     315  43.8% -lh5- 870e Mar 22  1999 src/sccz80/declinit.h
[generic]                 5758   22119  26.0% -lh5- 47da Mar 22  1999 src/sccz80/declvar.c
[generic]                  283     699  40.5% -lh5- fd34 Mar 22  1999 src/sccz80/declvar.h
[generic]                 2131    6362  33.5% -lh5- 38e2 Mar 22  1999 src/sccz80/define.h
[generic]                  800    1997  40.1% -lh5- 1362 Mar 22  1999 src/sccz80/error.c
[generic]                  117     288  40.6% -lh5- 2dd3 Mar 22  1999 src/sccz80/error.h
[generic]                 5480   25399  21.6% -lh5- 12e7 Mar 22  1999 src/sccz80/expr.c
[generic]                  159     623  25.5% -lh5- 8a55 Mar 22  1999 src/sccz80/expr.h
[generic]                 1800    6198  29.0% -lh5- f0b0 Mar 22  1999 src/sccz80/float.c
[generic]                  103     336  30.7% -lh5- 5f7e Mar 22  1999 src/sccz80/float.h
[generic]                 1664    5239  31.8% -lh5- 034a Mar 22  1999 src/sccz80/io.c
[generic]                  254     861  29.5% -lh5- 558f Mar 22  1999 src/sccz80/io.h
[generic]                  703    2115  33.2% -lh5- 605e Mar 22  1999 src/sccz80/lex.c
[generic]                   99     278  35.6% -lh5- 5aba Mar 22  1999 src/sccz80/lex.h
[generic]                  458    1095  41.8% -lh5- 733c Mar 22  1999 src/sccz80/lvalue.h
[generic]                 6834   24571  27.8% -lh5- 4d03 Mar 22  1999 src/sccz80/main.c
[generic]                  364    1268  28.7% -lh5- e2ba Mar 22  1999 src/sccz80/main.h
[generic]                  460    1143  40.2% -lh5- 63a0 Mar  3  1999 src/sccz80/makefile
[generic]                  699    1617  43.2% -lh5- 4c7f Mar 22  1999 src/sccz80/misc.c
[generic]                  131     222  59.0% -lh5- d2ba Mar 22  1999 src/sccz80/misc.h
[generic]                 2694   11664  23.1% -lh5- 2bb2 Mar 22  1999 src/sccz80/plunge.c
[generic]                  167     477  35.0% -lh5- 75b9 Mar 22  1999 src/sccz80/plunge.h
[generic]                 2093   10075  20.8% -lh5- 8909 Mar 22  1999 src/sccz80/preproc.c
[generic]                  142     442  32.1% -lh5- d169 Mar 22  1999 src/sccz80/preproc.h
[generic]                 4944   21076  23.5% -lh5- 378f Mar 22  1999 src/sccz80/primary.c
[generic]                  349    1202  29.0% -lh5- 47f2 Mar 22  1999 src/sccz80/primary.h
[generic]                 4272   16566  25.8% -lh5- c03e Mar 22  1999 src/sccz80/stmt.c
[generic]                  149     498  29.9% -lh5- 1f14 Mar 22  1999 src/sccz80/stmt.h
[generic]                 1405    4315  32.6% -lh5- 4169 Mar 22  1999 src/sccz80/sym.c
[generic]                  174     621  28.0% -lh5- dca2 Mar 22  1999 src/sccz80/sym.h
[generic]                  391     838  46.7% -lh5- faf7 Mar 22  1999 src/sccz80/while.c
[generic]                   80     125  64.0% -lh5- 9d33 Mar 22  1999 src/sccz80/while.h
[generic]                  104     125  83.2% -lh5- 1bad Dec 15  1998 src/zcc/Makefile
[generic]                 7451   27260  27.3% -lh5- 947c Mar 22  1999 src/zcc/zcc.c
[generic]                  682    1258  54.2% -lh5- bca4 Mar 22  1999 src/zcc/zcc.h
[generic]                 2279    4700  48.5% -lh5- bfd1 Mar 23  1999 zcc.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        72 files  165741  515970  32.1%            Mar 23  1999

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>