> Of course, there is the temptation to use Z80 programs on Z180 or Z280, but in my opinion, that's wrong.
> You are practically constraining a more powerful processor to execute only a subset of its possible set of instructions.
> What a waste of resources...
There are two different conflicting things i think here
1. The desire to get absolute best performance out of a given device.
Sometimes (as with games programming on the Commodore 64) there's
really not much choice. Often if you can localize it a specific device
it's also not so bad (eg the Nascom Fuzix floppy driver has to use in
f,(c) to make the high density disk timings) because it's isolated
from anything that affects other systems.
2. The need to maintain multiple versions of software and to be able
to cope with all your customers being very angry people when their old
stuff breaks on the new system.
In the real world #2 has caused people huge amounts of pain, from all
the Apple II people burned by ignoring Apple warnings about illegal
instructions, through the TRS80 people buirned by XLR8R cards (not so
many most TRS80 code was well behaved), the Macintosh people burned by
ignoring "don't put other crap in the top of the address registers as
it's not safe for the future", the Amiga and ST people who ignored all
the warnings about future products and 68010+ processors and so on.
> About the issue of porting CP/M apps to Z180/Z280, I completely agree with you. You must use ONLY Z80 'official' instructions.
Most CP/M programs are pure 8080, or 8080 with LDIR. Whilst there is
very little retro 8080/8085 there was a fairly large 8080 base in the
past, significantly extended by the fact most older CP/M emulations
and hardware emulations like V.20 8080 support were 8080 not Z80 or
8085.
> But, if you read carefully the title of this thread, it says 'Undocumented Z80 instructions'. Z80. For Z80. Nothing more.
"Undocumented Z80 instructions". As a first language speaker '"For Z80
nothing more" isn't implied by the title so I thought it was important
that people consider the consequences of the decision. There are times
it is great - you kind of know that nobody will release a new Amstrad
CPC 64 or Apple IIc at this point, and if you are writing stuff solely
for your own board you get to make the rules.
Alan