I'm not really familiar with the DS5000, but ISTR that it simply does what I
do in external hardware, i.e. map the lower RAM into code space and the upper
RAM in to data space. Because it's still the RAM, it's still writeable. I
know they have some security related operations they do to protect the memory
form external view, but as I've said before, it's not rocket science. It
involves a hardware trick because they can't simply make it inherent in the
processor, because they then sacrifice the compatibility with other 805x
types.
The 89C420 is quite different from most of the 805x types, first in that a
single-cycle instruction takes only one system clock cycle ( which can be 1x,
2x, or 4x the oscillator frequency up to a maximum of 50 MHz) and there modes
it can operate in that greatly accelerate external memory accesses, again, up
to the 50 MHz limit.
I find this part quite irresistable, first because of its speed, but, more
importantly, because of the high quality of the no-cost tools supporting it at
least generically. This particular part has two data pointers, like several
of the Dallas 805x extensions, and it has two serial ports, one of which is
capable of supporting a multi-drop network interface. It has control bits
that emable it automatically to increment/decrement one or both of the data
pointers as part of an indirect read or write, and it has those interesting
external memory interface modes, plus built-in cycle stretching logic, for
increasing speed and compatibility with slower devices than the fast bus would
otherwise support. Additionally, it has 16KB of on-board FLASH memory, though
that's limited to 33 MHz system clock when if you use it, and it has an extra
1K of SRAM on board that can be used either in code space or in data space.
Frankly, the feature set is staggering. As all of the 805x family members, it
has separate code and data space, each 64KB in size, but because you can
twiddle the internal ROM size parameters, you can actually have an 80KB code
memory space, witht the 16KB of on-board FLASH memory enabled or disabled,
selectively, or mapped where it can be used, say, as moveable tables.
It's amazing! It's so flexible, I'm looking for a filesystem to use with it
so it can be its own independent development tool, at least for in-the-field
patching.
Dick
----- Original Message -----
From: "Douglas Quebbeman" <dhquebbeman(a)theestopinalgroup.com>
To: <classiccmp(a)classiccmp.org>
Sent: Monday, March 25, 2002 8:34 AM
Subject: RE: Source code for 805x line-by-line assembler?
> 805x processors cannot (without external
hardware) write to program
memory,
so any
> line assembler would be dependant on some (common) hardware tricks to
write
to
program space.
Although I keep some Intel parts around, I prefer the Dallas
Semiconductor DS5000 familiy, which allows software to partition
its 64k memory between code space and data space.
However, I'll grant that this qualifies under your definition of
"hardware tricks", even though it's not quite what you had in mind.
Regards,
-dq