Mar 032012

Mochilote wrote some tutorials on how to write applications for the Amstrad CPC. In his tutorials he uses different technologies, e.g. he explains how to use the Z88dk C compiler, the SDCC C compiler or the Pasmo Z80 assembler. All tutorials are available in english and in spanish. In the new section of his homepage you currently find the following tutorials:

Dec 082011

A new version of the SDCC C compiler is available. You can use SDCC to develop for the Amstrad CPC, e.g. with using the SDCC Code::Blocks template or the article in the CPCWiki. In the new version, there are a lot of optimisations for the Z80 backend, so be sure to update if you already use the old version. You can download it from


  • include/pic, non-free/include/pic, lib/pic, non-free/lib/pic renamed to */pic14
  • implemented –fomit-frame-pointer for mcs51
  • support for use of sdcc in z88dk (–reserve-regs-iy and –no-optsdcc-in-asm options; smallc calling convention)
  • new register allocator in the z80 and gbz80 ports (optimal when using –opt-code-size and a sufficiently high value for –max-allocs-per-node for the z80 port)
    C99 designated initializers
  • added strxfrm() and strcoll() functions; strerror() is the only string handling function still missing
  • added support for pic18f2xk22/pic18f4xk22 family (requires gputils > 0.14.0 and –enable-new-pics configure flag)
  • added support for enhanced core pic14 devices (requires gputils > 0.14.0 and –enable-new-pics configure flag)
  • setjmp() / longjmp() for the z80 port
  • _Bool / bool for the hc08, pic16 and pic14 ports
  • sdcpp synchronized with GNU cpp 4.6.1
  • z180 port
  • very basic (no integer constants, multiplication, division, shifts or use as return value) support for data types long long, unsigned long long, int_fast64_t, int_least64_t, int64_t, uint_fast64_t, uint_least64_t, uint64_t in the z80, z180, r2k and gbz80 ports
  • r2k port for the Rabbit 2000 and Rabbit 3000
  • Numerous feature requests and bug fixes are included as well.
Dec 192010

The SDCC C cross-compiler is now available in version 3.0.0. It is also possible to produce binaries for the Amstrad CPC with it (see this CPC Wiki article). Here are the features of the final 3.0.0 version:

  • sdcpp synchronized with GNU cpp 4.5.0
  • changed z80 and gb targets object file extension to .rel
  • special sdcc keywords which are not preceded by a double underscore are deprecated in sdcc version 3.0.0 and higher. See section ANSI-Compliance in sdccman
  • xa51 and avr targets are disabled by default in sdcc version 3.0.0 and higher
  • introduced new memory model huge for mcs51 to use bankswitching for all functions
  • removed generation of GameBoy binary image file format, rrgb map file format and no$gmb sym file format from sdld linker. Utility makebin generates GameBoy binary image file format, utility as2gbmap utility converts sdas map file to rrgb map and no$gmb sym file formas.
  • implemented __builtin_offsetof
  • asxxxx / aslink renamed to sdas / sdld and synchronized with ASXXXX V2.0
  • majority of sdcc run time library released under GPL+LE license
  • introduced –use-non-free command line option
  • non free (non GPL compatible) header and library files moved to non-free directory
  • deprecated –no-pack-iram command line option

As always you can download it from the SDCC homepage.

Mar 272010

Right after the release of version 1.0, Norecess released a new bugfix version of his C compiler for the CPC and for PC. You can read more about it in my previous article about PhrozenC.

Here are the changes of the new version:

  • CC (Win32) Fixed crash when included file does not exist
  • Fixed crash when calling CC with a C file entirely created on a CPC
  • Fixed CS RSX-command usage. Now only ROM-based, but 100% safe
  • Updated documentation with compiler internal section

You can download the latest version from Sourceforge.

Mar 242010

Arnaud Storq aka Norecess released the first version of his new C compiler for the Amstrad CPC. The compiler is available in different versions:

  • a PC version for cross-development (command-line)
  • a CPC ROM version (use that, if you can)
  • a 64k CPC version (standalone, which resets after execution)
  • a 128k CPC version (useable with RSX commands)

If you use the compiler on the PC, it will compile a .C file into an ASM file, which you can use e.g. in WinApe to compile it. On the CPC you can compile it with MAXAM.
PhrozenC also comes with a 33 page PDF manual, which covers how to use the compiler for your own programs. Examples are also included and some libraries for file management, graphics, memory mangement, string operations… are also available.
He also wants to improve the compiler, so send him your feedback :-).

You can download PhrozenC from Sourceforge or at the end of this article.

Version: 1.0
293.1 KiB

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.