> >- The Ademir ACE002 board can execute old programs fast, however there is
no
> >new instruction set.
>
>  Z180 has new instructions.

Only very few, which are not that useful.


> >The Z380 is fully compatible with the Z180. Therefor, all Z80 as well as
all
> >Z180 programs can be executed on it. The Z180 is fully compatible with
the
> >Z80, except for the undocumented instructions, which have to be remapped.
So
> >all Z80 programs can be run on an Z180+remap.
>
>  Z380 is not, AFAIK, 100% compatible with Z180.

The documented instructions are.
The undocumented ones (ld ixh,a etc.) are not. But those will be remapped.
At least, that is afaik. In both cases.
So let's check it out on the ZiLOG site...

If this is not true, please consider not to use the extended Z180
instructions at all.

Ah... I quote directly from the Z380 manual (copy/paste): "The Z380 CPU, an
enhanced version of the Z80 CPU, retains the Z80 CPU instruction set to
maintain complete binary-code compatiblity with present Z80 and Z180 codes."
That matter is solved.

The Z180 has the following new opcodes over the Z80:
IN0 r,(n)  ---  16-bit I/O instr.
MLT ss  ---  8-bits multiplication (ss=DE=D*E). Not compatible with turboR.
OTDM  ---  A quite useless variant to OTD.
OTDMR  --- A quite useless variant to OTDR.
OTIM  ---  A quite useless variant to OUTI.
OTIMR  --- A quite useless variant to OTIR.
OUT0 (n),r  ---  16-bit I/O instr.
SLP  --- quote: "Enter Sleep or System Stop mode" (useless)
TST A,s  ---  Test accumulator (A and s). Replaces the Z80 HIGHLY illegal
'SLL' instruction (on the R800 it is the same, afaik).
TSTIO n  ---  Test I/O port (C) with n, or something like that (C/ and n).

Not that much, eh??? The R800 set is even better!!! (it features a 16-bit
multiplication!). No trace of a divide-instruction either...

Well, those instructions can be used, since they are the same on the Z380.
However, preferrably not, because they aren't THAT useful, and it will cause
the software not to work on a 'normal' Z80.

I see nothing about IXh and IXl but they'll probably be there, undocumented,
just like on the Z80. However, according to Patriek they are on a different
location, and that explains the nessacary remapping. On the Z380 they are on
the same location as on the Z80. By the way, on the Z380 IXh is renamed to
IXu... Stupid.

The Z380 has really too much new opcodes to name here now...

IN F,(C) is not available in either of the processors.

The Z180 as well as the Z380 can 'trap' undefined opcodes...
This could be very useful. The R800 multiplication instructions can't be
remapped, because there are no 'compatible' ones in the Z180/Z380. However,
when installing some kind of TSR you can 'trap' those instructions and
emulate them (I don't think this should be 'hardwired', that is implemented
by hardware, but rather as a small COM-file to be loaded from Dos, or as a
patch. In consideration with future expansions). The opcode of IN F,(C) is
not used in either of them processors. That instruction can be 'emulated' on
both. The MULUW and MULUB opcodes ARE used on the Z380, but not on the Z180,
so those can also be trapped on the Z180.

However, I don't think a lot of programs use them. Illusion City, for
example, is turboR only. However, the only R800-'specific' instructions used
are limited to the instructions using IXh, IXl, IYh and IYl. Which will also
work on a Z80. And on the Z180. And on the Z380.

You should really read the Z380 specs... they're AWESOME!!!

Conclusion:
- Z380 is Z180 compatible
- Z180 barely has new opcodes, and only one or two of them are really useful
- Some unsupported R800 instructions can be emulated through 'trapping'.


> >So when the Z380 runs at its full potential, it is almost as fast as the
> >Z180 when executing old code. Maybe it's even closer to the Z180, it
kinda
> >depends on the instructions used.
>
>   On full potential, on complex 32 bit instructions (non-existent on
Z180), Z380
> may be faster (a lot faster) than Z180.

Z380 is already almost as fast as the Z180 at 18MHz (more than 10x compared
to 12x).

Taking the new instruction set in account I would prefer to have a Z380
board.
But mind you: there could also be two boards! One with Z180 (like ACE002),
and one with Z380. Then the people have the choice, the ACE002 is faster,
but will not run programs with 'enhanced' Z380 instructions (it is a fast
current-generation board). The Z380-board is a bit slower, but can also run
the new specialized programs (it is the a-bit-slower next-generation board)


> >Let's define more specificly: ACE002 is Ademir's current project. This
> >project features an entirely new mainboard, and a fast CPU, namely the
Z180,
> >with the unsupported IXh/IXl registers remapped to their Z80 equivalents.
> >However, no other new features.
>
>   ADVRAM will be integrated on the board. It's a new feature that everyone
that
> uses ACE002 will have.

Well, it can't hurt to have it there.
But I hope nobody will use it, because it will cause incompatibility for
MSX2 users. And yes, I know it can also be built-in MSX2 computers. But who
will do that...


> >I think it is wise if Ademir and Padial would join efforts. Ademir is
> >recreating the chips in PDL's (am I right?), he has the stuff for the
> >mainboard. Padial has very good ideas about extending the MSX.
>
>   Maybe we can do the following: Ademir creates ACE002. And we plug
Padial's
> Z380 board on a 33Mhz slot of ACE002. (((-:

It would require two boards, and then there are as well the Z180 as the
Z380, while the Z380 could very well be stand-alone.


> >- 32 bits slots, which also support old cartridges (LPE's).
>
>  32 bit cartridges slots...? For 4Gb access...?

Not all 4 GB are used ofcourse (it's only the upper limit).


> >Ademir's ACE002 is a nice in-between form, but not a new standard. As he
> >himself (through others) repeatedly said by the way.
>
>   Create a new standard is something complicated.

Hmmm... what are we doing right now?


> >Now, the 'enhanced' mode... I define 'enhanced' mode as the mode of both
> >processors in which they have extra instructions available and a larger
> >memory area. The instructions of the Z180 are the same as the ones of the
> >Z380.
>
>   Are they?

Patriek said they were.


> > Therefor, there is nothing wrong with supporting the Z180's extra
> >instructions (which are, by the way, not that much).
>
>   They are!!! (((-; He has Mult also... and Div, something Z80 is
> very slooooooooooooooooow to do. The instructions Z380 performs
> plus Z180 are high mathematics, almost never used. The better
> part of Z380 over Z180 are the large amount of extra registers...
> But also, I don't know if this can or cannot affect old programs
> execution on the Enhanced mode (Z380).

According to Patriek there are only very few extra instructions... Some
multiplication and dividing (when do you use them? never). The Z380 has
instructions like exchange every register (not only DE and HL), multiple
register sets, 32-bit relative calls (very useful for relocatable stuff),
etcetera etcetera etcetera.


> > However, the adress
> >range the Z180 has is -afaik- not really compatible with the Z380's... So
I
> >suggest you ignore my previous comments and don't add the extended adress
> >range to the ACE002's features. 64k will do fine for MSX 2.7.
>
>   (-; I think 64Kb is good in a first step, to avoid bigger problems. BUt
> this may be changed.

Agree.


> >ADVRAM is a nice idea, but as I said before:
> >"I am not enthousiastic about ADVRAM. It's a nice feature, but that's
all.
> >It isn't backwards compatible, and it won't matter that much in speed
>
>   Who said you it's not bakcward compatible? It is... it just doesn't add
> speed to legacy apps. But legacy apps may work with new apps, that uses
> ADVRAM.

I mean, will apps using ADVRAM work on MSX2 computers (unmodified)??? I
think not.


> >So please Ademir, re-consider.
>
>   I think you have not got the ADVRAM idea. I think it's better than
increasing
> main processor speed. ((((-;

I am indeed not enthousiastic about it.


> >About a slowdown to let the processor run at something around 3.5 MHz (1
MHz
> >@ Z380???)...
>
>   No, you run it at the full speed, but turn on several Waits.

Ah... clever indeed...
So that's the way to let older programs still run at it...


~Grauw


--
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<
 email me: [EMAIL PROTECTED] or ICQ: 10196372
      visit my homepage at http://grauw.blehq.org/
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<





****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet
****

Reply via email to