gbdk/sdcc
2015-01-10 16:25:09 +01:00
..
as Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
bin Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
CVS Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
debugger Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
device Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
doc Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
link Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
sim Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
src Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
support Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
.version Imported gbdk-2.94. 2015-01-10 16:25:08 +01:00
Bcc.inc Imported gbdk-2.92. 2015-01-10 16:25:07 +01:00
clean.mk Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
conf.mk Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
configure Imported gbdk-2.95. 2015-01-10 16:25:08 +01:00
configure.in Imported gbdk-2.95. 2015-01-10 16:25:08 +01:00
COPYING Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
install-sh Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
main_in.mk Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
Makefile Imported gbdk-2.95-2. 2015-01-10 16:25:09 +01:00
Makefile.bcc Imported gbdk-2.93. 2015-01-10 16:25:07 +01:00
Makefile.common.in Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
Makefile.org Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
README Imported gbdk-2.95. 2015-01-10 16:25:08 +01:00
sdccbuild.sh Imported gbdk-2.91. 2015-01-10 16:25:06 +01:00
sdccconf_in.h Imported gbdk-2.93. 2015-01-10 16:25:07 +01:00

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 <sandeep.dutta@usa.net>
The Z80 port was started by Michael Hope <michaelh@earthling.net>

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