Z80 big family

Page 5/6
1 | 2 | 3 | 4 | | 6

By PingPong

Prophet (3181)

PingPong's picture

08-02-2018, 01:35

TomH wrote:

Or, enlighten us, in your post of 07-02-2018, 21:56 at the top of this page to which my quoted comment directly responds, what argument are you presenting for the Spectrum's approach being "dirty"? What reasoning is present in that message? Why would anybody who read that message be persuaded to agree with the assertion that it's "dirty"?

there are no people to be persuaded, it is already clear to all.
the fact that bus arbitration on speccy is a cheap solution only motivated by the lower costs in terms of electronic components and development time. it is clear but i will explain better even if i think there is no need:

It does cost less to throw a bunch of resistors on a pcb instead of developing (as every professional electronic engineer will do) a proper mechanism of bus arbitration using a dma as it is done in every well designed piece of electronic.
Having DMA involve the need to create the logic to assert the signal, define the timings (because processor can take variable time to ack the dma request) , prototype and test the solution. And even when you have a working solution the cost of components is higher.
To mention a fact the 6510 cpu used on c64 is a variation of 6502 allowing proper DMA because originally the 6502 did not have tristate feature. So commodore had to sustain the additional costs needed to create a modified 6502 to implement proper bus sharing on c64. by contrast, z80 already had tristate support needed for dma, but zx engineers take the dirty way of bunch of resistors. Commodore could have been adopted a similar dirty way instead of create a specific variation of 6502 cpu. they did not. they developed things well.

Every people that has a basic knowledge of electronics already knows this and it does not need to be persuaded.
For people that does not know electronics i can tell that about bus arbitration there is no book about electronics enginering that mention the zx speccy solution as a way to do a bus arbitration. Instead every book do mention the use of a proper DMA. and tristate features.

By JohnHassink

Ambassador (5381)

JohnHassink's picture

08-02-2018, 01:44

syn wrote:

Despite its limitations/shortcomings/grass always greener on the other side, we had the best games best game music, at least on the home computer front Wink consoles were another story Wink

By Timmy

Expert (79)

Timmy's picture

08-02-2018, 02:03

Grauw wrote:

I guess MSX-ers sometimes just hold a little grudge from the many poor Speccy ports we got ;p.

That and maybe an urge to somewhat defend the MSX against a possible reputation of being slower than the Spectrum due to a lot of lazy Speccy ports which were not tuned to our VDP so ended up running more slowly than the original Wink. (See many “which version is best” videos on Youtube where MSX often does not come out on top due to said ports.)

Well, I think that the problem of the poor Spectrum -> MSX1 ports really is two-fold.

First, the VDP really is very slow and restricted and really badly designed and therefore porting Spectrum games is really hard. Yes, the Spectrum video output design is price-focused, but even then, it does show that a dedicated design is still better than a design-by-committee, off-the-shelf product like the TI VDP chip (despite whatever excuse someone said earlier in this thread). It didn't had a tile-mapped, 8x8 blocks scrolling only design with only 4 sprites on one line, which led developers experiment more. But because of these experiments, the poor old MSX1 VDP really cannot compete. If I discuss my own Spectrum games to some MSX people, they basically tell me to port to MSX2, because the requirements are really too high for the MSX1. And this is 201x we're talking about, so even if you gave the 80's programmers all the time they could have, it was almost never going to be possible to make a good port back in the day.

Secondly, even if they could port the games prefectly, some MSX users seems to have much unrealistic expectation for their games! Oh... it's not colourful enough! It's only colours on square blocks! It doesn't use hardware sprites! The gameplay is not unforgiving enough! It scrolls in 2 pixels instead of 8, it should scroll blockier! If the game really uses all these things the game would be faster! The game shouldn't be written in BASIC! It's not in japanese or dutch! It's not a konami game or from some dutch parallax coder! It's not on a cartridge and it doesnt use the music chip, and so on... (sorry if I made up some of them Wink ) And yes, there is this idea that a good designed port will be able to do all of this, and it would be just as fast, but for a lot of games back then a new design would still be too heavy for the poor VDP. For example, Green Beret usually can have 5/6 people on one horizontal line, so whatever design you do, you will still end up with sprite flicker. (I know it's fine for most of you but I get headaches from it, so I can't really make games with 4 sprites on a line.)

But ultimately, it's very painful to feel that your great, brilliantly conceived-by-a-committee MSX machine can't do something a simple seemingly-designed-to-be-cheap Spectrum can do. After a bit tinkering with the VDP, I felt that too. You don't want to know how many times I've reacted on that.

Quote:

Nevertheless, it typically doesn’t really give fruitful discussions. There’ve been a few too many “this vs that” posts lately if you ask me, and they all kind of end in the same back-and-forth arguments that really mostly end up being about personal preference, indeed never arriving at a middle ground. (Funny that this topic was rather the opposite of a “versus” one ;p.)

Actually, I don't think there will ever be a "middle ground" for that one particular person, who basically made all those “this vs that posts”. That's not something we can change.

But perhaps we should at least counter those posts, because that's really not the direction we should be going. And I hope that we can then move on accepting new ideas, like games that don't really depend on background tiling, that actually have great gameplay rather than good looks, rather than staying in dictated ways of 'oh... but that's not using the engine I dictated'. Smile

EDIT: I want to make clear I don't held grudges against japanese or dutch people mentioned in this post.

By TomH

Champion (295)

TomH's picture

08-02-2018, 04:12

PingPong wrote:
TomH wrote:

Or, enlighten us, in your post of 07-02-2018, 21:56 at the top of this page to which my quoted comment directly responds, what argument are you presenting for the Spectrum's approach being "dirty"? What reasoning is present in that message? Why would anybody who read that message be persuaded to agree with the assertion that it's "dirty"?

there are no people to be persuaded, it is already clear to all.

To repeat some quotes from people other than you and I: "About resistors - it's ultra simple: ... The above is magically simple and still stable enough for the mass production. Hence simply genius."; " Yes, the Spectrum video output design is price-focused, but even then, it does show that a dedicated design is still better than a design-by-committee, off-the-shelf product like the TI VDP"; "we are here to exchange our knowledge and experts and find solutions to any problems we face. There is no computer better than the other".

So your claim is baffling to me, being contradictory to the evidence.

Something else I'll say in support of the TMS VDP is: it's a much better choice in PAL countries than in NTSC, where it has that terrible habit of being in-phase and therefore accruing static artefacts. That's the 'poor colour' that the various memos refer to, I believe — and that's why the rest of us have always wondered what's so bad about the colours. Especially versus e.g. the C64's sixteen browns.

By gdx

Prophet (2492)

gdx's picture

08-02-2018, 09:15

Porting Spectrum games to MSX can be hard or even imposible for several games but this is also the case in the other direction. This only proves that each VDP has different functions. Say that the VDP of MSX1 is slow does not make sense. It performs more functions than the Spectrum VDP at the same time (colors, sprites, etc). This is RAM to VRAM transfers that are slow on MSX1, not the VDP. In addition, MSX1s have a design problem that causes issues with OTIR and OUTR. Because of that, certain transfers are slower than they could be. (Colecovision has the same CPU and VDP but does not have this problem.)

The absence of VRAM deprives us of much of the RAM. The shared video memory would be interesting only if it was possible to switch shared VRAM or not shared. This would bring the benefits of both systems.

By Timmy

Expert (79)

Timmy's picture

08-02-2018, 12:19

I completely agree that the VDP isn't really slow; anything that can do 50/60 frames per second is enough for gaming. It's really the throughput from one place to the other. And theoretically, there are some redeeming features of this VDP to compensate for the slow data transfer, and it mostly means you can preload stuff in the VDP memory (16K is a lot of memory) and then one can access those tiles a lot more quickly. And hardware sprites, and tilemap mirroring, and even tilemap switching (maybe).

Perhaps it was better not to port the Spectrum versions of the games to the MSX, but rather the C64 versions, as it had a similar VDP but a bit more powerful. But that would make porting just as hard, I guess.

By TomH

Champion (295)

TomH's picture

08-02-2018, 13:19

The only issue I've read about with OTIR/OTDR is that the extra M1 wait makes them take sufficiently much longer than they do on e.g. a ColecoVision that often data which should fully have been transferred during the vertical blank isn't completed before the VDP moves back into pixels and, therefore, suffers low video memory availability. So some bytes towards the tail end can be dropped. Unrolling speeds you up again.

In that one isolated sense, I guess the VDP is slightly more primitive than the other 1983 micros, as the rest had managed to alleviate the need for programmer care as to functionality. But I don't think it's a big deal: it's not too hard to do correctly, and BASIC is good enough that you don't need to start worrying about it until you're already pretty good at understanding machine architecture. That's a dig at you, Commodore.

By PingPong

Prophet (3181)

PingPong's picture

08-02-2018, 19:45

Timmy wrote:

Well, I think that the problem of the poor Spectrum -> MSX1 ports really is two-fold.

First, the VDP really is very slow and restricted and really badly designed and therefore porting Spectrum games is really hard.

If you try to program msx as zx spectrum you will get frustrated and think the vdp is badly designed. That's the common feel of spectrum programmers that do not understand of to program msx and think that every computer can be programmed like spectrum does.

Quote:

But because of these experiments, the poor old MSX1 VDP really cannot compete.

So, the vdp cannot compete because of experiments and not because features? Curious....

Quote:

If I discuss my own Spectrum games to some MSX people, they basically tell me to port to MSX2, because the requirements are really too high for the MSX1.

Ah, i understood, you tell that the requirements are to high so port to msx2.

Interesting... if the msx1 vdp is slow i can imagine how could be fast the same game on msx2 with the same I/O port design and 24Kb of vram memory to manage vs the 6kb of monochromatic screen 2. And with a VDP blitter that i can hardly define fast for the vram it has to manage.

Just to give you a comparison, if you want to manage 16x16 sw sprites it is likely that you can achieve a higher framerate or n. of moving objects on screen 2 / msx1 that on screen 5 with the vdp blitter.

Take a paper and do the math if you are sceptic about this.

Maybe you can get colorful gfx on msx2 but forget fast animations.
games like outrun (the msx1 port from speccy) cannot be done efficiently on msx2 using screen 5 and sw sprites.
Simply you cannot get fps at all...

By Timmy

Expert (79)

Timmy's picture

08-02-2018, 20:24

PingPong wrote:
Timmy wrote:

Well, I think that the problem of the poor Spectrum -> MSX1 ports really is two-fold.

First, the VDP really is very slow and restricted and really badly designed and therefore porting Spectrum games is really hard.

If you try to program msx as zx spectrum you will get frustrated and think the vdp is badly designed. That's the common feel of spectrum programmers that do not understand of to program msx and think that every computer can be programmed like spectrum does.

Please, if you were trying to make your fake comments to look like facts, I must say it's been very interesting. I think it's very enlightening that you think I would 'try to program msx as zx spectrum' or that I would have 'the common feel of spectrum programmers that do not understand of to program msx'.

Well, it's very funny at the very least, and I think that if you continue to try to think like someone who try to make statements about people and then frame them with things that are untrue, then I must say, you've failed very much into it. Smile

Quote:
Quote:

But because of these experiments, the poor old MSX1 VDP really cannot compete.

So, the vdp cannot compete because of experiments and not because features? Curious....

So you think I wrote that? Curious... Because it's very funny that you can port my sentences into something completely different. Smile

Quote:
Quote:

If I discuss my own Spectrum games to some MSX people, they basically tell me to port to MSX2, because the requirements are really too high for the MSX1.

Ah, i understood, you tell that the requirements are to high so port to msx2.

Interesting... if the msx1 vdp is slow i can imagine how could be fast the same game on msx2 with the same I/O port design and 24Kb of vram memory to manage vs the 6kb of monochromatic screen 2. And with a VDP blitter that i can hardly define fast for the vram it has to manage. [...]

I'm sorry, but your imagination about what I am doing is very different from the reality, and therefore there is really nothing in the previous stuff that is worth commenting on.

By PingPong

Prophet (3181)

PingPong's picture

08-02-2018, 20:52

[quote=Timmy wrote:
PingPong wrote:
Timmy wrote:

Well, I think that the problem of the poor Spectrum -> MSX1 ports really is two-fold.

First, the VDP really is very slow and restricted and really badly designed and therefore porting Spectrum games is really hard.

If you try to program msx as zx spectrum you will get frustrated and think the vdp is badly designed. That's the common feel of spectrum programmers that do not understand of to program msx and think that every computer can be programmed like spectrum does.

Please, if you were trying to make your fake comments to look like facts, I must say it's been very interesting. I think it's very enlightening that you think I would 'try to program msx as zx spectrum' or that I would have 'the common feel of spectrum programmers that do not understand of to program msx'.

It is a common fact that zx spectrum fans (and it is extremely common in UK) when someone argue about msx spectrum ports tell about the slow I/O vram. as is a common that they try to replicate programming tech on spectrum that simply do not work on msx.
I reveal you a little secret: every machine should be programmed taking advantage of hw peculiarities and not by merely doing what one do on another platform.
it is clear (and you can prove by looking at games like nemesis) that even the msx1 when programmed to take advantage of vdp overcome in gfx quality every speccy counterpart. that is a fact. not a fake .

Page 5/6
1 | 2 | 3 | 4 | | 6
My MSX profile