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:
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 http://sdcc.sourceforge.net.
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
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.
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 [[SDCC and CPC|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.
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
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.