[cc65] cc65 v2.7.0 released

Date view Thread view Subject view

From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2001-10-14 10:29:17


				    
Hi!

A few minutes ago I've placed version 2.7.0 onto the FTP server at

        ftp://ftp.musoftware.de/pub/uz/cc65/

(the usual FTP server quirks apply).

Thanks to all who helped developing and testing this release! The official
announcement is appended below.

Regards


        Uz


---------------------------------------------------------------------------

I'm proud to announce version 2.7.0 of CC65, a C crosscompiler /
crossassembler combo for 6502 systems.

CC65 has C and runtime library support for many of the old 6502 machines,
including

  - The Commodore C64, C128 and the C16, C116, Plus/4 machines.
  - The CBM 510 (aka P500), a quite rare Commodore machine (programs
    run in bank 0).
  - The CBM 600/700 family (programs run in bank 1).
  - Newer PET machines (not 2001)
  - The Apple ][ (library support by Kevin Ruland <kevin_at_rodin.wustl.edu>)
  - The Atari 8 bit machines (thanks to the Atari team: Christian Groessler
    <cpg_at_aladdin.de>, Mark Keates <markk_at_dendrite.co.uk>, Freddy Offenga
    <taf_offenga_at_yahoo.com> and David Lloyd, <dmlloyd_at_atari-central.com>).
  - GEOS for the C64 and C128 (GEOSLib by Maciej Witkowiak <ytm_at_elysium.pl>)

The libraries are fairly portable, so creating a version for other 6502s
shouldn't be too much work.


Version 2.7 has a real lot of changes, including a completely rewritten
backend. Here is a short list:

  - New compiler option --create-dep to create a dependency list for a
    makefile.

  - Option and pragma to generate stack overflow checks (both, parameter
    and CPU stack).

  - Transparent and efficient handling of fixed params in variadic
    functions.

  - Build parameter frames when calling other functions by adjusting
    the stack once and then storing into this frame instead of pushing
    each parameter separately.

  - More flexible .INCBIN command for the assembler.

  - Compiler generates line info for the assembler. The assembler passes
    this to the linker, which is able to generate files containing this
    information.

  - New, much improved compiler backend.

  - The literal pool works now without a hardcoded limit.

  - C functions may now be declared as __fastcall__.

  - New #elif preprocessor directive

  - Boolean and and or in preprocessor #if clauses does now work.

  - New, improved __asm__ syntax for the inline assembler.

  - New code generation for the switch statement.

  - Optimizations. Please note that some of the optimizations of the
    old backend are no longer there, so in rare cases, code may be slower
    when compiled with this version.

  - Symbols may now be defined in the linker config file. This is used for
    most platforms to define the size of the stack.

  - Updated the cc65 utility with all the new command line switches.

  - C64 startup code no longer uses fixed stack top.

  - Several changed/added runtime functions for better performance.

  - CBM BASIC compatible file I/O functions by Marc Rintsch.

  - Support for the Commodore 510.

  - Mouse routines completed! Mouse support is available for the following
    systems: Atari, C64, C128, CBM 510 and GEOS.

  - Command line response files are now supported to aid those people
    working with "operating systems" that have a serious command line
    length limit.

  - A new plasma graphics demo written in pure C (by groepaz/hitmen).

  - And lots of other minor changes...


There is still no support for the following features:

  * Floats and bit fields.

  * stdio file routines on most systems. The 8 bit Ataris are the first
    machines that do have full file I/O support. Please note that the
    complete CBM family doesn't have stdio file support!

  * The 80 column mode on the C128 is not supported by the conio library.


Available packages:

As usual I will provide the complete sources and several binary packages,
including RPMs for RedHat Linux. Linux is the primary development platform,
so the sources do compile out of the box on Linux machines.

Please note that there are now separate RPMs for the compiler proper and
the target specific libraries. To develop for one of the predefined target
systems you need the compiler RPM package *and* one of the target machine
packages.

Binaries for DOS and and Windows will follow or may already be available at
the time you read this. OS/2 packages will again be available, but since
there are almost no downloads for OS/2, so the host platform may get
dropped in the near future (again). As with the RPM packages, you need the
package for the development system (Windows, etc.) *and* one of the target
machine packages.


Download:

More information information and a download link, please visit the cc65 web
page at

	http://www.cc65.org/


Thanks to all who sent feedback and suggestions and of course to anyone who
helped developing cc65!


--
Ullrich von Bassewitz                                  uz_at_musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:42 CET