Laurens Holst wrote:
>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.

I never said that!?!
AFAIK Z180 traps all illegal opcodes with an exception (although I'm not 
100% sure, it's what it says in the Z380 manual)
And since IXH/IXL aren't documented on Z180, I don't think they can be used 
normally at all. So I guess that's why they need special handling.

> >   Are they?
>
>Patriek said they were.

And they are, according to the Z380 manual you qouted yourself!

> >   They are!!! (((-; He has Mult also... and Div, something Z80 is
> > very slooooooooooooooooow to do.

Where'd he get the idea Z180 has DIV??? :/ It only has 8x8=16bit MLT!
(but you know that ;))

> >   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.

me neither... Although it's probably infinitely easier to program than 
using I/O, I don't see how it can provide the huge speed-up that's being 
suggested. Besides greater speed for 3D and video, that are totally 
unimportant to most games.

As far as I understand it, it is only benificial for pixel plotting and 
linear VRAM operations. And it's more complicated in SCREEN7-12 because of 
the interleaved VRAM! When I/O-ing the VDP takes care of the interleaving, 
but with ADVRAM you probably end up doing it yourself.

It's exactly the multi-processing of VDP and Z80 that makes MSX so fast for 
games. Let's take for example an HMMC routine, one of the most used 
instructions for transferring RAM to VRAM, like I used in GEM.
It needs several calculations each character (8x8) line, so an OTIR is out 
of the question.
So in stead of storing bytes (8 pixels screen 5) 4 in registers and then 
OUT'ing them, with ADVRAM I could write them to VRAM immediately during 
calculation. That would be benificial if it were not so that I would need 
an EXTRA 16 bit register to keep the VRAM destination address, AND I would 
have to do incrementation and the 8x8-wrapping myself!

>But anyways, the Z380 also has a mode to use the 32-bit mode but still use
>the 64k adress range. That one could be emulated. And I think at first most
>Z380-specific programs will be made for that mode.

It's not so much a mode, than it is the normal Z80 mode but using the 
extended Z380 instructions. A DDIR LW before a LD BC,nn will make it a LD 
BCz,nn and a DDIR LW,IW will make it a LD BCz,nnnn. (Where I used BCz to 
indicate a 32bit register)

---

Regarding the extended Z380 instruction set, I want to make a few things clear.
The 32-bit instructions are almost non-existent. Most are only 16-bit 
instructions with a prefix.
The biggest addition to the instruction set are the 16bit instructions:
LD r16,r16
EX r16,r16
EX r16,r16'
LD r16,(r16)
OR/ADD/RLC/etc r16
LD r16,(index)
ADD/SUB HL,(n16)

For 8bit and others:
EX r8,r8
EX r8,r8'

For 32bit:
MULTU/MULT/DIVU r16

8,16,24 bit relative JR/DJNZ/CALR
8,16,24 bit IX/IY/SP indexing

And lot's of others. So only a VERY small portion of the instruction set is 
used for the extra registers (a few LDCTL instructions).
And the more than quadrupled increased register set is only a VERY small 
part of the Z380's power.

                 Patriek


****
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