vbcc logo

vbcc is a highly optimizing portable and retargetable ISO C compiler. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).

This is the support site for Amiga (AmigaOS, MorphOS) and Atari (TOS, MiNT, Jaguar).

Release
vbcc main
Downloading instructions
Current vbcc binary archives
Current vbcc target archives
vbcc 0.9h release
vbcc 0.9g release
vbcc 0.9f release
vbcc 0.9e release
vbcc 0.9d release
vbcc 0.9b release
vbcc 0.9a release
vbcc 0.9 release
vbcc 0.8j release
vbcc 0.8i release
vbcc 0.8h release
vbcc 0.8g release
Old vbcc releases (0.8-0.8f)

Docs
vbcc docs (pdf)

Links
vbcc home page
vasm
vlink
14-Aug-2017: vbcc 0.9f patch 1.

This is a full release of all binary and target archives.

It includes the following fixes:
  • Fixed the ppc-amigaos target installer.
  • m68k: Fixed problem with stack alignment when using VLAs.
  • m68k: Fixed saving/restoring registers after a struct push to the stack.
  • strcat() was missing in the vclib of all 68k backends.
  • jaguar.inc was missing in m68k-jaguar/include.
  • Updated ColdFire assembler inlines.
  • Fixed directory layout in Atari TOS binary and target archives.
vbcc_bin_amigaos68k.lha AmigaOS 2.x/3.x 68020+ binaries.
vbcc_bin_amigaosppc.lha AmigaOS 4.x binaries.
vbcc_bin_morphos.lha MorphOS binaries.
vbcc_bin_powerup.lha Additional PowerUp binaries. For use under AmigaOS/68k.
vbcc_bin_warpos.lha Additional WarpOS binaries. For use under AmigaOS/68k.
vbcc_bin_mint.tar.gz Atari MiNT binaries.
vbcc_bin_tos.zip Atari TOS binaries (68000).
Install-VBCC.exe Windows binaries (XP and up) and all 68k targets, provided by Robert Leffmann.
vbcc_bin_macos.zip MacOSX binaries (x86) only, provided by Robert Leffmann.
vbcc_target_m68k-amigaos.lha Compiler target AmigaOS 2.x/3.x M680x0.
vbcc_target_m68k-kick13.lha Compiler target Amiga Kickstart 1.2/1.3 M680x0.
vbcc_target_m68k-atari.lha Compiler target Atari TOS/MiNT M680x0.
vbcc_target_m68k-atari.tar.gz Compiler target Atari TOS/MiNT M680x0 (for Unix/MiNT hosts).
vbcc_target_m68k-atari.zip Compiler target Atari TOS/MiNT M680x0 (for TOS hosts).
vbcc_target_cf-atari.lha Compiler target Atari TOS/MiNT ColdFire.
vbcc_target_cf-atari.tar.gz Compiler target Atari TOS/MiNT ColdFire (for Unix/MiNT hosts).
vbcc_target_cf-atari.zip Compiler target Atari TOS/MiNT ColdFire (for TOS hosts).
vbcc_target_m68k-jaguar.lha Compiler target Atari Jaguar M68k.
vbcc_target_m68k-jaguar.tar.gz Compiler target Atari Jaguar M68k (for Unix/MiNT hosts).
vbcc_target_ppc-amigaos.lha Compiler target AmigaOS 4.x PowerPC.
vbcc_target_ppc-morphos.lha Compiler target MorphOS PowerPC.
vbcc_target_ppc-powerup.lha Compiler target PowerUp PowerPC.
vbcc_target_ppc-warpos.lha Compiler target WarpOS PowerPC.
vbcc_unix_config.tar.gz Default config files for all targets with Unix installation paths.
vbcc0_9fP1.tar.gz The vbcc 0.9f patch 1 source.


18-May-2017: vbcc 0.9f release.

We are happy to announce that iComp GmbH (www.icomp.de) has decided to sponsor the 68k-AmigaOS version of vbcc. This does not only help us to continue supporting and improving this port but it also allows us to relax the terms of use for the Amiga-68k community. Everyone may now freely use vbcc to develop 68k-AmigaOS code for commercial as well as non-commercial usage (for details please refer to the license in the documentation).

We thank iComp GmbH for the confidence in vbcc and hope that this step will help in the creation of new software for the Amiga-68k.

Changes since last release:
  • Changed licenses concerning commercial usage for AmigaOS/68k.
  • Power-of-two optimizations.
  • Warn when truncating constants.
  • Warn on hexadecimal escape sequence overflow.
  • Fixed some shortcut-optimzations that were calculating an expression in the target type even if that was larger due to casts.
  • Fixed -deps dependency generation for including local header files.
  • New option -no-cpp-warn to turn off all preprocessor warnings.
  • Fixed gcc-compatibility of #pragma pack() and documented it.
  • Fixed bug with CSE trying on non-scalars.
  • New config files for residentable programs and minimal startup codes (e.g. aos68kr and aos68km).
  • m68k: Struct copy was using byte-copy also for aligned data.
  • m68k: Some addressing mode fixes with Dn.W displacement.
  • m68k: Constants in -sd mode are put into the code section by default and into the small data section when -const-in-data is specified.
  • vclib/atari: Fixed problem with receiving a trash-character on stdin.
  • vclib/amiga: Include missing cia protos and inlines.
  • vclib/amiga: New startup code and linker support for residentable programs.
  • vclib/amiga: More C99 math functions.
  • vclib: New target m68k-kick13 (Kickstart 1.x with 1.x OS headers).
  • vclib: New target m68k-jaguar (Atari Jaguar).

In such a complex project there will of course be bugs. Most, especially the serious, bug fixes will be available immediately as a patch. The rest comes with the next release, or by request from the author (see below).
Downloading vbcc 0.9f.

You need to pick the appropriate binary archive for your host platform. Then you can add as many target archives as you need.

Example: If you own a Pegasos running MorphOS and would like to develop programs for MorphOS and AmigaOS/68k, you have to pick the vbcc_bin_morphos archive for the binaries as well as the target archives vbcc_target_ppc-morphos and vbcc_target_m68k-amigaos. Install the binary archive first, using the provided Amiga installer, then add the targets.

The PowerUp and WarpOS binary archives are additional, which means that you need to have a base binary archive already installed. Typically this would be the vbcc_bin_amigaos68k archive.

All target archives are lha-packed, including an Installer script to work under AmigaOS/MorphOS. Target archives in tar.gz format are for Unix/MiNT, without Installer and config files. Target archives in zip format are recommended for Atari TOS systems, which use a different layout due to file system restrictions.

Other host platforms. vbcc is portable enough to run on all operating systems which offer a working ISO-C99 compiler, e.g. BSD, Linux, MacOS and Windows. The latest release source for vasm is available here and for vlink here. A recent vbcc source snapshot is available here, but it is only rarely updated (check the date).

This release's vbcc compiler source is available below.
vbcc_bin_amigaos68k.lha AmigaOS 2.x/3.x 68020+ binaries.
vbcc_bin_amigaosppc.lha AmigaOS 4.x binaries.
vbcc_bin_morphos.lha MorphOS binaries.
vbcc_bin_powerup.lha Additional PowerUp binaries. For use under AmigaOS/68k.
vbcc_bin_warpos.lha Additional WarpOS binaries. For use under AmigaOS/68k.
vbcc_bin_mint.tar.gz Atari MiNT binaries.
vbcc_bin_tos.zip Atari TOS binaries (68000).
Install-VBCC.exe Windows binaries (XP and up) and all 68k targets, provided by Robert Leffmann.
vbcc_target_m68k-amigaos.lha Compiler target AmigaOS 2.x/3.x M680x0.
vbcc_target_m68k-kick13.lha Compiler target Amiga Kickstart 1.2/1.3 M680x0.
vbcc_target_m68k-atari.lha Compiler target Atari TOS/MiNT M680x0.
vbcc_target_m68k-atari.tar.gz Compiler target Atari TOS/MiNT M680x0 (for Unix/MiNT hosts).
vbcc_target_m68k-atari.zip Compiler target Atari TOS/MiNT M680x0 (for TOS hosts).
vbcc_target_cf-atari.lha Compiler target Atari TOS/MiNT ColdFire.
vbcc_target_cf-atari.tar.gz Compiler target Atari TOS/MiNT ColdFire (for Unix/MiNT hosts).
vbcc_target_cf-atari.zip Compiler target Atari TOS/MiNT ColdFire (for TOS hosts).
vbcc_target_m68k-jaguar.lha Compiler target Atari Jaguar M68k.
vbcc_target_m68k-jaguar.tar.gz Compiler target Atari Jaguar M68k (for Unix/MiNT hosts).
vbcc_target_ppc-amigaos.lha Compiler target AmigaOS 4.x PowerPC.
vbcc_target_ppc-morphos.lha Compiler target MorphOS PowerPC.
vbcc_target_ppc-powerup.lha Compiler target PowerUp PowerPC.
vbcc_target_ppc-warpos.lha Compiler target WarpOS PowerPC.
vbcc_unix_config.tar.gz Default config files for all targets with Unix installation paths.
vbcc0_9f.tar.gz The vbcc 0.9f release source.

Installation procedure for AmigaOS/MorphOS: Just click the Install icon. Or refer to chapter 1.3.3 of the documentation for a manual installation.

Installation procedure for MiNT: Refer to the Unix installation instructions in chapter 1.3.1 of the vbcc manual. You may want to download the Unix default config files from above.

Please support vbcc by contacting the authors if you find any bugs or problems. Supporting nine different architectures makes testing extremely time consuming, so this release is probably not free of bugs.

For problems with the compiler core contact Dr. Volker Barthelmann (vbemail), and for Amiga/Atari-specific problems, including assembler, linker, startup-codes and linker-libraries, contact Frank Wille (fwemail).

$Id: index.php,v 1.26 2023/09/30 11:59:02 frank Exp $