Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



Oh man, the emotion that comes up for me from PS2 is "anger", since that's what the emotion engine produced in me.

The PS2 had lots of really tricky quirks to deal with. First, VU0 (IIRC, could be the other one) had really limited means of transferring data, and you'd have to stall the CPU to do it, making it very difficult to get any real use out of it. VU1's access to gfx was handy, though.

Next up, the framebuffer operations in the GS (Graphics Synthesizer) were limited to a single function with four terms. The most common blending function you'd want to use (src * src_alpha) + dst * (1 - src_alpha) was simply not possible. In real terms, this means you could not blend things into the framebuffer based on alpha transparency, so you had to do lots of tricks. Ever noticed how shadow casters in PS2 games were always casting pitch black shadows? It's because you could squash to black, but couldn't modulate existing color.

The "scratch pad" was effectively L2 cache that you controlled yourself, and it was critical to manage it properly to get any performance out of the cpu. This was quite tricky.

This era of console games was very interesting. The PS2 was frustrating, while the GameCube was a bit easier, but just as frustrating. Matrix math in the GameCube was limited to 4x3, not the normal 4x4. The last row was fixed to the unit W vector. This means you could not project - ever notice how shadows on GameCube games are little smooth ovals? It's because without the ability to project, you could not render a model as a shadow. Gamecube was also weird in that it had little main memory, but a whole lot of audio memory, so you'd write a paging engine which would use audio memory as general purpose, by swapping stuff in and out of it.

Then came the XBox. It had Visual Studio and you wrote code as you would for a PC. You could even debug in a debugger, not printouts! It was glorious.


> This means you could not project - ever notice how shadows on GameCube games are little smooth ovals? It's because without the ability to project, you could not render a model as a shadow.

I remember Star Fox: Assault having shadows that match the character's motion. I've linked a clip below:

https://youtu.be/Gy76FPWRBoo?t=435

I'm curious how Namco's developers might be performing it since matrices are 4x3 like you mention.


I was over-simplifying. Where there's a will, there is a way. If you have a matrix that's got a 0 for the Z term in each column, you will squash the model onto the XY plane, as it is here. What you can not do with a last row being the unit W vector is shearing, perspective transformations, that sort of thing. Notice in that Star Fox game that the shadow isn't changing in size as the character jumps up and down relative to the light - also where is the light? It looks like shadows are cast by some virtual directional in the middle of the level. You could not do this for a point light.

You can totally fake this by shearing the model sideways and squashing one coordinate to zero. You render it twice, once as a shadow, once the normal way. Sometimes, you even build a separate shadow model that's much simpler. There's a lot of special case trickery that goes on in games. I was thinking of the little round circles since it's really cheap to compute, but yes, you could do shadows in limited cases.

What the 4th row being a unit W vector really prevents is projections. What Star Fox shows are non-projective shadows. Anyhow, this is some graphics nerdery here that is no longer relevant, and people faked it well enough.


Thanks for taking the time to elaborate; it really helped me understand better and contextualize my childhood a little more!


:) IDK - I thought it was fun figuring that stuff out. The modern consoles still have their challenges and the mysteries are still there if you want to get very low level.


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...


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/


Yes, that's the post.


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 /.


For extra confusion, "PS/2 Keyboards" and "PS2 Keyboards" were both products which were manufactured contemporaneously. The latter were USB.


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.


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) :-)


I believe PSX was originally originally used by Sony as a codename for the PlayStation; not sure whether it was referred to as such externally by them. I think I remember gaming magazines at the time before the PS1s release referring to it as the PSX but am not certain.


It was referred to as PSX by pretty much everyone until the launch of the DVR, y eah.


> 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.


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.


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/


They were never popular and sold poorly. Few people had a Master System, and even fewer wanted to play those games on a Genesis. Sega kept advertising it, as a statement more than anything. That explains how hard it is to find one.


I am not sure why that is the case. I used to have one that was a cheap small converter cartridge. To explore how it worked, I was amazed to see that there where no chips on the board but merely contacts and traces.


Makes me wonder, could the GB/GBC hardware in the GBA be used by GBA games?


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.


The problem with GBA functionality is you lost the ability to go back to the home menu; you had to force reset the console to exit. I think that’s why Nintendo only used the GBA mode under duress, and only once.


It couldn't (besides the audio channels, which were shared).


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!


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.


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.


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.


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...


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).


Yep, the playstation 2's I/O processor was just a playstation 1 CPU, I believe the emotion engine still handled the graphics though.


Early PS3's also featured PS2 hardware, hence also PS1 chips.


The early PS3s had the emotion engine but no IOP (PS1 processor); the IOP and sound processing unit were emulated.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: