Quote:
This is from an old part of the conversation, but I really can't let it slide. The Saturn has multiple weaknesses that stem from atrocious design decisions. The SNES, on the other hand, has only one true weakness - the inexcusably slow CPU.
For me the SNES has some other important flaws in the PPU design: splitted OAM, constrained sprites (size, tiles capacity), VBlank only accesses for VRAM... compared to predating systems as the Megadrive or the PCE it really hurts to meet that kind of design in 1990, even more when the CPU is definitely not strong (to not say weak).
Quote:
Let's start with the Saturn's two main Hitachi SH-2 CPUs, clocked at 28.6 MHz. Not dual-core, it's two separate chips, and they couldn't both access the memory bus at the same time.
Of course it is not dual core, back in time dual core were not existing (except for very specific purpose).
Quote:
As individual chips that were not intended for multiprocessor systems, they had no bus snooping or cache-coherency. Without cache coherency, changes made to memory on one CPU are not guaranteed to be visible on the other CPU until the software running on the writing CPU flushes its relevant cache line and the software running on the reading CPU invalidates its relevant cache line. That's a weakness that practical dual-CPU systems don't have, including systems that predate the Saturn.
Back in time again dual CPU systems were quite rare, i would say that even cache in CPU was a recent addition, specially if you consider video game system.
Of course they couldn't use real SMP design that only very costly servers owned back in time. But in fact the SH-2 was designed with SMP approach in mind, it has many features to make SMP architecture easier, for instance it allow you (directly from the memory map) to read/write through the cache or directly from/to memory, exactly to take care about the cache coherency issue between CPU.
Quote:
Compared to the Playstation's single MIPS R3000A at 33.9 MHz, the Saturn's CPUs are individually both slower and more obscure. MIPS is and was a popular and well-understood CPU architecture, in the same way that the 6502, Z80, and 68000 were popular architectures when designed into the NES, Game Boy, and Megadrive, respectively. The SuperH architecture used in the Hitachi SH-2 really only saw use in microcontrollers and some mobile phones, aside from the Saturn and Dreamcast.
Did you already tried to develop with the Super-H CPU ? It's a very straight forward RISC based CPU very similar to ARM / MIPS architecture. It used a smart 16 bit length instruction set to allow better code density and better performance on 16 bit BUS systems. ARM actually copied it for its Thumb instruction set.
The CPU by itself is very powerful and i would say probably better than the R3000A on a same clock basis.
It includes a powerful MAC (Multiply and Accumulate) instruction allowing fast 3D computation without requiring a special DSP for these operations, it also integrate many features as a DMA controller, watch dog timer, dedicated communication canals to communicate with a second CPU (it was used to communicate between CPU without hogging the main data bus). Also i really liked the fact you could split the cache so you use one part as a very fast scratch pad RAM. All these features made the CPU very efficient. Honestly i think that a single SH-2 at 33 Mhz would have been a better choice...
Quote:
Being hard to program for is not "complexity", it's a weakness. If you can't turn theoretical performance into real performance, it might as well not be there.
I do agree with that, a complex system is generally not a good system as you won't be able to exploit all the performance but what i meant is that the Saturn system by itself is very powerful for what it was initially designed (a super 2D system) and has not any specific performance weakness.
Quote:
Now, let's talk about the Saturn's two Video Display Processors (VDPs). The VDP1 is really just an nVidia NV1 chip. You might have warm, fuzzy feelings about nVidia nowadays, but the NV1 was frankly bizarre. It couldn't do translucent polygons. It used quadrilaterals instead of triangles to build 3-D scenes, contrary to pretty much every 3-D accelerator before or since. The Playstation, on the other hand, only needed 1 chip to be competitive. (Of course, both Saturn and Playstation pale in comparison graphically to the N64, but that system came out almost two years later, so that comparison is unfair.)
I do know all that, but in fact the VDP1 was a reasonable choice if you think the system was preliminary designed to be a "super 2D" system (Gigadrive) with a bit of 3D features but definitely not a real 3D system as the PSX. Drawing quad (sprite) with many hardware capabilities (deformation, rotation, lightning...) was a real strong feature to make great looking 2D games. The problem is that we always compare it the the PSX which was designed to do 3D (and the PSX was really good for that), the Saturn can hardly compete in this domain as it was not intented to do that initially. They boosted the VDP1 (fill rate, lightning feature..) so you could use quad (sprite) as polygon for 3D games, changed the main CPU for 2 SH2 and they added the SCU DSP to improve the 3D computation capabilities but well, that was a quick and dirty addition. The problem is the PSX bring the 3D and Sega tried to follow with its Saturn instead of concentrating on the system strengths: doing nice 2D games. I would said the best was mix of 2D/3D games as Clockwork Knight, i think Sega should have stick on that kind of game...
And the Saturn can actually do translucent polygon, as Sik explained they just rarely use it as the way quads are rendered lead to some duplicated rendered pixels (and so transparency is applied twice in some part), also "mesh transparency" was a hardware feature and it was faster so almost developers used it.
Quote:
Finally, let's talk about FMV. FMV was much better on the Playstation, which had a dedicated video decoder chip. You'd think that Sega would have learned from the Sega CD debacle, but FMV had to be decoded in software on the Saturn, unless the add-on Video CD Card was installed. And how many gamers bought that?
Honestly i really don't care about FMV, it's nice the PSX integrated a video decoder chip (not surprising from Sony) but why spent more bucks in that when you already have 2 SH2 CPU which are more than enough to unpack movies. The difference is that video quality was almost always the same on the PSX (and it was great) as the hardware decoder fixed the codec where on Saturn it was really dependant from the software codec used. Still the best FMV on Saturn (thinking about Panzer Dragon Saga for instance) are imo almost on par with the best FMV you had on PSX.
Quote:
So yeah, the Saturn deserved to lose to the Playstation.
Again for me the goal wasn't to compare Saturn versus PSX. The PSX is stronger in 3D, there is no debate... but the Saturn was not preliminary designed for that. I think Sega should have stay with their initial plan instead of trying to change at last minute the architecture and having something so convoluted and expensive in the end. That was a big mistake for sure...
Quote:
The VDP1 predates the NV1. It is similar in design and features, and that's why a lot of Saturn PC game ports used it.
The similarity is interesting, but I know of no documentation that clearly indicates nVidia designed the VDP1, let alone that it's actually just the NV1's GPU in disguise.
In fact it looks like the NV1 (STG-2000) was based on the Saturn VDP (and not the contrary). Don't know exactly how this happened... really difficult to find good information about it.
Quote:
Surprised you didn't mention the fact the Saturn had to do all 3D calculations in software in your rant - I presume this is the reason why there's a second SH2 on the system, especially since their devkit seemed to default to using it to do all the sorting and 3D math. The PS1 had dedicated hardware to do all the 3D math instead (albeit separate from the GPU which still only saw 2D triangles).
In fact the Saturn also has a dedicated hardware to compute 3D math (the SCU DSP) but a very few game actually uses it. Probably because it was not easy to use it (lack of documentation) and also because the SH2 are already quite capable to process 3D math (thanks to the MAC instruction).