z88dk is a z80 C cross compiler supplied with an assembler/linker and a set of libraries implementing the C standard library for a number of different z80 based machines. The name z88dk originates from the time when the project was founded and targetted only the Cambridge z88 portable.
The compiler featured in z88dk is a much enhanced Small C compiler; the compiler accepts many features of ANSI C and is only deficient in a few areas where implementation on a z80 processor might prove inefficient. The compiler performs simple optimisations, but the bulk of the optimisation is achieved by a set of peep-hole rules, which will typically reduce the size of a large project by up to a third.
The libraries supplied with z88dk are designed to be as generic as possible, indeed it is possible to port to a new machine simply by supplying two library routines and some startup code. It is hoped that one day z88dk will support as many z80 based machines as there is information available and sufficient interest in. Currently z88dk supports more than thirty z80 targets with the level of library support for each target varying with interest shown by users.
z88dk is known to run on a wide variety of platforms including: Linux, MacOS X, Solaris, Win32, Win16 and MSDOS. Binary releases are available for Win32 and MacOS X, additionally, packages are available for many Linux distributions. On BSD machines, GNU make should be used instead of the native make program.
-
An Introduction to Using z88dk
C Programming with z88dk
Basic Types (char, int, long, far *, float, double)
-
-
-
Debugging Tips
Tips from Other Users
Platform Independent Library Functions
Platform Dependent Library Functions
Mixing C and z80 Assembler
Advanced Topics
Miscellaneous
-
ZSock (z88) The z88 TCP/IP stack - the reason why z88dk was started in the first place
-
-
-
T80 Z80 CPU Core (embedded) Daniel Wallner’s Z80 core which is supported by z88dk
EZ-Stunt (embedded) Uses z88dk to target a z80s183 to do, well, take a look!
Sprite Pack (ZX Spectrum) A fully featured sprite library for Spectrum/Timex machines. A new version has been incorporated into z88dk and is now known as SP1.
CPC Sprite Library (Amstrad CPC) cpcrslib is a C library containing routines and functions that allows the handling of sprites and tile-mapping on the Amstrad CPC. The library is written to be used with the z88dk compiler. cpcrslib also incorporates keyboard routines to redefine and to detect keys, as well as general routines to change to the screen mode or the colours.
Crocolib (Amstrad CPC/CPC+) Crocolib is a complete framework targeting Amstrad CPC computers, written in C using the z88dk C cross compiler. It allows the creation of rich programs featuring very low-level hardware support. Tools are also included to convert data to the target machine.
Spectranet (ZX Spectrum) A project based around the W5100 IC to add ethernet capability to spectrums. Software is targetted at asm, basic and C programmers using a socket
API.
The main
z88dk page can be a source of more information.
-
-
The
forums are the best way to get a quick response from the developers and other users.