Live data from Hacker News

PlayStation Architecture

copetti.org

61–70 of 71 posts

Re: PlayStation Architecture

#63
post #54

Why did I think the XA decompression happened in the CD-ROM unit rather than the SPU?

It does. The SPU only handles decoding and playback of ADPCM samples from its own memory and receives all CD audio from an I2S bus; the CD-ROM sector decoder chip handles XA-ADPCM decoding and resampling to 44.1 KHz internally, then sends the audio over I2S as if it were CD-DA. This is also why the SPU's ADPCM format is slightly different from XA-ADPCM (no interleaving and 5 filter coefficient presets rather than just the 4 used by XA-ADPCM and the older ADPCM format used on the SNES).

Re: PlayStation Architecture

#64
post #29

Earlier quoted context omitted.

Usually, that kind of stunt nowadays is done by using the lowest significant bits and masking them off when dereferencing the pointer, trading off for a higher alignment (so 4 bits gives you 16-byte alignment). The PS1 also happens to have RAM aliasing, because there's not enough RAM to cover the entire decoding window for the RAM. I don't know the details, but I've seen PS1 executables setting their stack pointer to…

You can see this on many consoles, iirc it basically just boils down to some address pins not being connected anywhere, so whatever the pins are set to doesn't matter as they're just out in the air so to say.

On the PS1 it's actually slightly more complex than that. The CPU does support up to 16 MB of main RAM (development kits and PS1-based arcade systems did come fitted with more than 2 MB) and has a register to configure its geometry, with the CPU automatically generating an exception when attempting to access unmapped memory. However, Sony's BIOS made the mistake of initializing said register to 8 MB (the configuration used by dev boards) even on retail hardware, resulting in the 2 MB region being mirrored four times. Development builds of games typically assumed 8 MB and put the stack at 0x80800000, so the accidental mirroring made that setup work on retail hardware too (at least as long as the stack did not collide with the heap) even if the developer forgot to move the stack down in the final build.

[1] https://psx-spx.consoledev.net/memorycontrol/#1f801060h-ram_...

Re: PlayStation Architecture

#65

These articles are always excellent. PS1 games do not hold up so good, but PS2 games uprezzed to 1440p-4k are basically perfect imo.

> PS1 games do not hold up so good Eeh ... speak for yourself. PS1 did mark the dawn of the 3D era for home consoles. There are lots of people who are into the low poly 3D models with the characteristic PS1 "wobble". Sure a lot of it may be nostalgia but it does have its charm and I can say it's grown a lot on me over time. Especially once I learned about the PS1's unique hardware limitations. If my social media feed…

I'm 35, I know, I was there.

>o by "PS1 graphics" are having a bit of a revival with lots of people trying to recreate that look.

Yea I like it too I'm not saying it is bad :)

Also I do hate these cringe zoomers.

Re: PlayStation Architecture

#66

Earlier quoted context omitted.

It is quite amazing to me to see the specs and what developers managed to squeeze out of that!

Yes an entire generation of games running on a mere 2MB of RAM and 1MB of VRAM. The crazy thing too was how much a step up PS2 was compared to PS1 in terms of available compute and sheer horsepower. But even that wasn't enough for a sandbox game like GTA 3 to run without a lot of clever tricks [1] [1] https://youtu.be/cIbCxbrBCys?si=cLMr4-7ubGD4fNWi

And now all devs know is UE5, slap on DLSS and done.

I see 0 difference in graphics 2016-2026

Re: PlayStation Architecture

#67
post #27

There are memory regions that are mapped to the same physical memory - https://psx-spx.consoledev.net/memorymap/ I worked on the Metal Gear Solid port from PSX to PC, and Konami programmers chose a wild trick to store how the "C4" bomb was planted - either on the wall, or on the ground. Essentially the pointer pointed to the same physical memory address, but if it was planted on the wall (or on the ground, I forgot)…

Interesting! Trying to find that particular code in the decompiled code is proving challenging. I wonder if they haven't yet discovered and documented that yet!

https://github.com/FoxdieTeam/mgs_reversing/blob/master/sour...

Re: PlayStation Architecture

#68

Earlier quoted context omitted.

While HDR is used to reproduce micro-patterns in brightness in such a configuration, I think CRTs would have been capable of HDR with appropriate control electronics since HDR requirements are basically: pixels can individually be set to very close to black and also to "pretty bright".

> I think CRTs would have been capable of HDR Very likely. CRT technology from phosphors to screen masks to deflection yokes were highly-evolved but there was still a lot of headroom for more performance and new innovation. Some CRT tubes where capable of driving much higher brightness than their controllers ever allowed. It's unfortunate that CRT manufacturing wound down entirely after ~2010. While the size, weight…

I would buy a brand new CRT from a boutique manufacturer, even for a pretty absurd price. Whether enough people would is a tough question to answer though.

Re: PlayStation Architecture

#69

Earlier quoted context omitted.

You can see this on many consoles, iirc it basically just boils down to some address pins not being connected anywhere, so whatever the pins are set to doesn't matter as they're just out in the air so to say.

On the PS1 it's actually slightly more complex than that. The CPU does support up to 16 MB of main RAM (development kits and PS1-based arcade systems did come fitted with more than 2 MB) and has a register to configure its geometry, with the CPU automatically generating an exception when attempting to access unmapped memory. However, Sony's BIOS made the mistake of initializing said register to 8 MB (the configuratio…

The PSX BIOS code sounds like a disaster. Everything I read about the software part of the stack, makes me amazed the console even boots

The faulty malloc. A bunch of random qsort implementations. Reiji Asakura wrote an account of how the BIOS and kernel were developed, and it sounds so amateurish

Then there's the way the JP console checks for faulty ECCs on sectors 0..15, not as a clever anti piracy check, but because the CDU-920 broke CD-XA authoring...

Re: PlayStation Architecture

#70

Earlier quoted context omitted.

On the PS1 it's actually slightly more complex than that. The CPU does support up to 16 MB of main RAM (development kits and PS1-based arcade systems did come fitted with more than 2 MB) and has a register to configure its geometry, with the CPU automatically generating an exception when attempting to access unmapped memory. However, Sony's BIOS made the mistake of initializing said register to 8 MB (the configuratio…

The PSX BIOS code sounds like a disaster. Everything I read about the software part of the stack, makes me amazed the console even boots The faulty malloc. A bunch of random qsort implementations. Reiji Asakura wrote an account of how the BIOS and kernel were developed, and it sounds so amateurish Then there's the way the JP console checks for faulty ECCs on sectors 0..15, not as a clever anti piracy check, but becau…

If you want a good horror bedtime story, you can peek at OpenBIOS within the pcsx-redux tree: https://github.com/grumpycoders/pcsx-redux/tree/main/src/mip...

The commentary section starts with "The retail PlayStation BIOS code is a constellation of bugs and bad design." and it gets worse after that. There are hidden gems inside the source code comments of that simili-reconstruction.

Post reply on HN