Small Device C Compiler (sdcc) ------------------------------ A C compiler for the Intel mcs51 series and soon the Z80. http://sdcc.sourceforge.net/ This file is just a stub. It will get better. Almost all of this is by Sandeep Dutta The Z80 port was started by Michael Hope Some of the Z80 related files are borrowed from the Gameboy Development Kit (GBDK) originally by Pascal Felber. Notes on the z80 port --------------------- The 2.2.1 release finally includes the required libraries and tools to target the z80. 2.2.0a included z80 compiler support but not the assembler, linker, etc. Things are still not perfect. The z80 port is partly wedged in due to the different ports using different base libraries, but most of this is hidden by lcc. It is reccomended that to compile for the z80 you use: lcc -mz80/consolez80 -c -o file.o file.c lcc -mz80/consolez80 -o file.ihx file.o etc. lcc is a wrapper for sdcc, the assembler, linker etc. It has the added advantage that it accepts more of the standard command line options than raw sdcc. The -mz80/consolez80 is very important as it selects the libraries to use and which crt0 module to use. Unfortunatly each target system requires its own startup code (crt0) and definitions for the base of RAM, ROM etc. Those adventurous enough should get a copy of gbdk-lib, build the appropriate crt0.s, and then manually link the object files together with the appropriate base definitions and the appropriate crt0.o. Try lcc -mz80/consolez80 -v -o file.ihx file.c to see the current liker command line. If you succeed, please consider sending Michael Hope a copy of crt0.s and the appropriate base definitions, and he will roll them into the next release of sdcc. If you find a bug and really cant wait, download the latest copy of gbdk and use the copy of sdcc from that. Notes: ------ 000123 mlh: You can set the processor type at run time. Try: sdcc -mz80 blah.c sdcc -mmcs51 blah.c The default is the mcs51. Roadmap: -------- README - This file COPYING - GPL v2 as/ - Assembler, derrived from asxxxx debugger/ device/ - Device libraries and examples doc/ - sdcc and port specific documentation link/ - Linker, also derrived from asxxxx sim/ - Simulator (mcs51 only) src/ - Source to the C compiler and ports support/ - Libraries and apps that may not be provided by your system. Most of the port related files are in a subdirectory below the appropriate module. For example, all compiler z80 related files are in src/z80, all 8051 (mcs51) specific library files are in device/lib/mcs51. Links: ------ * SDCC homepage http://sdcc.sourceforge.net/ * GBDK homepage http://gbdk.sourceforge.net/ * SDCC at Geocities (old) http://www.geocities.com/ResearchTriangle/Forum/1353/ * SDCC mailing list http://lists.sourceforge.net/mailman/listinfo/sdcc-user * Yahoo! Random link http://random.yahoo.com/bin/ryl