[cc65] Announcement: cc65 v2.10.0 "christmas edition"

Date view Thread view Subject view

From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2003-12-23 21:50:55


I'm proud to announce cc65 version 2.10.0 ("christmas edition"). cc65 is a
complete cross development package for 65(C)02 systems, including a powerful
macro assembler, a C compiler, linker, librarian and several other tools.

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 and 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 (by Maciej Witkowiak <ytm_at_elysium.pl>)

  - The Nintendo Entertainment System (NES) (contributed by Groepaz,
    <groepaz_at_gmx.net>.

  - The Supervision console (contributed by Peter Trauner,
    <peter.trauner_at_utanet.at>) (startup code and linker config only).

  - The Oric Atmos (this one is BETA!).

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


Changes to the last version:

This is a major release with many new features and (of course) bug fixes. Lots
of things have changed since the last major release. The compiler itself got
only a few user visible changes, but there are many visible additions to the
libraries.  Hardware support has been much improved thanks to the help of many
contributors. Serial drivers are now loadable at runtime, which means that
applications can support a much broader palette of serial devices (and can
even support hardware that wasn't known when the application was built).
Serial support is now available for more machines than before, so the Contiki
team has something to do over christmas:-) Lots of new extended memory and
grahpics drivers are available. To sum it up: Library support for more
platforms and better library support for existing platforms. The assembler has
gotten some nice enhancements: Better 65816 support, improved scoping, and the
addition of structs/unions and other high level constructs. And last but not
least: The documentation has been extended, the function reference is much
more complete, and there are now docs that outline the special features for
each platform.

See the (almost) full list of changes below for more information.


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.

Starting with this version, the docs are also in a separate package, so
if you want docs (recommended), be sure to download the cc65-doc archive.

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, plus optionally the doc package.


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.

I wish you a merry christmas and lots of fun with this new cc65 release!

Regards


	Uz



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

List of changes for 2.10.0:


  * Assembler:

    - New .FORCEIMPORT command.

    - New address size override symbols (z:, ...)

    - New macro package "cpu".

    - New assignment operator :=

    - INCOMPATIBLE CHANGE of the .CPU pseudo variable

    - New pseudo functions .SIZEOF, .HIBYTE, .HIWORD, .LOBYTE, .LOWORD,
      .BANKBYTE

    - Structures, unions and enums: .STRUCT, .UNION, .ENUM and .TAG.

    - New, improved scoping rules.

    - First support for far and near segments/procedures.


  * Compiler:

    - Flexible array struct members.

    - Provisions for handling arguments to main()

    - Rewrite of the type conversion.

    - New keywords (some of them only in non ANSI mode): far, near, __far__,
      __near__

    - Slightly improved code in a few situations.


  * Linker

    - New directory search options.

    - Generation of debug info is now "official" (but the format of the file
      may still change). NOTE: The VICE label file will go in the next
      release, so if you are using it for some other purpose than feeding it
      into VICE, please think about using the debug info file instead.


  * cl65 utility:

    - Small additions to track changes in the tools called.


  * ca65html

    - New --linenumbers and --linelabels options

    - Ability to convert tabs to spaces in the output

    - Colorization

    - Can generate links to the C source files (must be generated by c2html)


  * Library

    - New directory functions for the CBMs contributed by Josef Soucek.

    - Joystick drivers are now loadable modules. The old statically linked
      code has been converted to loadable drivers and is no longer available.

    - Library support for the NES by groepaz <groepaz_at_gmx.net>

    - system() function.

    - isblank() is "official" in C99.

    - Arguments passed to main for several platforms (includes GEOS!)

    - The open function for the CBMs will no longer add a file type, so
      files of any type can be opened without changing _filetype.

    - Joystick driver for the Apple 2 contributed by Stefan Haubenthal.

    - Two joystick drivers for the C64 contributed by groepaz, one of them
      converted to c128 by me.

    - Minimal Supervision support (linker config and startup file) contributed
      by Peter Trauner.

    - Several graphics drivers for the C128 and GEOS written and contributed
      by Maciej Witkowiak.

    - New ramcart extended memory driver for the C128 written by Maciej
      Witkowiak.

    - Two new Apple ][ TGI drivers contributed by Stefan Haubenthal.

    - One new extended memory driver for the Apple ][ contributed by Stefan
      Haubenthal.

    - New serial (RS232) driver architecture. RS232 drivers are now loadable.
      Drivers are available for C64/SwiftLink, C128/SwiftLink and Plus/4
      (builtin ACIA). The latter is not tested because of the lack of an RS232
      interface on my side, but since it is to more than 90% identical to the
      (tested) C64 version, there's a good chance it will work. The old static
      drivers are still available but deprecated. They will get removed in one
      of the next releases.

    - INCOMPATIBLE CHANGE for GEOS applications: Exiting main() now ends the
      program. Before, exit() had to be called explicitly. Please read the
      docs!

    - Full file I/O support and other improvements for the Commodore 610.

    - RAM extended memory driver for the CBM610 does now work.

    - New loadable serial driver for the builtin ACIA of the Commodore 610.

    - More small changes/additions.


  * Documentation

    - Platform specific docs for the Atari, C128, C16, C64, Plus/4 and CBM610.

    - Much extended function reference.

    - Documentation for ca65html (an assembler source to HTML converter)
      added.

    - Lots of other additions.


  * Other

    - New co65 utility that allows to convert an o65 file into an assembler
      module, so it can be linked statically.

    - Changed object file format.

    - Disassembler ready, documentation added.

-- 
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 : 2003-12-23 21:52:01 CET