MSX3 is Controversial?

صفحة 10/14
3 | 4 | 5 | 6 | 7 | 8 | 9 | | 11 | 12 | 13 | 14

بواسطة PingPong

Enlighted (4156)

صورة PingPong

06-01-2023, 11:56

Edevaldo wrote:

gdx wrote:

Quote:

As long as the chip isn't physically designed, it's probably not difficult to remove the v9958 part.
Then, we do not know if this part was present. Maybe Yamaha planned a chip that works with the v9958 in parallel.

I do not think there would be a v9958 "part" as a very separated entity. The modes both chips provide are already very similar and they would have taken advantage of it in the design. It is more likely that hey would implement the different modes as "parameters" applied to a state machine that would be capable of doing both things. And in the end, removing that would make less sense.

Not so similar. take for example screen 0 / 1. It does not fit at all with the clear architecture of V9990. trying to fit would have been difficult without poisoning the V9990 design. Take for example the tricks of the screen divided in three (or four) parts of screen 2 or the completely different sprite engine with its own tricks and faults. Not to mention the different workings of pin out, different vram type, the requirement to match the original speed of v99x8 cmd engine to maintain the compatibility (v99x8 had both logical mode and byte mode, v9990 unified them and work sligthly different ), too much issues to accomodate. Take for example the vram refresh. It is done differently on V99x8 than on TMS. If a relatively simple and trasparent, (i would say issue-free) thing is done differently on the transition of V9938, which i s relatively simpler because it only have to maintain the compatibility with one predecessor, how can you expect Yamaha took into consideration to integrate v99x8 things into a completely different chip like the V9990 with the requirement of compatibility of TMS+V9938+V9958 ?

they should have been crazy!!!

Look at the vram timings on V9938 and TMS and you see they are very different.

V9990 architecture is more different than v99x8 one. It is shallow to see there are no differences because for example both chips provide a bitmapped mode or a tiled one. For example have you noticed the different size of a nametable charater in both systems one is 8 bit wide the other is 16 bit if i'm not wrong. This means that the fetch schema had to change in older modes vs V9990 ones to achieve full compatibility even on vram timings otherwise some tricks do not work anymore on V9990.
And what about the different register number array? they do not longer match the original one.

To be more honest, there are more different than similar things on V9990 vs V99x8. And this happen at any level,
(VRAM timings, type, screen modes , sprite engine). V9990 is a totally different thing.

Quote:

It is very plausible that they would consider a system with both chips also.

probably the most inexpensive and effective solution.

بواسطة gdx

Enlighted (6449)

صورة gdx

06-01-2023, 12:58

There is no point in relying on v9990 to show that v9978 may or may not have existed. MSX1 modes have nothing to do with MSX2/2+ modes except SCREEN 4 which is SCREEN 2 with MSX2 sprites. And yet v9938 and v9958 have been done.

Manufacturers have long been able to put two GPUs into a single chip. It is not a problem to put registers to switch from one to another. So it's even less of a problem to add new, totally different graphics modes, except probablement the price given how VRAM was handled by v9938/58. These VDPs do not manage the 128 kB in a single block. These are two interleaved blocks of 64 kB. This trick was made to have a reasonable speed in modes 7 to 12 without modified the previous screen modes. That's why I suspect these modes had to be added later when they saw that v9938 wouldn't be ready for the MSX1. And I wouldn't have said it if Mr. Nishi hadn't said that was the plan at first.

Quote:

probably the most inexpensive and effective solution.

No, this is the most expensive solution and the least effective.

بواسطة ducasp

Paladin (712)

صورة ducasp

06-01-2023, 12:52

Pokun wrote:

I find it hard to believe that the V9978 wouldn't have backwards-compatibility with V9958 on the same dye, at least not without some good evidence.
That's why I think the V9990 could be hiding a disabled V9958 circuit in the dye. Since the V9990 was made to cover some of Yamaha's losses for developing it, and because removing the V9958 features would just make it more expensive, it might had been cheaper to keep the V9958 in there and just make some smaller changes that renders the V9958 features unusable/inaccessible instead of removing them fully for licensing reasons.

Very unlikely, the size of a 9958 would cost quite a lot to have it idle in a chip at that time, e né if not working.

My take is that performance, as long it is not worse, would be OK to not be the same, so, 9978 would have blocks dedicated to 9958 functionality that would work faster but not visible for most applications that would wait vsync or cpu. This could and would break demos using it to the limit, possibly, but that's not the end of the world.

Those blocks probably were removed and it is possible some parts remained because we're used by both sides. If you can reduce 25% of your chip size, you will do it because it means you are saving one chip every 4,that is expensive.

On the other hand, it is not impossible (but unlikely) it was planned to have a separate 9958, but since we are talking about video, having two separate outputs wouldn't be nice and composing images from two sources + extra vram wouldn't be cheap and is prone to create many challenges to the pcb and design to have a good image quality.

بواسطة PingPong

Enlighted (4156)

صورة PingPong

06-01-2023, 23:16

Quote:

There is no point in relying on v9990 to show that v9978 may or may not have existed. MSX1 modes have nothing to do with MSX2/2+ modes except SCREEN 4 which is SCREEN 2 with MSX2 sprites. And yet v9938 and v9958 have been done.

By contrast, there is a point ! because we want compatibility THOSE MODES have to be there with all the original tricks!
And as i explained they are too much different from the V9990 way of work putting a big issue in its implementation on V9990 without poisoning the v9990 design!
It was probably more easier to implement screen5 - and above modes on V9990 than the older msx1 modes.

Quote:

Manufacturers have long been able to put two GPUs into a single chip. It is not a problem to put registers to switch from one to another. So it's even less of a problem to add new, totally different graphics modes

Can you make an example of "two gpu" on a chip on '90 ? I didn't see anyone.
You talked about "GPU": we are talking not only of two different command engines here but to merge two different Video Display Generation Unit.
The problem of having two different registers is another complication. You need a way to tell the vdp "use the v99x8 register layout" or "v9990" register layout.
What does this ? maybe a mode register?
No! it cannot be because mode registers are located on reg0 and reg1 on v99x8 vdps and 6/7 on v9990.
you will need another way to select which register set to use and this cannot be achieved with mode register because simply it cannot work in this way.

By the way this is another proof of the fact that V9990 was designed without taking in consideration v99x8.
Otherwise, for simplicity, yamaha would have tried to maintain at least the same numbering as it was done when making V9938 with TMS compatibility!
If they even considered the V99x8 compatibility at least the index number of register would have been the same as they did for v9938. There is no point to create a different index number making more complex an already challenging v99x8 compatibility. Yamaha engineers were not masochist! ;-)

Quote:

These are two interleaved blocks of 64 kB. This trick was made to have a reasonable speed in modes 7 to 12 without modified the previous screen modes. That's why I suspect these modes had to be added later when they saw that v9938 wouldn't be ready for the MSX1. And I wouldn't have said it if Mr. Nishi hadn't said that was the plan at first.

This is a well known trick: otherwise they would have had to use faster ram chips which would have been too expensive.
considering nishi's obsession with high resolution and high color count modes i think screen 7 and 8 were already planned from the beginning of V9938 with this trick to make these video modes possible with cheap memory chips

Quote:

No, this is the most expensive solution and the least effective.

No, it is only the most simpler and issue free. The costs of making a full compatibility would have been more heavy that putting two separate chips expecially if we consider that v99x8 was already produced and relatively issue free.

By the way, i highly suspect that the primary reason of delay in V9990 development was exactly the v99x8 compatibility.
It's only speculation but i think things went like this:

1) yamaha never took into consideration any compatibility and proposed nishi a two chips on a board solution
2) Nishi did not wanted this and pushed the all in one way
3) Because of (2) Yamaha delayed the development for obvious reason of complexity and issues.

Until they "timed out". So MSXTurboR was born with only the v99x8 chip which was, at that time ready.

بواسطة PingPong

Enlighted (4156)

صورة PingPong

06-01-2023, 23:35

Quote:

My take is that performance, as long it is not worse, would be OK to not be the same, so, 9978 would have blocks dedicated to 9958 functionality that would work faster but not visible for most applications that would wait vsync or cpu. This could and would break demos using it to the limit, possibly, but that's not the end of the world.

there are not only demos that would have broken. Even game code that work heavily on vdp cmd engine and rely on its speed would have been affected and messed up.

To me the issue of leave or remove the v9958 core is simply a no-issue because the more i think the more i'm got persuaded by the fact that V9978 or V9990 did not share even a single transistor with v9958 or v9938. So there was no need to remove anything. ;-)

بواسطة Pokun

Expert (72)

صورة Pokun

06-01-2023, 23:50

Still, we don't know how much of the V9990 is V9978 and how much of it is redesigned to make a new product. Though they probably would keep the redesign budget strict to keep their loss as low as possible.

I guess a two-chip design would basically mean either only one VDP can be used at a time or the output of the two VDPs would superimpose each other.

The latter is a hacky design as priority would not work very well, but on the other hand if the V9978 was powerful enough the V9958 might not really be needed and could be left unused, used for an extra background layer and/or for some extra sprites.
NEC and Hudson's SuperGrafx worked like this by having two video chips and an extra chip that handles priority of the two chips for different regions of the screen that can be designated.

Besides doesn't the released MSX Turbo R do something like the former (that about enabling one chip at a time) with its CPU? I heard there is both a Z80 and an R800 inside the Turbo R MSX engine because the R800 doesn't have full backwards-compatibility with the Z80. I never had a Turbo R myself.

بواسطة gdx

Enlighted (6449)

صورة gdx

07-01-2023, 01:24

PingPong wrote:

By contrast, there is a point ! because we want compatibility THOSE MODES have to be there with all the original tricks!
And as i explained they are too much different from the V9990 way of work putting a big issue in its implementation on V9990 without poisoning the v9990 design!
It was probably more easier to implement screen5 - and above modes on V9990 than the older msx1 modes.

You would have to accept once and for all that the V9990 was not designed for the MSX. Once you've done that, there is no point.

PingPong wrote:

Can you make an example of "two gpu" on a chip on '90 ?

Just because we can do something doesn't mean we do it. At that time, there were already many chips that integrated different more or less complex chips. For VDPs, it's hard to know what was in the chip. V9938 probably already had two VDPs merged into one. In addition we didn't say GPU at the time.

بواسطة PingPong

Enlighted (4156)

صورة PingPong

07-01-2023, 01:24

Quote:

Still, we don't know how much of the V9990 is V9978 and how much of it is redesigned to make a new product. Though they probably would keep the redesign budget strict to keep their loss as low as possible.

Worse, we do not even know if the v9978 really existed as a v9958+v9990 combo or is simply a pre model number of the V9990. In that case the v9978 never existed at all. Is simply another name given for the same silicon chip we know today as V9990.

Quote:

I guess a two-chip design would basically mean either only one VDP can be used at a time or the output of the two VDPs would superimpose each other.

Umh, maybe they were designed not to work at the same time.
This remember me the C128 having the old vic-II chip and another VDC working not at the same time. They had both different output connectors.... basically they wanted a 80 column mode which the old vic-II chip could not provide.
Would not be easy to add this to the original c64 vdc? no. while they could have done this easily at the chip level, they would have also to double the clock speed of the system. This would had heavy implications in entire computer design because of the need to accomodate two different bus speeds with cpu speed. So they choosed the easier way:
Let the C64 and old chip here as usual. When they needed 80 column mode they switched off the old video chip and enabled the new one providing the 80 column mode. There are situations when it is less expensive and more convenient to have two chips than to redesign an entire system to add a 80 column mode.

Quote:

NEC and Hudson's SuperGrafx worked like this by having two video chips and an extra chip that handles priority of the two chips for different regions of the screen that can be designated.

Can you provide more informations about this? Year of production chip model number etc?

Quote:

Besides doesn't the released MSX Turbo R do something like the former (that about enabling one chip at a time) with its CPU? I heard there is both a Z80 and an R800 inside the Turbo R MSX engine because the R800 doesn't have full backwards-compatibility with the Z80.

reasons of having z80 and r800 were not only the compatibility. It is true, R800 is not 100% compatible with z80 but this is not a major issue at opcode level.
There are also other issues. For example bus timing. R800 works faster and the signal timing is a lot different.
So instead of implementing all weird tricks one can imagine to accomodate things having only one processor which most probably could have lead a lot of issues, tradeoffs and delay in design -> production, they choosed to have both processor inside.
To me it is exactly the same thing happened to v9978 myth.

بواسطة msd

Paragon (1532)

صورة msd

07-01-2023, 08:55

According Nishi yamaha didn’t include v9958 compatibility and said comparability has to be solved In software . Nishi demanded binary compatibility , didn’t get that and than didn’t release the Turbo r with the v9978. I try to find where he said this

بواسطة PingPong

Enlighted (4156)

صورة PingPong

07-01-2023, 09:16

gdx wrote:
PingPong wrote:

By contrast, there is a point ! because we want compatibility THOSE MODES have to be there with all the original tricks!
And as i explained they are too much different from the V9990 way of work putting a big issue in its implementation on V9990 without poisoning the v9990 design!
It was probably more easier to implement screen5 - and above modes on V9990 than the older msx1 modes.

You would have to accept once and for all that the V9990 was not designed for the MSX. Once you've done that, there is no point.

your assertions make no sense here. Here we are not discussing if v9990 was or not designed for msx. We are discussing about the possibility of the v9978 really existed or not as a merge between v9990 and v9958.
The v9990 may or may be not designed for msx but this is another question.

Quote:
PingPong wrote:

Can you make an example of "two gpu" on a chip on '90 ?

Just because we can do something doesn't mean we do it.

you talked in previous post about the possibility to have two chips then i ask you an example of this in the '90.

I've not asked you if one should or not do it,even if it is possible a design approach .

Quote:

For VDPs, it's hard to know what was in the chip. V9938 probably already had two VDPs merged into one. In addition we didn't say GPU at the time.

Not at all. The V9938 is most proably a single chip where yamaha merged the original TMS design with the new one as it is clearly proved by at least those facts:

a) same register layout. the numbering of register is the same. extended functionalities were implemented by respecting the compatibility
b) sprite engine: what in the hell they tweaked the msx1 sprite subsystem in those way if they had the possibility to have a better one. Clearly there are a lot of clues that the sprite mode 2 is nothing more than sprite mode 1 enhanced in a way to mantain the same workings as msx1 while trying to give more functionality (multicolored sprites). If they had two vdp they could have created a totally incompatible and better sprite engine. Instead they used the old one making few changes . The reason is simple THERE IS ONLY 1 SPRITE ENGINE as THERE IS ONLY ONE VDP in v9938.
c) vram access timning: from the timing diagram we clearly see that vram accesses are made up in a way to reconcile the requirements of new bitmap modes with msx1 ones. If they had two vdp, when switching between older and newer modes we should have observed a very different access pattern.

صفحة 10/14
3 | 4 | 5 | 6 | 7 | 8 | 9 | | 11 | 12 | 13 | 14