[HN Gopher] Playstation 2 Architecture
       ___________________________________________________________________
        
       Playstation 2 Architecture
        
       Author : Claude_Shannon
       Score  : 181 points
       Date   : 2022-09-26 15:05 UTC (7 hours ago)
        
 (HTM) web link (www.copetti.org)
 (TXT) w3m dump (www.copetti.org)
        
       | gumby wrote:
       | A correction: the "emotion engine" referred to (at least before
       | launch -- perhaps they changed it) the GPU itself, which was the
       | only Sony-designed silicon in the original PS/2. The TMPR and
       | other silicon were designed and supplied by Toshiba.
       | 
       | Also notable: Original Playstation (AKA PS/1) compatibility was
       | provided by simply putting a whole PS/1 on the board -- I think
       | it might even have been by then a single chip; if so likely Sony
       | designed.
       | 
       | That was an insane project by an amazing team. I see a comment by
       | me is top of the previous discussion, if you want some more
       | snippets.
        
         | smoldesu wrote:
         | For me, this is what I'll always associate with the Emotion
         | Engine: https://youtu.be/SpRCSU0lXZ0
         | 
         | There used to be a great video on YouTube of the E3 crowd
         | reacting to the first Metal Gear Solid 2 footage, but I can't
         | seem to find it. Rest assured though, it was Melee '01-levels
         | of disbelief in the audience.
        
           | AdmiralAsshat wrote:
           | My association with the Emotion Engine will always be Soul
           | Reaver 2 over MGS2:
           | 
           | https://www.youtube.com/watch?v=t7SQ2Wu6PvI
           | 
           | I remember magazines at the time (Next-Generation, maybe?)
           | talking at length about the Emotion Engine and how it would
           | allow, among other things, for more detailed facial
           | expressions.
           | 
           | I almost wonder if Sony specifically instructed Crystal
           | Dynamics to try to use it in SR2 as much as possible for
           | promotional materials, because the degree of lip movement and
           | detail of facial movement on that game is way more expressive
           | than almost anything else on the platform, despite being an
           | early title.
        
           | frou_dh wrote:
           | Is this that video?
           | https://www.youtube.com/watch?v=Mr6RngfAeMY
           | 
           | I remember obsessing over how great the MGS2 graphics were
           | back in the day. Particularly the detail in the indoor
           | scenes.
        
             | smoldesu wrote:
             | I found that too, but I remember seeing some uncut footage
             | from the back of the crowd a few years ago... oh well.
             | 
             | But yes, MGS2 was a real wake-up call for Western studios
             | that didn't focus on strong direction and writing. Even
             | though the finished product was notoriously panned at
             | release, you can tell that Kojima's influence was being
             | felt across the industry. Wish I wasn't playing stupid-ass
             | Splinter Cell back then...
        
         | wk_end wrote:
         | I don't think your correction is accurate. If you look at a PS2
         | mobo, the chip labeled the Emotion Engine is the CPU. The
         | "Graphics Synthesizer" is a separate chip. You can see this on
         | the Wikipedia article on the Emotion Engine [0], which also
         | identifies it as a CPU. It cites an article [1] from early 1999
         | - around a year before the Japanese launch - which maintains
         | the same naming scheme.
         | 
         | It's possible that at some point in development Sony was
         | calling the GPU the Emotion Engine, and then renamed it to the
         | GS but liked the Emotion Engine name so much that they started
         | calling the CPU the EE, but that seems a little unlikely...and
         | either way, the article is accurate in terms of how things
         | ended up in production.
         | 
         | [0] https://en.wikipedia.org/wiki/Emotion_Engine
         | 
         | [1]
         | https://docencia.ac.upc.edu/ETSETB/SEGPAR/microprocessors/em...
        
           | tenebrisalietum wrote:
           | PS2 was unique.
           | 
           | EE was the CPU, but it had two programmable vector units as
           | MIPS coprocessors or something like that.
           | 
           | VU0 could talk to VU1, and VU1 could talk to the GS directly.
           | I think their job was generating "display lists" for the GS
           | to follow and draw per frame.
           | 
           | GS might be more accurately called a rasterizer/TMU.
           | 
           | https://www.copetti.org/writings/consoles/playstation-2/
        
         | MisterTea wrote:
         | > Also notable: Original Playstation (AKA PS/1) compatibility
         | was provided by simply putting a whole PS/1 on the board
         | 
         | The IO co-processor of the PS2 was built using the PS1's
         | architecture so it could double as a PS1. Rather clever and
         | efficient design, two generations of consoles in one, using the
         | weaker previous generation console as a co-processor instead of
         | a bolted on afterthought.
        
           | fredoralive wrote:
           | The Sega Mega Drive did something similar, normally the Z80
           | is just a support CPU used to run sound (although the 68000
           | could also talk to the sound chips, so some games run sound
           | off the main CPU to varying degrees). But with the Master
           | System converter, it's the main CPU for backwards
           | compatibility. The converter itself is largely passive to
           | adjust for the cartridge connection differences and adding
           | the pause button, all the backwards compatibility is handled
           | by the main system.
           | 
           | On the PS2 side, apparently later systems replace the
           | original IO chip with a PowerPC based chip running a MIPS
           | emulator, which is kinda wild in itself.
        
             | nebula8804 wrote:
             | If the Power Base Converter is largely plastic why do they
             | seem so expensive on the used market? I would imagine tons
             | of clones would be available by now.
             | 
             | There seems to be one IC on the PCB in addition to the
             | passives. Maybe this is some hard to clone chip?
             | 
             | [1]:https://retrostuff.org/2016/05/07/power-base-fm/
        
           | HideousKojima wrote:
           | Makes me wonder, could the GB/GBC hardware in the GBA be used
           | by GBA games?
        
             | Cu3PO42 wrote:
             | As another comment already states: for the most part, no.
             | 
             | However, the GBA CPU (an ARM7) in a DS is used as the IO-
             | processor for DS games, while an ARM9 is the main chip. On
             | the 3DS the ARM9 is the co-processor, while a new ARM11 is
             | the main application processor. Since the 3DS can also run
             | DS games it still has an ARM7 as well and can natively run
             | GBA games, even if that functionality was barely used by
             | Nintendo.
        
             | wk_end wrote:
             | It couldn't (besides the audio channels, which were
             | shared).
        
         | CountSessine wrote:
         | The Emotion Engine was very much the CPU+VPU of the PS2, not
         | the GPU. The GPU was referred to as the GS or Graphics
         | Synthesizer.
         | 
         | I still had all the tech manuals for the PS2 lying around on my
         | bookshelf until a couple of years ago. Can't hold on to old
         | stuff forever!
        
         | amiga-workbench wrote:
         | Yep, the playstation 2's I/O processor was just a playstation 1
         | CPU, I believe the emotion engine still handled the graphics
         | though.
        
         | fredoralive wrote:
         | The GPU was called the Graphics Synthesizer, the chips even
         | have specific EE and GS logos on them (see
         | https://commons.wikimedia.org/wiki/File:PS2_GH-001_Motherboa...
         | for example).
        
         | Bancakes wrote:
         | Early PS3's also featured PS2 hardware, hence also PS1 chips.
        
           | maximilianburke wrote:
           | The early PS3s had the emotion engine but no IOP (PS1
           | processor); the IOP and sound processing unit were emulated.
        
         | chongli wrote:
         | Minor correction: PS/2 refers to the IBM Personal System/2, the
         | originator of the popular port for connecting keyboards and
         | mice prior to the arrival of USB. The Sony PlayStation 2 is
         | usually just referred to as the PS2, without the /.
        
           | YurgenJurgensen wrote:
           | For extra confusion, "PS/2 Keyboards" and "PS2 Keyboards"
           | were both products which were manufactured contemporaneously.
           | The latter were USB.
        
             | xattt wrote:
             | Don't forget the PSX, which was originally used by the
             | emulation scene to refer to the first Playstation. Then
             | came Sony with an actual PSX which was a reworked PS2 with
             | DVR capabilities that looked like a hi-fi component.
        
               | moosedev wrote:
               | And the PS/1, which was a line of IBM PCs for the home
               | (contemporary with the PS/2, and predecessor to the
               | Aptiva range).
               | 
               | Or the PSOne, which was a cost-reduced late model
               | PlayStation (1) :-)
        
       | samlittlewood wrote:
       | VUniverse: 16K VU1 demo by Mike Day (2003):
       | 
       | https://www.youtube.com/watch?v=ZwD7-bs9hss
        
       | aappleby wrote:
       | Random trivia - the PS2 processed pixels in 8x2 blocks (no
       | texture) or 8x1 blocks (texture) - this made rasterization VERY
       | FAST for large untextured triangles (16 pixels/clock, potentially
       | 4x Game Cube fill rate), but slow for tiny textured triangles
       | (anything smaller than 8 pixels wide wastes pixel pipes).
        
         | aappleby wrote:
         | Game Cube worked in 2x2 blocks of pixels and could also run
         | primitive "shaders" by cycling a pixel block through the
         | pipeline multiple times with different settings. Made for some
         | nice bump mapping demos but I'm not sure how much it was used
         | in practice.
        
           | mikepurvis wrote:
           | I've always been kind of fascinated by the state of GPUs
           | immediately prior to fully-programmable shaders becoming the
           | norm. It particularly comes up in the world of emulation,
           | where often those weird fixed-function pipelines were abused
           | in interesting ways to produce particular effects, and now
           | someone has to figure out how to write a shader for a modern
           | GPU that can perfectly replicate what that old pipeline block
           | used to do, including all the edge-cases around overflow,
           | saturation, and so on.
           | 
           | Unfortunately the inline demos seem to now be broken, but I
           | found this article a fascinating treatise on how Gamecube and
           | Wii games do things like render water:
           | 
           | https://blog.mecheye.net/2018/03/deconstructing-the-water-
           | ef...
        
             | anthk wrote:
             | I was about to post that, Wave Race.
        
       | nsxwolf wrote:
       | I haven't heard anyone talk about this, but the PS2 was the first
       | time I recall seeing a blue LED in a consumer product. I remember
       | being really wowed by it, as just a few years prior I saw 5mm
       | blue LEDs being sold in an electronics hobby catalog for $95
       | each.
        
       | dtx1 wrote:
       | I've heard that the original PS2 Architecture was similar to
       | program for as modern vulkan based rendering. Any truth to that?
       | (I have 0 experience in game/3D programming)
        
         | aappleby wrote:
         | No, not anywhere remotely similar except that some of the
         | terminology like display lists (that predated PS2) are still
         | used.
        
         | kmeisthax wrote:
         | There are some vague similarities; like VU1 can be used akin to
         | a mesh shader to generate procedural geometry. But the overall
         | architecture is very different and simplified. There's no
         | pixel/fragment shaders, for example; you _just_ get Gouraud
         | shaded triangles _and nothing else_.
         | 
         | Modern GPU APIs are about as similar to programming the PS2 as
         | OpenGL 1.x is similar to an Nvidia RTX 3080.
        
       | radicaldreamer wrote:
       | A really interesting and nice architecture which was difficult to
       | program for (maybe outdone only by the notorious CELL
       | architecture of the PS3). The PS2 Linux Kit was brilliant and was
       | what got me into Linux in the first place.[1]
       | 
       | Nowadays consoles are designed to be similar to PCs and easy to
       | develop for, but I feel like we've lost a little something when
       | we went from mostly custom developed chips and archs to commodity
       | PCs with some custom subsystems.
       | 
       | [1]: https://en.wikipedia.org/wiki/Linux_for_PlayStation_2
        
         | pjmlp wrote:
         | Another PS2Linux user!
         | 
         | I hardly used my kit due to the issue with having to find
         | monitors with separate signal cables.
        
           | thakoppno wrote:
           | PS3 otheros linux user who ran Yellow Dog Linux on it and
           | remember running opencv on it. It was novel but really not
           | performant.
           | 
           | What was the ps2 linux experience like?
        
             | pjmlp wrote:
             | Much better, because Sony was still coming from Yaroze
             | experience so PS2Linux had relatively good support for game
             | development, and although it did not expose the low level
             | APIs, it was a kind of XNA for PS2.
             | 
             | Unfortunately most people seemed to only care to use it to
             | run Linux proper and emulators, which was most likely the
             | reason why PS3 OtherOS was so limited.
             | 
             | I lost interest on the PS after that.
        
       | monkpit wrote:
       | (2020)
        
       | Narishma wrote:
       | Previous discussion:
       | https://news.ycombinator.com/item?id=26243964
        
         | tommica wrote:
         | Do appreciate people linking previous discussions, always
         | useful to see what people talked.
        
           | speps wrote:
           | The 'past' link under the headline does the same.
        
           | latchkey wrote:
           | Even better, install the Refined HackerNews browser extension
           | and it puts all the previous links at the bottom of the page.
           | 'show-similar-submissions'
           | 
           | https://github.com/plibither8/refined-hacker-news/
        
       | kaveh808 wrote:
       | While leading the software R&D team at Square USA (we made the
       | "Final Fantasy: The Spirits Within" movie and one of the
       | "Animatrix" shorts) our team got to develop some cool software
       | both for the PS2 and the little known GSCube experimental
       | machine.
       | 
       | The GSCube was 16 GS processors in a box, and could be configured
       | to access the frame buffer as a 4x4 tile format or as 16 layers
       | composited in real time.
       | 
       | For Siggraph 2000, we showed a demo of a shot from the movie
       | running in real time, allowing the user to interactively change
       | the surface materials of the character. The scene was Aki
       | floating in zero gravity, and included individual hair strands.
       | 
       | My own memorable piece of geekery involved implementing Perlin
       | Noise entirely on the VU1, and demoing a field of tall grass
       | blowing in the wind.
       | 
       | Fun stuff.
        
       ___________________________________________________________________
       (page generated 2022-09-26 23:01 UTC)