Okay.
This is the way I see it now (and Patriek partially too):
I send a CC to Leonardo Padial and Ademir Carchano too...
- The current Padial board can only execute programs especially written for
it, because it has no direct I/O access. Therefor it executes old programs
on the Z80, low speed.
- The Ademir ACE002 board can execute old programs fast, however there is no
new instruction set.
It is all about compatibility.
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.
Ademir stated he did not want to create a new standard. That is probably why
he used the Z180, because it is faster when executing the old instructions
(according to Patriek, the Z180 is 50% faster). His (Patriek's) scheme:
Z80 @ 3.57Mhz, 4 T-states/opcode = 1x speed
Z180 @ 33 Mhz, 3 T-states/opcode = ~9.2x and ~1.3x = ~12x speed
Z380 @ 14 Mhz, 2 T-states/opcode = 4x and 2x = 8x speed
I think I can add:
Z380 @ 18 Mhz, 2 T-states/opcode = 4x and 2x = 10x speed
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.
I see it this way:
ACE002 = MSX 2.7
ACE003 / LPE Z380 = MSX 3
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.
With LPE Z380 I mean the so-called "main board" variant of Padial's design
which has direct access with the I/O ports, so that older programs can also
be run at high speed too. This is very important I think, because it's a
shame if only new programs can benefit from all the speed the Z380 can
offer, just because the design is not allowing it.
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.
I think the LPE Z380 in its current form is not really 'nice'. With that I
am referring to the I/O handling. Programs have to be especially written to
use the SRAM as I/O buffer. This is a solution, but not a nice one, imho.
Use the I/O ports for the I/O. If this is to be considered a new standard
(which I think, it should), it should let the Z380 replace the Z80, having
direct access to all I/O. It is not wise to not consider it a new standard,
because IF there will be another new standard, it will not be one compatible
with the LPE Z380.
Thus, this is what I think the new 'standard' -MSX 3- should look like. It's
a bit a mix between ACE002 and LPE's Z380:
- Z380 processor (like LPE's, but with direct I/O access)
- 32 bits slots, which also support old cartridges (LPE's).
- New, compact mainboard (Ademir's).
- Standard legacy mode, switchable to 'enhanced' mode (with extended adress
range). Bit like the turboR.
- Full support for older programs, that means direct I/O access with an
engine (preferrably with a 1- or multi-byte buffer) to slowdown accesses too
fast. Ademir is working on such an engine for the ACE002.
- A new BIOS, basically the old one (to get it finished a bit earlier), but
in FlashROM so it can afterwards be updated with 32-bits code (for example
the MathPack could really use a 32-bits clean-up). That would be really
nice. And everyone can contribute (and multiple startup logo's can be
created :) or you can skip it... whatever you want!). Ofcourse there should
be a central website (and mailinglist?) to co-ordinate that. But that's no
big deal...
Ademir's ACE002 is a nice in-between form, but not a new standard. As he
himself (through others) repeatedly said by the way.
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. Therefor, there is nothing wrong with supporting the Z180's extra
instructions (which are, by the way, not that much). 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.
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
increase I think (I hardly use direct VRAM access). If you want faster Gfx,
just use a Gfx9000. ADVRAM is again something else which has to be added,
and it is only useful for moving large blocks, like when loading from disk
(directly into VRAM), or when executing some sort of equivalent to the
Gfx9000's BMMM. It's nice, but when loading the speed doesn't really matter.
In all other cases, using the VDP is much better, since it can execute
commands independantly from the processor, which can do other stuff. Also,
VDP copy commands can have various dimensions. To do that using direct VRAM
access is difficult and requires complex routines. I doubt it will be a lot
faster. And don't forget, it requires processor power, while using the
VDP-commands doesn't."
So please Ademir, re-consider.
I think the Z380 really should run at 18 MHz. It matters quite alot, and it
would be a shame to waste the speed. Maybe use 60ns SIMMs instead of 70ns
ones??? Or use 100MHz RAM??? Or make the speed variable, so the people can
set it to 18 MHz when they've got 60ns SIMMS and to 14MHz if they want to
pay less and use 70ns SIMMS???
About a slowdown to let the processor run at something around 3.5 MHz (1 MHz
@ Z380???)... It is a nice idea, good for compatibility, but I don't know if
it is really nessacary. It does require extra logic too. Let's think about
it.
Well, that was it for now. I probably forgot stuff, but what the heck...
It'll come later.
I hope you, Ademir Carchano and Leonardo Padial can agree to work together
on this project... The way I described above is the best for all I think,
both parties (the ones who want to speedup old programs and the ones who
want to do entirely new, 32-bit stuff) will be satisfied that way.
I hope you all got the point and will reply to this matter. We don't want to
get stuck with multiple types of MSX-extensions, all incompatible (like
Intel having MMX and AMD havind 3DNow! and Cyrix having... well... neither
of them). Z380 is compatible with as well as Z80 and Z180, so let's benefit
from that.
~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
****