I'm proud to announce version 2.3 of CC65, a C crosscompiler / crossassembler combo for 6502 systems. CC65 has C and runtime library support for most CBM machines, and - thanks to the great work of Kevin Ruland - for the Apple ][. 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 and a frontend (compile & link) utility. The assembler generates relocatable object files, the linker is very configurable and allows overlays, ROMable code, splitted 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 ][ 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 (RedHat 6.1 and 5.x RPM) - DOS - Windows 95/98/NT What is new in this version: * Several bugs fixed. * Several new bugs introduced. * Faster and shorter code. * Support for the Apple ][. Support for some features is still missing. To name a few: * No floats. * No file routines. Actually, most stdio routines are there, but the low level file I/O is missing, so you get linker errors if you try to use them with files. * The 80 column mode on the C128 is not supported by the conio library. * ACE is no longer supported. The old code is still there, but I had not the time to keep it current. 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. Help: Any help is appreciated! There are still areas, where the package is incomplete, expecially when it comes to the libraries. If you think about investing some time, here's a todo list: * File routines for the CBM systems are still missing. The C library uses a layered approach, so there are only 4 routines needed to get most of the higher level stuff up and running. All that is needed are C compatible open/close/read/write functions. * Support for the 80 column mode on the C128. * Support for ACE or other systems (VIC20, PET, even an Atari version shouldn't be too difficult). * A graphics library. The Plus/4 has a 320*200 mode that is very compatible the C64 and C128. With some clever programming it should be possible to write something that translates for all three platforms without changes. Available packages: As usual I will provide the complete sources and several binary packages binaries. There's a binary RPM for RedHat which is probably the fastest way to get going if you're running RedHat Linux. Since this 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