I'm proud to announce version 2.5 of CC65, a C crosscompiler / crossassembler combo for 6502 systems. CC65 has C and runtime library support for many of the old 6502 machines. The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work. Here is a list of the compiler features: * Includes a C compiler, macro assembler, archiver, linker, GEOS resource compiler and a frontend (compile & link) utility. The assembler generates relocatable object files, the linker is very configurable and allows overlays, ROMable code, split output and much more. * The compiler is not quite ISO compatible, however, a large subset is supported. * Supported target systems are: - C64 - C128 - C16, C116, Plus/4 - CBM 600/700 family (programs run in bank 1) - Newer PET machines (not 2001) - The Apple ][ (thanks to Kevin Ruland ) - The Atari 8 bit machines - GEOS for the C64 and C128 For all these systems a precompiled runtime and C library is available. Supporting more targets is not very difficult since the C library was written with portability in mind. * Several system specific support routines like a conio library or modules for joystick access are available. * The assembler and linker do also support the 65816 as a target, however, the compiler is not able to generate code for this CPU and there is no RTL support. * Lots of docs and a few sample programs included. * Easy interfacing between C code and assembler. * Fullscreen debugger for most machines as a linkable module. * Full sourcecode available as well as binaries for - Linux (several RedHat RPMs) - DOS - Windows 95/98/NT What is new in this version: * As usual many bugs fixed (and new ones introduced, so it does not get boring:-). * New -j switch to make the default character signed. New #pragma to do the same. * Slightly better code in some situations. * A lot of new features for the assembler: - Unnamed labels - Several emulation features - Listing support - New builtin functions - Include file search path support * The linker generates an imports list in the map file. * Completely rewritten symbol table handling for the compiler. * Lots of code cleanups. One result of this is that the -T option does now work without clobbering the output in some cases as it was before. * Much more code is now shared between the tools. * Experimental 65C02 support for the compiler. * Support for the Atari 8 bit machines was contributed by the Atari team: Christian Groessler Mark Keates Freddy Offenga David Lloyd * It is now possible to write GEOS programs for the C64 and C128 using cc65, thanks to the GEOSLib library contributed by Maciej Witkowiak (YTM/Elysium) * Documentation updates. * More minor changes. Support for some features is still missing. To name a few: * No floats, no bit fields. * No file routines on most systems. The 8 bit Ataris are the first machines that do have full file I/O support (besides the ACE port which was dropped some time ago). Please note that the complete CBM family doesn't have file I/O support! * The 80 column mode on the C128 is not supported by the conio library. More information: For your convenience, I've put all doc files also on the web server: http://www.von-bassewitz.de/uz/cc65/doc/ The cc65 main page http://www.von-bassewitz.de/uz/cc65/ will get updated to reflect the new version in the next few days. There is also a cc65 mailing list. To subscribe, send a mail to majordomo@musoftware.de with the command subscribe cc65 in the body of the mail. Available packages: As usual I will provide the complete sources and several binary packages. There are some binary RPMs for different versions of RedHat Linux, which is probably one of the fastest ways to get going. Since Linux is also my development platform, new features and bug fixes are first available for Linux. Binaries for DOS and and Windows will follow or may already be available at the time you read this. While the sources do still compile under OS/2, I have dropped support for OS/2 binaries, since were almost no downloads of the OS/2 version. Download: For more information and links to the FTP server, see http://www.von-bassewitz.de/uz/cc65/ For direct download, use ftp://ftp.musoftware.de/pub/uz/cc65/ Thanks to all who sent feedback and suggestions! -- Ullrich von Bassewitz uz@musoftware.de