Redesign z80 build so that mkhpbase.sh bash script is not needed; remove support for older SDCC toolchains; Re-verify z80 build on Linux
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5416 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
3765d51eba
commit
a7c72cc182
@ -97,6 +97,8 @@ selected with:
|
|||||||
CONFIG_Z80_TOOLCHAIN_SDCCL=y : SDCC for Linux, MAC OSX or Cygwin (see below)
|
CONFIG_Z80_TOOLCHAIN_SDCCL=y : SDCC for Linux, MAC OSX or Cygwin (see below)
|
||||||
CONFIG_Z80_TOOLCHAIN_SDCCW=y : SDCC for Win32
|
CONFIG_Z80_TOOLCHAIN_SDCCW=y : SDCC for Win32
|
||||||
|
|
||||||
|
SDCC versions 3.2.0 or higher are recommended.
|
||||||
|
|
||||||
Building the SDCC toolchain
|
Building the SDCC toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -128,62 +130,3 @@ and install SDCC:
|
|||||||
|
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
SDCC Update
|
|
||||||
^^^^^^^^^^^
|
|
||||||
|
|
||||||
I have had some problems building sdcc-2.6.0 on my current UBUNTU
|
|
||||||
release (9.10). I had other problems building sdcc-2.9.0 on UBUNTU 9.10.
|
|
||||||
I suspect that the newer gcc toolchains are causing problems for these
|
|
||||||
older SDCC releases.
|
|
||||||
|
|
||||||
A 20091106 snapshot did build with no major problems on UBUNTU 9.10, but
|
|
||||||
has some compatibilty problems with the older SDCC compiler. For one, you
|
|
||||||
will need to change the Z80 assember name and options in the Make.defs
|
|
||||||
files as follows:
|
|
||||||
|
|
||||||
-AS = as-z80
|
|
||||||
+AS = sdasz80
|
|
||||||
|
|
||||||
- @$(AS) $(ASFLAGS) $2 $1
|
|
||||||
+ $(AS) $(ASFLAGS) $1
|
|
||||||
|
|
||||||
For another, I had other problems building with that 20091106 that look
|
|
||||||
like compiler bugs. If you are using UBUNTU 9.10, you may have to either
|
|
||||||
(1) downgrade your GCC compiler to a version 3.x compiler and use one of
|
|
||||||
the older stable releases, or (2) wait for the next stable SDCC release
|
|
||||||
after 2.9.0.
|
|
||||||
|
|
||||||
See below: If you wish to continue using the older SDCC toolchain, you
|
|
||||||
must now also add CONFIG_SDCC_OLD=y to your configuration file.
|
|
||||||
|
|
||||||
Newer SDCC Versions
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This is the text of bug 3468951 reported on the SourceForge website:
|
|
||||||
|
|
||||||
"Some obsolete stuff in z80sim port," (submitted by Philipp Klaus Krause):
|
|
||||||
|
|
||||||
The simz80 port needs a few updates to work well with current sdcc versions,
|
|
||||||
and has some unecessary stuff:
|
|
||||||
|
|
||||||
* The linker name for Make.defs should be sdldz80
|
|
||||||
* The assembler name for Make.defs should be sdasz80
|
|
||||||
* _asm and _endasm in z80_io.c and z80_irq.c should be replaced by __asm
|
|
||||||
and __endasm
|
|
||||||
* The --stack-auto --int-long-reent --float-reent options or Make.defs should
|
|
||||||
be removed, as they have no effect on sdcc's z80 port
|
|
||||||
* The current assembler AFAIK can handle long symbol names, so the
|
|
||||||
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
|
|
||||||
section from the README can be removed.
|
|
||||||
|
|
||||||
These changes *have* been incorporated but only partially verified. In order
|
|
||||||
to get a successful compilation, I had to copy stdarg.h out of the SDCC source
|
|
||||||
(at sdcc/device/include/stdarg.h) to include/nuttx/stdarg.h.
|
|
||||||
|
|
||||||
There are also some library related issues when you get to the final build
|
|
||||||
that I have not looked into yet.
|
|
||||||
|
|
||||||
If you want to back out these change and continue to use the older toolchain
|
|
||||||
in your build, simpy define the following in your configuration file:
|
|
||||||
|
|
||||||
CONFIG_SDCC_OLD=y
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- sdcc/as/z80/asm.h 2007-12-30 16:49:53.000000000 -0600
|
|
||||||
+++ sdcc.orig/as/z80/asm.h 2007-12-30 16:49:14.000000000 -0600
|
|
||||||
@@ -65,7 +65,7 @@
|
|
||||||
#define RTTERM ')' /* Right expression delimeter */
|
|
||||||
|
|
||||||
#ifdef SDK
|
|
||||||
-#define NCPS 80 /* characters per symbol */
|
|
||||||
+#define NCPS 32 /* characters per symbol */
|
|
||||||
#else /* SDK */
|
|
||||||
#define NCPS 8 /* Chars. per symbol */
|
|
||||||
#endif /* SDK */
|
|
@ -42,10 +42,7 @@ Configuring NuttX
|
|||||||
reconfiguration process.
|
reconfiguration process.
|
||||||
|
|
||||||
2. The default setup for this configuration uses a windows native build.
|
2. The default setup for this configuration uses a windows native build.
|
||||||
As of this writing, the native Windows build still does not work. This
|
As of this writing, the native Windows build still does not work.
|
||||||
is due to issues in arch/z80/src/Makefile and in the Bash script
|
|
||||||
arch/z80/src/mkhpbase.sh which, of course, cannot be used in a Windows
|
|
||||||
CMD.exe shell. These configuration is broken for the time being.
|
|
||||||
|
|
||||||
This configuration was last verified sucessfully prior to the
|
This configuration was last verified sucessfully prior to the
|
||||||
the configure to Kconfig/mconf tool using SDCC 2.6.0 built to run
|
the configure to Kconfig/mconf tool using SDCC 2.6.0 built to run
|
||||||
@ -104,6 +101,8 @@ selected with:
|
|||||||
CONFIG_Z80_TOOLCHAIN_SDCCL=y : SDCC for Linux, MAC OSX or Cygwin (see below)
|
CONFIG_Z80_TOOLCHAIN_SDCCL=y : SDCC for Linux, MAC OSX or Cygwin (see below)
|
||||||
CONFIG_Z80_TOOLCHAIN_SDCCW=y : SDCC for Win32
|
CONFIG_Z80_TOOLCHAIN_SDCCW=y : SDCC for Win32
|
||||||
|
|
||||||
|
SDCC versions 3.2.0 or higher are recommended.
|
||||||
|
|
||||||
Building the SDCC toolchain
|
Building the SDCC toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -120,12 +119,6 @@ compatible with this build. First start with the usual steps
|
|||||||
cd sdcc
|
cd sdcc
|
||||||
./configure
|
./configure
|
||||||
|
|
||||||
But before making, we need to apply a patch to the SDCC 2.6.0 source
|
|
||||||
so that the z80 assembler can handle long symbol names
|
|
||||||
|
|
||||||
Apply sdcc-2.6.0-asz80-symlen.patch
|
|
||||||
cd sdcc/device/lib
|
|
||||||
|
|
||||||
Then make the SDCC binaries
|
Then make the SDCC binaries
|
||||||
|
|
||||||
cd sdcc
|
cd sdcc
|
||||||
@ -135,62 +128,3 @@ and install SDCC:
|
|||||||
|
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
SDCC Update
|
|
||||||
^^^^^^^^^^^
|
|
||||||
|
|
||||||
I have had some problems building sdcc-2.6.0 on my current UBUNTU
|
|
||||||
release (9.10). I had other problems building sdcc-2.9.0 on UBUNTU 9.10.
|
|
||||||
I suspect that the newer gcc toolchains are causing problems for these
|
|
||||||
older SDCC releases.
|
|
||||||
|
|
||||||
A 20091106 snapshot did build with no major problems on UBUNTU 9.10, but
|
|
||||||
has some compatibilty problems with the older SDCC compiler. For one, you
|
|
||||||
will need to change the Z80 assember name and options in the Make.defs
|
|
||||||
files as follows:
|
|
||||||
|
|
||||||
-AS = as-z80
|
|
||||||
+AS = sdasz80
|
|
||||||
|
|
||||||
- @$(AS) $(ASFLAGS) $2 $1
|
|
||||||
+ $(AS) $(ASFLAGS) $1
|
|
||||||
|
|
||||||
For another, I had other problems building with that 20091106 that look
|
|
||||||
like compiler bugs. If you are using UBUNTU 9.10, you may have to either
|
|
||||||
(1) downgrade your GCC compiler to a version 3.x compiler and use one of
|
|
||||||
the older stable releases, or (2) wait for the next stable SDCC release
|
|
||||||
after 2.9.0.
|
|
||||||
|
|
||||||
See below: If you wish to continue using the older SDCC toolchain, you
|
|
||||||
must now also add CONFIG_SDCC_OLD=y to your configuration file.
|
|
||||||
|
|
||||||
Newer SDCC Versions
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This is the text of bug 3468951 reported on the SourceForge website:
|
|
||||||
|
|
||||||
"Some obsolete stuff in z80sim port," (submitted by Philipp Klaus Krause):
|
|
||||||
|
|
||||||
The simz80 port needs a few updates to work well with current sdcc versions,
|
|
||||||
and has some unecessary stuff:
|
|
||||||
|
|
||||||
* The linker name for Make.defs should be sdldz80
|
|
||||||
* The assembler name for Make.defs should be sdasz80
|
|
||||||
* _asm and _endasm in z80_io.c and z80_irq.c should be replaced by __asm
|
|
||||||
and __endasm
|
|
||||||
* The --stack-auto --int-long-reent --float-reent options or Make.defs should
|
|
||||||
be removed, as they have no effect on sdcc's z80 port
|
|
||||||
* The current assembler AFAIK can handle long symbol names, so the
|
|
||||||
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
|
|
||||||
section from the README can be removed.
|
|
||||||
|
|
||||||
These changes *have* been incorporated but only partially verified. In order
|
|
||||||
to get a successful compilation, I had to copy stdarg.h out of the SDCC source
|
|
||||||
(at sdcc/device/include/stdarg.h) to include/nuttx/stdarg.h.
|
|
||||||
|
|
||||||
There are also some library related issues when you get to the final build
|
|
||||||
that I have not looked into yet.
|
|
||||||
|
|
||||||
If you want to back out these change and continue to use the older toolchain
|
|
||||||
in your build, simpy define the following in your configuration file:
|
|
||||||
|
|
||||||
CONFIG_SDCC_OLD=y
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -58,18 +58,10 @@ endif
|
|||||||
CROSSDEV =
|
CROSSDEV =
|
||||||
CC = sdcc
|
CC = sdcc
|
||||||
CPP = sdcpp
|
CPP = sdcpp
|
||||||
|
LD = sdldz80
|
||||||
ifeq ($(CONFIG_SDCC_OLD),y)
|
AS = sdasz80
|
||||||
LD = link-z80
|
AR = sdar -r
|
||||||
AS = as-z80
|
ARCHCPUFLAGS = -mz80
|
||||||
AR = sdcclib -a
|
|
||||||
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
|
|
||||||
else
|
|
||||||
LD = sdldz80
|
|
||||||
AS = sdasz80
|
|
||||||
AR = sdar -r
|
|
||||||
ARCHCPUFLAGS = -mz80
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||||
ARCHOPTIMIZATION = --debug
|
ARCHOPTIMIZATION = --debug
|
||||||
@ -84,7 +76,7 @@ ARCHINCLUDES = -I. -I$(TOPDIR)$(DELIM)include
|
|||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||||
AFLAGS = -x -a -l -o -s
|
AFLAGS = -x -a -l -o -s -g
|
||||||
|
|
||||||
SDCCLIB = z80.lib
|
SDCCLIB = z80.lib
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- sdcc/as/z80/asm.h 2007-12-30 16:49:53.000000000 -0600
|
|
||||||
+++ sdcc.orig/as/z80/asm.h 2007-12-30 16:49:14.000000000 -0600
|
|
||||||
@@ -65,7 +65,7 @@
|
|
||||||
#define RTTERM ')' /* Right expression delimeter */
|
|
||||||
|
|
||||||
#ifdef SDK
|
|
||||||
-#define NCPS 80 /* characters per symbol */
|
|
||||||
+#define NCPS 32 /* characters per symbol */
|
|
||||||
#else /* SDK */
|
|
||||||
#define NCPS 8 /* Chars. per symbol */
|
|
||||||
#endif /* SDK */
|
|
@ -76,15 +76,6 @@
|
|||||||
|
|
||||||
void z80_lowputc(char ch) __naked
|
void z80_lowputc(char ch) __naked
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SDCC_OLD
|
|
||||||
_asm
|
|
||||||
ld hl, #2
|
|
||||||
add hl, sp
|
|
||||||
ld a, (hl)
|
|
||||||
out (0xbe), a
|
|
||||||
ret
|
|
||||||
_endasm;
|
|
||||||
#else
|
|
||||||
__asm__ (
|
__asm__ (
|
||||||
"\tld hl, #2\n"
|
"\tld hl, #2\n"
|
||||||
"\tadd hl, sp\n"
|
"\tadd hl, sp\n"
|
||||||
@ -92,7 +83,6 @@ void z80_lowputc(char ch) __naked
|
|||||||
"\tout (0xbe), a\n"
|
"\tout (0xbe), a\n"
|
||||||
"\tret\n"
|
"\tret\n"
|
||||||
);
|
);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
@ -104,19 +94,10 @@ void z80_lowputc(char ch) __naked
|
|||||||
|
|
||||||
char z80_lowgetc(void) __naked
|
char z80_lowgetc(void) __naked
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SDCC_OLD
|
|
||||||
_asm
|
|
||||||
in a, (0xbe)
|
|
||||||
ld l, a
|
|
||||||
ld h, #0
|
|
||||||
ret
|
|
||||||
_endasm;
|
|
||||||
#else
|
|
||||||
__asm__ (
|
__asm__ (
|
||||||
"\tin a, (0xbe)\n"
|
"\tin a, (0xbe)\n"
|
||||||
"\tld l, a\n"
|
"\tld l, a\n"
|
||||||
"\tld h, #0\n"
|
"\tld h, #0\n"
|
||||||
"\tret\n"
|
"\tret\n"
|
||||||
);
|
);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user