8

I just watched this video: https://www.youtube.com/watch?v=izxXGuVL21o

It's this Naughty Dog developer who talks about how they "hacked" the PlayStation to bypass the slow, Sony-provided C libraries and instead use a "secret" co-processor/chip to calculate specific math much faster than what was otherwise possible.

He even mentions that people from Sony sat in them in a dark room like in a spy movie scene and slid over a couple of papers secretively, saying: "This is how you can do things faster. You did not hear it from us."

Why on Earth would Sony not want the developers to take full advantage of their PlayStation, making it look more powerful to consumers and reviewers? And wasn't Naughty Dog a subdivision of Sony or something, on top of it? (Maybe they just became that later.)

Is this related in some way to Sony wanting "an upper hand" for their first-party titles or something? "You lowly third-party developers can use these slow, unoptimized C libraries, but we're going to be talking directly with the secret hardware!"

It seems strange to me. It seems like it would only hurt Sony.

6
  • How would it hurt them? Aug 27, 2020 at 19:47
  • 3
    Standard observation: this is a developer being asked to talk himself up. All claims of leet hacking and secret exchanges should be subject to a pinch of salt.
    – Tommy
    Aug 27, 2020 at 20:41
  • I found a transcript: cdn.arstechnica.net/wp-content/uploads/2020/02/… ; I think the part that the author is referring to starts with "There was this fundamental problem in the PlayStation sort of hardware software interaction". Seems a bit suspect to me — the speaker claims an order-of-magnitude benefit for going straight to the coprocessor. Does Crash Bandicoot look like it has an order-of-magnitude more geometry than e.g. Ridge Racer?
    – Tommy
    Aug 27, 2020 at 21:27
  • Maybe Ridge Racer devs also benefitted from a "little help" from Sony? Aug 27, 2020 at 21:33
  • @Jean-FrançoisFabre possibly, but it still seems very likely that the interviewee is significantly overstating his position. E.g. I looked up a contemporaneous review of Crash Bandicoot from Next Generation magazine, which states: "... and the simplistic environment puts so little demand on the Playstation's 3D capability that everything onscreen is rock solid".
    – Tommy
    Aug 27, 2020 at 23:24

3 Answers 3

14

The following answer is only my personal point of view

I don't believe that Sony created a C library that was slow on purpose. They created a C library so developers use high-level interface which respects the way to access the hardware, instead of documenting it in details.

Respecting/checking the hardware usage domain and timings (and also using C) has an overhead. In some particular cases, cutting to the chase by hardware banging and using assembly is faster. But it can also fail with nasty glitches in some cases. They may also have portability in mind, wanting to keep the API stable for future Playstation generations and new chips.

This also happened on the Amiga when the AA chipset was designed. Commodore didn't reveal the hardware details of most of the AA features to force developers to use the standard system libraries (with their overhead). After a while, someone reverse engineered the workbench copperlists (created by the ROM) and found how to use big AA sprites, etc...without using the system.

In this very case, if we listen to Andy Gavin in the video (around 12:00), it seems that the Sony C library didn't use a co-processor/instruction which existed in the GPU to perform a multiply-add operation, frequent in 3D games, which cut down the performance tenfold!

So, in the case of Sony, they probably realized themselves that the overhead of such a library was too high, or they got complaints from developers, and started leaking direct hardware access to some developers who needed it. It was a major advantage for the developers who knew.

4

If many game developers exploit some particular hardware quirk, then any hardware revision which changes the behavior of that quirk would risk incompatibility with those games. If there are only a small number of games that exploit the quirk, however, and their development teams coordinate their efforts with the console maker, then it may be possible for the console maker to work with them develop patches that will let the games that use the trick work with the new hardware, and include those patches within the ROM of devices using that new hardware.

If the console maker thinks that a game has a potential to be a flagship product for the console, the extra effort for the console engineering team to coordinate with that game's development team may be worthwhile, but it wouldn't be practical to invest that level of effort with every game developer.

I'm not sure whether these were the motivating factors behind Sony's actions in particular, but game console makers have historically wanted to ensure that games and consoles would "just work" without requiring that users manually install any kind of patch.

0

The following answer is only my point of view

The main business in the console world is not based on hardware selling, but games selling. Hardware is pretty cheap (compared to the PC), but games costs 2x more than the same PC version.

From this point of view, it makes sense to have any "undocumented instructions or features", which gives you (in this case, Sony's partner as a game developer) a little bit advantage over the other software house. Just because your games could be faster, polished, or something. Because - let's say it once more - the main business is the games, not the hardware itself.

1
  • The real business of console makers isn't game selling, but game licensing. If someone manages to figure out how to modify a console to run pirate games, that wouldn't be nearly as annoying to a console maker as someone figuring out a means by which someone who isn't under any contractual obligation to the console maker could develop unlicensed games that will run on an unmodified console.
    – supercat
    Aug 28, 2020 at 20:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .