summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-02-23 14:26:46 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-02-23 14:26:46 +0000
commite0f183e5aa8e7c1ca0ad3f9b02dd6dee65952ffd (patch)
treea5ae6def7e7cf6afc9b8e0d940d98cc4995d53a8
parentcd0bc3dcefd312d88a132ecf02900013a6f90a0a (diff)
downloadnuttx-e0f183e5aa8e7c1ca0ad3f9b02dd6dee65952ffd.tar.gz
nuttx-e0f183e5aa8e7c1ca0ad3f9b02dd6dee65952ffd.tar.bz2
nuttx-e0f183e5aa8e7c1ca0ad3f9b02dd6dee65952ffd.zip
Incorporate patch 1899525
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@720 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/arch/z80/src/Makefile1
-rw-r--r--nuttx/arch/z80/src/Makefile.sdcc2
-rw-r--r--nuttx/arch/z80/src/z80/Make.defs2
-rw-r--r--nuttx/arch/z80/src/z80/README.txt49
-rw-r--r--nuttx/configs/xtrs/README.txt29
-rw-r--r--nuttx/configs/xtrs/src/Make.defs37
6 files changed, 117 insertions, 3 deletions
diff --git a/nuttx/arch/z80/src/Makefile b/nuttx/arch/z80/src/Makefile
index 39c569783..6cc1463d0 100644
--- a/nuttx/arch/z80/src/Makefile
+++ b/nuttx/arch/z80/src/Makefile
@@ -38,6 +38,7 @@
-include $(TOPDIR)/Make.defs
-include chip/Make.defs
+-include board/Make.defs
############################################################################
# Compiler-Dependent Make
diff --git a/nuttx/arch/z80/src/Makefile.sdcc b/nuttx/arch/z80/src/Makefile.sdcc
index 895ecc4ba..8865ad4b9 100644
--- a/nuttx/arch/z80/src/Makefile.sdcc
+++ b/nuttx/arch/z80/src/Makefile.sdcc
@@ -71,7 +71,7 @@ DEPSRCS = $(CSRCS)
ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board
-VPATH = chip:common
+VPATH = chip:common:board
# Libraries
diff --git a/nuttx/arch/z80/src/z80/Make.defs b/nuttx/arch/z80/src/z80/Make.defs
index 76b98199a..01564f059 100644
--- a/nuttx/arch/z80/src/z80/Make.defs
+++ b/nuttx/arch/z80/src/z80/Make.defs
@@ -33,11 +33,13 @@
#
############################################################################
+ifeq ($(CONFIG_ARCH_HAVEHEAD),)
ifeq ($(CONFIG_LINKER_ROM_AT_0000),y)
HEAD_ASRC = z80_rom.asm
else
HEAD_ASRC = z80_head.asm
endif
+endif
CMN_ASRCS =
CMN_CSRCS = up_initialize.c up_allocateheap.c up_createstack.c \
diff --git a/nuttx/arch/z80/src/z80/README.txt b/nuttx/arch/z80/src/z80/README.txt
new file mode 100644
index 000000000..81cdf756d
--- /dev/null
+++ b/nuttx/arch/z80/src/z80/README.txt
@@ -0,0 +1,49 @@
+arch/z80/src/z80
+^^^^^^^^^^^^^^^^
+
+The arch/z80 directories contain files to support a variety of 8-bit architectures
+from ZiLOG (and spin-architectures such as the Rabbit2000). The arch/z80/src/z80
+sub-directory contains logic unique to the classic Z80 chip.
+
+Files in this directory include:
+
+z80_head.asm
+ This is the main entry point into the Z80 program. This includes the
+ handler for the RESET, power-up interrupt vector and address zero and all
+ RST interrupts.
+
+z80_rom.asm
+ Some architectures may hae ROM located at address zero. In this case, a
+ special version of the "head" logic must be used. This specail "head"
+ file is probably board-specific and, hence, belongs in the board-specific
+ configs/<board-name>/src directory. This file may, however, be used as
+ a model for such a board-specific file.
+
+ z80_rom.S is enabled by specifying CONFIG_LINKER_ROM_AT_0000 in the
+ configuration file.
+
+ A board specific version in the configs/<board-name>/src directory can be
+ used by:
+
+ 1. Define CONFIG_ARCH_HAVEHEAD
+ 2. Add the board-specific head file, say <filename>.asm, to
+ configs/<board-name>/src
+ 3. Add a file called Make.defs in the configs/<board-name>/src directory
+ containing the line: HEAD_ASRC = <file-name>.asm
+
+Make.defs
+ This is the standard makefile fragment that must be provided in all
+ chip directories. This fragment identifies the chip-specific file to
+ be used in building libarch.
+
+chip.h
+ This is the standard header file that must be provided in all chip
+ directories.
+
+z80_initialstate.c, z80_copystate.c, z80_restoreusercontext.asm, and
+z80_saveusercontext.asm, switch
+ These files implement the Z80 context switching logic
+
+z80_schedulesigaction.c and z80_sigdeliver.c
+ These files implement Z80 signal handling.
+ \ No newline at end of file
diff --git a/nuttx/configs/xtrs/README.txt b/nuttx/configs/xtrs/README.txt
index 72ef1d29b..f40e859fa 100644
--- a/nuttx/configs/xtrs/README.txt
+++ b/nuttx/configs/xtrs/README.txt
@@ -1,12 +1,37 @@
xtrs README
^^^^^^^^^^^^^
-TRS80 Model 3. This port uses a vintage computer based on the Z80.
+Current status
+^^^^^^^^^^^^^^
+
+The xtrs port is not operational yet; some work still needs to be done.
+
+Getting a TRS80 emulator and DOS disks
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This port uses a vintage computer based on the Z80, the TRS80.
+There's a main page describing the different models of TRS80.
+See: http://www.trs-80.com
+
An emulator for this computer is available to run TRS80 programs on a
linux platform (http://www.tim-mann.org/xtrs.html).
+Other emulators are available for other platforms.
+See http://www.trs-80.com, click on the link Emulators.
+
+TRSDOS, LDOS and other softwares are available at:
+http://discover-net.net/~dmkeil/trs80/software/trs-dos.htm
+
+Or you can get TRSDOS 1.3 and 6.1 from this site; it's included with the emulator.
+http://discover-net.net/~dmkeil/trs80/model4.htm
+
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
-testing has been performed using version 2.6.0 of the SDCC toolchain.
+testing has been performed using version 2.7.0 of the SDCC toolchain.
+
+Loading an executable into xtrs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+At http://www.trs-80.com click on the link: Getting a Software Onto an Emulator.
Configuring NuttX
^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/xtrs/src/Make.defs b/nuttx/configs/xtrs/src/Make.defs
new file mode 100644
index 000000000..d077ca645
--- /dev/null
+++ b/nuttx/configs/xtrs/src/Make.defs
@@ -0,0 +1,37 @@
+############################################################################
+# configs/xtrs/src/Make.defs
+#
+# Copyright (C) 2008 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+############################################################################
+
+HEAD_ASRC = xtrs_head.asm
+