Live data from Hacker News

Architecture of the Playstation

copetti.org

11–20 of 116 posts

Re: Architecture of the Playstation

#11

This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) To us the elephant in the room limitation of PS1 is not mentioned here as far as I could tell from a quick read-through: it had no Z-buffer. This meant…

Thank you for this insight and special thanks for providing me and many others with this wonderful piece of childhood.

Re: Architecture of the Playstation

#12

This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) To us the elephant in the room limitation of PS1 is not mentioned here as far as I could tell from a quick read-through: it had no Z-buffer. This meant…

Legend. I've heard the original GOAL code is floating around somewhere online. Is there any chance Sony ever releases it into the public domain?

I notice another game today on here using ClojureScript. Apart from a lack of tooling / engine, is Lisp better suited for gamedev?

Re: Architecture of the Playstation

#13
post #4

The PSX did not age well. I noticed this at a friend house, while looking for something in the garage we came across his old system and games. We could not resist taking it back into the house and setting it up. The first thing I noticed was how long the load times were. And how noisy the machine was when reading and seeking on the discs. The next thing was the primitive texture mapping. Polygons 'jiggling' and 'spar…

On the other hand, all the graphical glitching you speak of is entirely unique to the system. A whole genre of independent games has risen dedicated to replicating it. We've seen a proliferation of hundreds of "PSX style" horror games in the past few years. YouTube channel Alpha Beta Gamer [1] displays many of them (no commentary).

[1] https://www.youtube.com/c/AlphaBetaGamer/videos

Re: Architecture of the Playstation

#14
post #4

The PSX did not age well. I noticed this at a friend house, while looking for something in the garage we came across his old system and games. We could not resist taking it back into the house and setting it up. The first thing I noticed was how long the load times were. And how noisy the machine was when reading and seeking on the discs. The next thing was the primitive texture mapping. Polygons 'jiggling' and 'spar…

PS1 and N64 visuals have both aged poorly, though I agree, I think the PS1 is the toughest to go back to from a visual perspective. The shimmering polygons that you see on the PlayStation and on the Saturn feels unacceptable by today’s standards and then they are both also notorious for long load times.

The N64 has it’s own set of graphical limitations, but hold up a bit better to the test of time, IMO. At the time I know it was the school yard debate of which looked better and many felt the sharpness of the PS1 was preferred over the softer N64 image.

Re: Architecture of the Playstation

#15
Oh what an amazing feeling seeing one of my articles here. Let me share you a bit of history about this one:

- A year ago, an old version of this article got shared in hn (https://news.ycombinator.com/item?id=22932134) and since then, google started positioning my site in their search results, and many forums started noticing the site. Yay!

- Fast forward, I graduated from uni, continued working on more articles in my free time, and with all the newly acquired knowledge, I decided to re-write the old PS1 article to make it much more informational and accurate - This is the one you are seeing right now.

- The rewrite wasn’t easy, though. Luckily, I found very kind and talented experts that lent me a hand, you can see them credited in the ‘Changelog’ at the end of the article. Curiously enough, we are still debating on Discord about some discrepancies regarding the main diagram shown in the article. LSI’s docs (the CPU manufacturer) and Sony’s docs contradict each other when they explain the layout of the CPU’s ‘main’ bus! But don’t worry about it, it doesn’t affect any statement in the article. It’s more of a need to have everything as accurate as possible.

Finally, I’m always open to comments, improvements, suggestions, anything really! I share the writings here (https://github.com/flipacholas/Architecture-of-consoles) to discuss improvements but you can also find my email in the site.

PS: The insight shared by developers in the parent thread is phenomenal.

Re: Architecture of the Playstation

#16

This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) To us the elephant in the room limitation of PS1 is not mentioned here as far as I could tell from a quick read-through: it had no Z-buffer. This meant…

> This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.)

If you were using the GNU assembler, it automatically fills branch delay slots with nop instructions unless you prefix assembly code as using `.set noreorder`. GAS would also handle load delay slots as well.

Re: Architecture of the Playstation

#18
post #16

This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) To us the elephant in the room limitation of PS1 is not mentioned here as far as I could tell from a quick read-through: it had no Z-buffer. This meant…

> This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) If you were using the GNU assembler, it automatically fills branch delay slots with nop instructions unless you prefix assembly code as using `.set n…

Ah yes, that makes perfect sense! I'm sure that's why I never had to worry about it.

Re: Architecture of the Playstation

#19
post #12

This is a great overview. I don't remember having to put in padding instructions to prevent the pipeline issues mentioned here; maybe we just never ran into that. (I wrote pretty much all the R3000 code for Crash 1 and just do not recall problems like that coming up.) To us the elephant in the room limitation of PS1 is not mentioned here as far as I could tell from a quick read-through: it had no Z-buffer. This meant…

Legend. I've heard the original GOAL code is floating around somewhere online. Is there any chance Sony ever releases it into the public domain? I notice another game today on here using ClojureScript. Apart from a lack of tooling / engine, is Lisp better suited for gamedev?

One could endlessly debate the merits of Lisp dialects for game development, but at least in the Crash era it was a big win for us. Naughty Dog migrated away from Lisp in the PS3 era, I believe. (I was long gone by then.)

It was very powerful to be able to write code for critters and other animated objects in GOOL/GOAL because it was both conceptually simple and compiled into tiny amounts of code, which mattered a lot when you only had 2MB of RAM (half of which was video RAM if I recall correctly).

Re: Architecture of the Playstation

#20
post #17

Truly excellent information, but the "tabs" that you have to click in order to read the next part is positively the worst UX I have ever seen on a static website.

The tabs were made to prevent the user from scrolling indefinitely if he/she is not interested in one section in particular. This only appears in desktop (not mobile).

I'm not a web dev though, so I don't mind switching to a better pattern. Do you know a better one?

Post reply on HN