Content-Type: multipart/alternative; boundary="------------080209000704010201010903" --------------080209000704010201010903 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Hi Philipp, here is the original Gary's mail with the attachment. Borut -------- Original Message -------- Subject: SDCC compiler upgrade Date: Mon, 23 Nov 2009 18:01:08 -0800 From: Gary Osborn Reply-To: Gary Osborn To: Philipp Krause , Maarten Brock , Jesus Calvino-Fraga , Borut Razem To: Borut Razem Jesus Calvino-Fraga Maarten Brock Philipp Krause I have upgraded the SDCC compiler to provide some support the cs08 chip. The cs08 is an upgrade of the hc08. It is cheaper and faster, so designers will rarely choose the venerable hc08 for new designs. Backward compatibility and ease of qualification testing were major considerations in implementing this version, and it does not utilize much of the cs08 capability. It does open the door to incremental enhancements. I have tested all the code, but I am a Win32 user and am having difficulty with the full system build. It might not be a good idea for me to try to maintain Linux-oriented files anyway. If someone is willing to make some minor changes to the build procedure, the code is otherwise ready for submission. The code is attached, and there are some implementation notes in ../src/hc08/cs08.txt. The source files that I have modified were current as of the 23 Nov 2009 snapshot. The cs08 is implemented as a member of the hc08 family, so there are no new directories. There are only two new files. The peeph.def file in SDCC/src/hc08 is the peephole optimization file. The cs08 requires a different file, which I have named peephcs08.def. The build procedure copies peeph.def to peeph.rul and modifies it. peephcs08.def requires exactly the same treatment, with the new file being named peephcs08.rul. In this version peeph.def and peephcs08.def are identical, but separate files will be needed later for optimum cs08 performance. The hc08 library file is hc08.lib. The cs08 system requires a cs08.lib file in the same directory. The cs08 file is created in the same way as the hc08 file, except that when the library is built with the -mcs08 command line option its name needs to be different. The library source code is the same for both targets. The control variable ALLOW_CS08_EXTENSIONS becomes defined when the library is built with the -mcs08 option, so asm library functions can be hand optimized for either target. hc08 code will run on the cs08, so the extra work is not required. I will submit some upgrades for the library later, but in this version there is no new library source code. I am rewriting the four basic floating point operations in assembly language, and the new versions will be dramatically faster. The existing C language versions will be retained as a fall-back option. G. Osborn gary@s-4.com --------------080209000704010201010903 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 7bit Hi Philipp,

here is the original Gary's mail with the attachment.

Borut

-------- Original Message --------
Subject: SDCC compiler upgrade
Date: Mon, 23 Nov 2009 18:01:08 -0800
From: Gary Osborn <gary@s-4.com>
Reply-To: Gary Osborn <gary@s-4.com>
To: Philipp Krause <pkk@spth.de>, Maarten Brock <sourceforge.brock@dse.nl>, Jesus Calvino-Fraga <jesusc@ece.ubc.ca>, Borut Razem <borut.razem@siol.net>


To:
Borut Razem
Jesus Calvino-Fraga
Maarten Brock
Philipp Krause

I have upgraded the SDCC compiler to provide some support the cs08 chip.
The cs08 is an upgrade of the hc08.  It is cheaper and faster, so
designers will rarely choose the venerable hc08 for new designs.

Backward compatibility and ease of qualification testing were major
considerations in implementing this version, and it does not utilize
much of the cs08 capability.  It does open the door to incremental
enhancements.

I have tested all the code, but I am a Win32 user and am having
difficulty with the full system build.  It might not be a good idea for
me to try to maintain Linux-oriented files anyway.  If someone is
willing to make some minor changes to the build procedure, the code is
otherwise ready for submission.  The code is attached, and there are
some implementation notes in ../src/hc08/cs08.txt.  The source files
that I have modified were current as of the 23 Nov 2009 snapshot.

The cs08 is implemented as a member of the hc08 family, so there are no
new directories.  There are only two new files.

The peeph.def file in SDCC/src/hc08 is the peephole optimization file.
The cs08 requires a different file, which I have named peephcs08.def.
The build procedure copies peeph.def to peeph.rul and modifies it.
peephcs08.def requires exactly the same treatment, with the new file
being named peephcs08.rul.  In this version peeph.def and peephcs08.def
are identical, but separate files will be needed later for optimum cs08
performance.

The hc08 library file is hc08.lib.  The cs08 system requires a cs08.lib
file in the same directory.  The cs08 file is created in the same way as
the hc08 file, except that when the library is built with the -mcs08
command line option its name needs to be different.

The library source code is the same for both targets.  The control
variable ALLOW_CS08_EXTENSIONS becomes defined when the library is built
with the -mcs08 option, so asm library functions can be hand optimized
for either target. hc08 code will run on the cs08, so the extra work is
not required.  I will submit some upgrades for the library later, but in
this version there is no new library source code.  I am rewriting the
four basic floating point operations in assembly language, and the new
versions will be dramatically faster.  The existing C language versions
will be retained as a fall-back option.


G. Osborn
gary@s-4.com


--------------080209000704010201010903--