Holger Veit wrote:
Roy J. Tellason schrieb:
On Thursday 20 April 2006 12:03 am, Chuck Guzis
wrote:
On 4/19/2006 at 11:34 PM Roy J. Tellason wrote:
> But a Z80 *won't* run 808[05] code.
>
Well, a Z80 will run 8085 code that limits itself to 8080
instructions.
But the 8085 has two documented instructions (RIM SIM) that the 8080
doesn't have--
Yeah, I remember those two...
Undocumented instrs are not the whole story, particularly not for 8085
vs z80 issues, and especially not for RIM and SIM. I have had hard times
finding any 8085 system at all that required and used them; the typical
If you are looking for a "desktop/hobbyist" application, that's probably
true. But, SID and SOD were cheap one bit ports that were exploited
in embedded products. Given how few *products* were developed in this
era, I find THEM more interesting than "general purpose/hobbyist"
computers (since some of the architectures really came up with
imaginative uses for the hardware available in processors in that
timeframe (e.g., using DMA controllers as counter timers, etc.)
application seems to be a bit-banger RS-232 interface
- usually any 808x
system that has a serial interface will employ a 8251 or alike for that.
Maybe some embedded two-chip system (8085+8355) will take advantage of
it, but this is probably only interesting for forensic analyses, not
really a hobbyist/conservation issue.
No, a really nasty difference comes from the different use of the parity
bit in the 8080 vs the same PSW bit in a Z80. Although I thought this
would also just be used for calculating/checking the parity bit for
bit-banger serial, it often appears in rather obscure scenarios where
one wouldn't expect it. At least, in a disassembly one often finds
incidents by searching for the JPE/JPO instructions.
and a few more "undocumented"
instructions (nonetheless used by many
embedded programs) that neither the 8080 nor the Z80 has.
I remember some real early magazine articles, and have since found a
bit of stuff online, that talked about undocumented opcodes for the
z80, but I've not run across that info for anything else. And it
seems to depend a lot on what brand of chip, etc. so I've never been
really tempted to use them
I know of a least one software (which I had
disassembled myself for
curiosity long ago) that actually uses undocumented Z80 instructions,
namely the ones that allow access to the higher and lower haves of the
index registers: this is the 12K-Zapple-Basic by TDL. Concerning these
instructions, they seem to work on most common Z80s, including Z80A, B,
and H variants, tried those myself. I haven't verified, due to lack of
HW, where they also work on the 64180, the z180 or z280.
The 64180/Z180 (I believe zilog actually licensed the Z180 from
hitachi -- they were bus playing with Z280 and Z380 and appear
to have skipped the Z180 market) adds even more variety to the
mix. (the IN0/OUT0, TST, etc. instructions)