Compilers

From WikiTI
Revision as of 11:11, 25 April 2015 by Debrouxl (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This article is a stub. You can help WikiTI by expanding it.


z80

  • SDCC is an open source C compiler for microcontrollers. It can output z80 assembly. However, the code is bloated and inefficient.
  • z88dk is a derivative of the Small-C compiler. It is targeted specifically at the z80 line of processors and even has dedicated TI file format outputs. The code is very bloated and can be less efficient than SDCC.
  • The HI-TECH Z80 C Compiler is a very old and unsupported compiler by HI-TECH that produces much better-quality code than the two compilers mentioned above (Although recent SDCC versions are able to generate code comparable to the HI-TECH C compiler). However, HI-TECH has discontinued this compiler and it is very difficult to obtain a copy. Furthermore, it is a commercial, not open-source, compiler, so using it without a license is of questionable legality.

68k

  • TIGCC is the original C compiler for 68k calculators. It is a patched version of the GNU Compiler Collection, and only supports C and 68000 assembly.
  • GCC4TI is a fork of TIGCC, first published in 2009. Work on GCC4TI includes:
    • fixing a number of bugs;
    • performing optimizations in the library;
    • integrating 2002-2005 unprocessed contributions to TIGCC: dozens of "new" functions;
    • improving the build system:
      • portability: in 2009, the GCC4TI build scripts were made to build out of the box on MacOS X, FreeBSD, OpenSolaris;
      • reliability: GCC4TI's build scripts abort the build upon the first error instead of silently leaving users with broken builds;
      • support for cross-compilation of Windows binaries from under Linux;
      • increased automation;
    • adding better ISO C99 compatibility;
    • integrating the TI-68k Developer Utilities (formerly "TIGCC Tools Suite"), originating from TICT, as an integral part of the toolchain.