OUTI

ZXNet echo conference «real.speccy»

From Kirill Frolov To All 7 July 2003

Press RESET immediately, Alexey Voskresensky!

On Mon, 07 Jul 03 06:53:54 +0400, Alexey Voskresensky wrote:
VK>>> sure enough it writes not to the right port, but to the BC-256
AV>> GMX may write to the bc-256 port, but this is -
AV>> G L Y K PLMka firmware!!! Say thank you to S. Zonov for such a
AV>> surprise...
AV> It turned out that it was not a glitch.
AV> As Nemo reported, there are several versions of the z80 processor.

Yep. CMOS and NMOS. They differ in the command OUT (C), 0, but not always.
Z840004PSC is the classic NMOS Z80A at 4 MHz (aka T34VM1) with OUT (C), 0
There were probably also Z840008PSC, but I haven’t seen them.
Z84C0010PEC -- CMOS at 10 MHz with the wrong OUT command (C),FF.
Z84C0006PEC and Z84C0004PEC -- CMOS at 6 and 4 MHz with the correct OUT command (C),0.
As for 8 Mhz CMOS, it is not clear whether they are “correct”, and whether they exist at all,
but there are incorrect NMOS labeled as Z80H manufactured
nobody knows: “phillipines” and that’s it (not currently are being produced).
It also seems that there are TTL versions of the processor that were produced in the past
by foreign companies (sharp, philips) - they must get very hot.

The CMOS version from the NMOS can be distinguished by markings and by behavior
in conditions of increased supply voltage (or increased voltage
at any input): CMOS lights up immediately, even as much smoke is coming out. And NMOS heat up more.

BSpectrum is better to install Z84C0006PEC (at 6Mhz) - they work
normally at 7MHz, but in KAY only 10MHz processors work.

AV> It turned out that in some versions of the processor, reg.B is reduced by
AV> one BEFORE output to the port,
AV> and in other versions of z80 reg.B is reduced by one AFTER output to the port.

Does anyone have a processor where OUTI does not work the same as on the T34VM1
(that is, the classic NMOS Z80A)?

AV> So you can argue as much as you like.

You can argue as much as you like, but in the z80 users manual
there is a correct answer to this question. I doubt that the behavior of a documented command
changes so easily. The OUT(C),0 command does not officially exist, there are other commands in Z180,
Z280, Z380... eZ80. IMHO all the problems are due to poor translation from
English and inaccurate old documentation on the Z80.

AV> P.S. For example, Kai can be tested in the simplest way like this:

AV> di
AV> ld a,0
AV> ld hl,$-1
AV> ld bc,#80fd
AV> ld (hl),#18
AV> outi
AV> ld a,#7f
AV> in a,(#fe)
AV> rra
AV> jr c,$-5
AV> ld a,#10
AV> out (c),a
AV> ei
AV> ret

So, does the 7th screen turn on? This means that on the CMOS version the command works exactly as it is written in the manual.

From Nikolaj Amosov To All 8 July 2003

AV>> z80.

[...skipped...]

KF> In Spectrum it is better to install Z84C0006PEC (at 6Mhz) - they are

This is exactly what I have on GMX.

KF> at 7 MHz work fine, but in KAY only 10 MHz
KF> processors are working.

From Vladimir Karpenko To All 9 July 2003

Hello Kirill

AV>> It turned out that in some versions of the process, reg.B is reduced by
AV>> one BEFORE output to the port,
AV>> and in other versions of z80 reg.B is decreased by one AFTER output to the
AV>> port.

KF> Does anyone have processor, where OUTI does not work the same way as on
KF> T34VM1 (that is, the classic NMOS Z80A)?
I have!

[ZX][Sprinter registered developer][rw1p2][NedoPC]
Bye