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 twenty z80 targets with the level of library support for each target varying with interest shown by users.
Nightly builds for Mac
I'm pleased to say that the build machine has been upgraded and is now generated Mac binary kits which can be grabbed from http://nightly.z88dk.org
Any feedback on them is much appreciated, I've not done much testing on them so it's possible the configuration isn't quite right.
If anyone has any other targets that they'd like built then let me know and if I can get a working toolchain, I can add them.
Apologies for the recent downtime - the server that z88dk.org is hosted on managed to drop off the network and it took a while to gain access to the cabinet to perform a server swapout.
The forums have now been migrated to the replacement server and hopefully things will start working again.
Not working (that I know of):
- Project hosting
- Mail list bridges
I'll update with more info as I fix things.
z88dk v1.10 bugfixed (v1.10.1 released)
z88dk v1.10 released
z88dk 1.10 is now uploaded to Sourceforge.
This snapshot aim is to consolidate all the past behaviour before trying to evolve the project seriously.
- [z80asm] Re-arranged and bugfixed
- [sccz80] Code generation size optimizations, in both standard mode and '-O3' mode
- [sccz80] Type conversion bugfixed (workaround on optimizer)
- [zcc] Skeleton to support the SDCC compiler engine (under development)
- [lib] Mono graphics lib improved and bugfixed
- [lib] simplified console input output bugfixed and optimized
- [lib] Turbo C conio and bgi emulation
- [lib] zx81, Spectrum and TS2068 console libs fixed and improved
- [lib] Sega SC3000: New target
- [lib] Memotech MTX: New target
- [lib] Canon X07: New target
- [lib] OSCA (v6z80p1): New target
- [lib] Sorcerer Exidy: New target
- [lib] SD memory card support code
- [lib] New stdio_new alternate code ready for substitution
- [appmake] New 'dumb' m ..........
z88dk v1.9 released
I think it's time we did this, so there's a new snapshot 1.9 of z88dk uploaded to Sourceforge. There's quite a few bug fixes in this release, there's quite a few changes, mostly improvements and bug fixes:
- [z80asm] Supports -I and -L directives to specify library and include paths
- [z80asm] the # include identify is no longer required
- [z80asm] Bug fixes for rabbit support
- [sccz80] Support for alternate assemblers
- [zcc] Support for alternate assembler/linkers
- [z80nm] Improvements and bug fixes
- [lib] MSX: Many improvements including lib32
- [lib] TRS80: New target
- [lib] Galaksija: New target
- [lib] CPC: Better handling of firmware calls and graphics support
- [lib] C128: Improvements
- [lib] strlcat and strlcpy are now available
- [lib] Many other improvements and bug fixes
...and probably a lot more things that I've forgotten.
As usual, documentation of the features supported ..........
z88dk v1.8 released
A little later than planned, we've released v1.8 of z88dk. Due to a lack of time, it's lacking in the major features that we originally planned, however the changes below are in this release:
- [sccz80] Bug fixes
- [cpp] DATE directive now outputs the date in a sensible format
- [lib] crt0: Different versions of the library are built to avoid index registers or alternate registers depending on the target
- [lib] A simple Xlib emulation has been imported and is available to ports with graphics capabilities
- [lib] CPC: Stability improvements
- [lib] ZX: Direct access to Opus Discovery is available
- [lib] ZX81: Stability improvements
- [lib] ZX81: High Res graphics are available
- [lib] ZX81: SP1 sprite package support
- [lib] TS2068: SP1 sprite package support
- [lib] Newbrain: fcntl support
- [lib] MSX: Improved support
- [lib] MSX: 1 bit sound
- [lib] ABC80: graphics
- [lib] TEST: New test target for ..........
z88dk v1.7 released
The first in our regular cycles of z88dk has been released. This release contains changes that have been applied over the past two years, including a number of new platforms, changes to the core libraries to make compiled programs smaller and faster and a large number of other changes. The details that can be remembered are listed below:
* [sccz80] Bug fixes, tweaks to single parameter function pointer calls
* [z80asm] Z80asm supporting Rabbit
* [zcpp] End of file fix for win32
* [zcc] -Cz flag to pass through to appmake
* [appmake] Support for most z88dk targets
* [lib/crt0] Support for Newbrain, Rabbit, Sega Master System SMS, TS2068
* [lib] Much of the library rewritten to use FASTCALL and CALLEE linkage for faster and small library function calls
* [lib] malloc library can now allocate from a scattered map of available RAM and supports multiple heaps
* [lib] balloc library introduced as a block memory allocator