[cc65] Version 2.9.0 is out!

Date view Thread view Subject view

From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2002-12-14 18:37:56


Hi!

I've just moved the archives for version 2.9.0 to the ftp server. The
announcement is appended below. Happy downloading!

Regards


        Uz


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

I'm proud to announce version 2.9.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 VIC20 (contributed by Steve Schmidtke
    <steve_schmidtke_at_hotmail.com>).

  - The Commodore C64 and C128.

  - The Commodore C16, C116, Plus/4.

  - 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>)

There is also rudimentary support for the Oric Atmos (startup file and linker
config, but no library support) contributed by Debrune Jérôme <jede_at_oric.org>.

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


New features in this release are:

  * Assembler:

    - In the .local directive, transfer the local char to the created
      symbols, so ".local @L1" will create cheap local symbols in macros.

    - New commands .PUSHSEG and .POPSEG to save and restore the current
      segment.

  * Compiler:

    - Optimization for memset (call bzero if fill value is zero).

    - Better handling of unknown pragmas, support for _Pragma().

    - Local variables of compound type may now be initialized.

    - Register variables are back again and they work better than ever before!
      The plasma demo has a speed increase of 30% using register variables,
      the fire demo more than 60%. Note that these are special cases (small
      loops with a high loop count), so these numbers may not be typical.

    - More optimizations, especially register variable related ones.

  * Linker:

    - Support for more o65 attributes and "simple" o65 files

    - The linker is able to generate cc65 specific o65 modules.

  * cl65 utility:

    - Output the command line for the subprocesses when -d is given

  * Library:

    - A module loader allows to load o65 extension modules at runtime. These
      fully relocatable modules can be used as drivers, overlays or whatever.

    - Completely new graphics library (currently supported: C64) using
      loadable graphics drivers.

    - RS232 module for the Atari (written by Christian Groessler)

    - New _randomize() function for all platforms

    - Complete set of functions from time.h. All that has to be supplied
      is a machine speficic _systime function.

    - Most CBM file functions are now written in assembly.

    - C file I/O support for the following platforms: C64, C128, C16, C116,
      Plus/4, VIC20, PET. This is probably one of the most requested
      additions!

    - New API to access extended memory with loadable drivers for:
      C64 with GeoRAM cartridge, C64 with REU, C64 using RAM behind kernal
      and I/O area. C128 with GeoRAM cartridge, C128 with REU and C128 using
      the RAM in bank #1.

  * Platforms:

    - Some small improvements for the Apple ][:

      o revers() should now work correctly (do nothing)

      o Binaries have an AppleDOS 3.3 header

    - Support for VLIR files under GEOS

    - Minimal support for the Oric Atmos (just the startup file - contributed
      by Debrune Jérôme)

    - Support for the VIC20 (Steve Schmidtke). The standard linker config is
      made for the standard memory setup (3.5K) which is too small for most
      serious things. You have to use an external memory config when linking
      for a VIC20 with memory extension.

    - The C16/116 and Plus/4 are now separate platforms. The new Plus/4 target
      does banking and supports up to 59K of memory, while the C16/116 works
      without banking (and the overhead) and supports up to 28K. Both are
      still compatible, so C16 programs will run on the Plus/4, and Plus/4
      programs will run on an expanded C16 or 116.

  * Documentation:

    - New function reference (incomplete)

  * Bugfixes and minor improvements as usual.


There is still no support for the following features:

  * Floats and bit fields.

  * stdio file routines on some systems.

  * 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 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 or
more of the target machine packages.


Download:

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

     	http://www.cc65.org/


Mailing list:

There is a mailing list for discussing cc65 related issues (programming,
suggestions, bugs, ...). See

        http://www.cc65.org/#List

for information on how to subscribe to this list.

-----------

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 : 2002-12-14 18:38:13 CET