z88dk v1.99A Release Candidate

Announcements for z88dk releases
Post Reply
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

z88dk v1.99A Release Candidate

Post by alvin »

Download from:
http://nightly.z88dk.org/Releases/

The release candidate will be available for testing until December 23 when it will be replaced by an official release of v1.99A.

The download options are a binary win32 build, a binary mac osx build and a generic source tree for other platforms. Installation hints can be found here: http://www.z88dk.org/wiki/doku.php?id=t ... tallation. Instructions for installing the MacOSX binary are missing so if a MacOSX user is able to submit those, it would be appreciated

z88dk has undergone some significant development in the past two years. The version number reflects this (v1.99) and anticipates a v2.0 when the development roadmap is completed.

WHAT'S NEW

Quite a lot and we don't have a complete list of changes yet.

In broad terms:

* [z80asm] Sections introduced for creating memory maps and compiling for bankswitched memory
* [z80asm] Modern operator syntax introduced
* [z80asm] PUBLIC, EXTERN, GLOBAL scoping keywords introduced to replace XDEF, XREF, XLIB, LIB, etc

* [sccz80] Numerous bugfixes

* [classic c library] New targets and new libraries which will be enumerated at official release

* [new c library] A new c library has been written from scratch in assembly language and currently contains more than 700 functions
* [new c library] Compatible with sdcc
* [new c library] Many unique libraries including zx7 (compression), adt (C++ STL containers), fzx (proportional fonts), BIFROST/NIRVANA/SP1 (zx), tritone music and bitfx sound effects for 1-bit audio devices.
* [new c library] Object oriented stdio allowing writing of sophisticated drivers using code inheritance from the library. Currently base classes implement serial character devices and terminal (console) devices.
* [new c library] Targets supported initially include cp/m, embedded (generic z80) and zx (zx spectrum). The built-in crts allow creation of terminal windows with assignable input source using fixed width or proportional fonts, output as ROM or RAM-resident programs.
* [new c library] The library and crts are highly configurable. Library build time options allow selection between fast and small library code and the crts can be configured at compile time by embedded pragmas in the C source code.

* [sdcc] sdcc is fully supported as alternate C compiler using the new C library.
* [sdcc] sdcc's output is improved by an additional 400 peephole rules supplied by z88dk
* [sdcc] sdcc's calls to its primitives are modified to use smaller and faster callee linkage

The combination sdcc+z88dk supplies a C compiler that behaves similarly to 32-bit C compilers. sdcc implements a large subset of C90/C95/C11 standards and the z88dk library completes the compliance. The only missing element is the disk i/o which is currently under development.

sccz80 will often create smaller code than sdcc particularly when longs and floats are in use.

Some benchmarks including Dhrystone 2.1 and Whetstone 1.2 comparing with some other commercial compilers:
http://www.z88dk.org/wiki/doku.php?id=t ... benchmarks

New documentation under construction:
http://www.z88dk.org/wiki/doku.php?id=temp:front

Collection of links describing how to compile with sdcc:
http://www.z88dk.org/wiki/doku.php?id=t ... _with_sdcc

Example programs using the classic library:
z88dk/examples

Example programs using the new c library and sdcc:
z88dk/libsrc/_DEVELOPMENT/EXAMPLES

PURPOSE OF A RELEASE CANDIDATE

We are hoping to identify problems with installation and use before an official release. Particularly we are looking for problems with using the new elements in the release.

1. Try making the new c library.

cd z88dk/libsrc/_DEVELOPMENT
windows: "Winmake all" (10-15 mins to complete)
other: "make"

2. Try compiling your own programs and some of the examples.

Thanks to anyone who can find the time at this time of year to do a little testing.
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

Post by alvin »

RELEASE CANDIDATE BUGFIXES

Download and overwrite your local copy.

z88dk/libsrc/_DEVELOPMENT/sdcc_peeph.3
http://z88dk.cvs.sourceforge.net/viewvc ... cc_peeph.3

z88dk/libsrc/_DEVELOPMENT/EXAMPLES/backgammon.c
http://z88dk.cvs.sourceforge.net/viewvc ... xt%2Fplain

z88dk/libsrc/_DEVELOPMENT/EXAMPLES/sudoku.c
http://z88dk.cvs.sourceforge.net/viewvc ... xt%2Fplain

z88dk/libsrc/_DEVELOPMENT/EXAMPLES/umchess.c
http://z88dk.cvs.sourceforge.net/viewvc ... xt%2Fplain
Post Reply