[HN Gopher] The PS2's Backwards Compatibility from the Engineer ...
___________________________________________________________________
The PS2's Backwards Compatibility from the Engineer Who Built It
Author : lynguist
Score : 123 points
Date : 2023-02-26 08:46 UTC (2 days ago)
(HTM) web link (freelansations.medium.com)
(TXT) w3m dump (freelansations.medium.com)
| RajT88 wrote:
| In my humble opinion, the PS2 is the best retro console for
| tinkering.
|
| So many of them were sold, they can be had cheaply, lots of
| aftermarket stuff for them (HDD/Network adapter), Crazy huge
| library of weird and interesting titles, vibrantly active
| homebrew community. And of course, the built-in backwards
| compatibility. Several interesting hardware revisions to play
| with as well (although the "fat" ones are the most moddable).
| rospaya wrote:
| Loved the PS2 but it's hard to argue when the original Xbox is
| basically a PC.
| kitsunesoba wrote:
| I would agree, which is why a PS2 is on my list of consoles to
| acquire at some point, but it does have one significant nit:
| there is easily available no digital video output mods for
| them, which makes getting a decent picture out of them a
| challenge unless you already have a suitable CRT to pair with
| it.
| RajT88 wrote:
| 720p/1080i CRT's can be had - I have a late model Sony Wega
| 36" I snagged for $30.
|
| I've used component cable as well as one of those HDMI
| adapters which are powered off USB - and it's not that much
| different with my CRT. Maybe it makes more of a difference
| with an LCD.
| rocky1138 wrote:
| And even then, no progressive scan at 480 lines.
| hotpotamus wrote:
| I remember some games offering progressive scan, but you
| needed a component video cable.
| Tsiklon wrote:
| At a push the PS2 could do 720P as seen in aspects of Gran
| Turismo 4 (like it's screenshot mode) which to my mind is
| phenomenal.
| [deleted]
| bitwize wrote:
| > All an emulator is doing is changing the shape and flow of
| those commands.
|
| Maybe if you're SIMH and you're emulating an old CPU that was
| connected asynchronously to like RS232 peripherals. But I think
| this statement understates the complexity of emulating something
| like a console.
|
| Emulating a console or home computer, or even something like an
| old console's GPU, is HARD because you have to do these
| translations in a bug-for-bug compatible way, with strict timing
| constraints -- for the system's many components -- and you have
| to take into account the raster nature of CRT displays, which
| allowed for changing the display in significant ways between
| frames or scanlines.
|
| There's a reason why emulation is these days usually only
| undertaken by some of the strangest most terminally online
| people, and it can take even them decades to get the details
| right. Of course, this engineer worked at Sony and probably had
| the benefit of being able to talk to the developers of the
| graphics chip he was emulating, but that's still a daunting task.
| rbanffy wrote:
| > ou have to do these translations in a bug-for-bug compatible
| way, with strict timing constraints -- for the system's many
| components
|
| Not only that, but you need to catch the way the hardware is
| accessed on the emulated console by generating a fault or trap,
| then rearrange everything for the actual hardware, and then
| pass control back to the emulated code on a processor that had,
| IIRC, no provision for hardware assisted virtualization.
| avipars wrote:
| Playstation 2 and not the PS/2 port
| tpmx wrote:
| And not the IBM PS/2.
|
| Speaking of: I just discovered that newly manufactured
| keyboards with PS/2 keyboard interfaces are now an oddity. I
| should have bought some "gaming keyboards" with PS/2 interfaces
| five years ago.
| dfox wrote:
| Newly manufactured true AT and PS/2 keyboards were rare even
| 20 years ago. The cheap keyboards from even that time
| implement only the subset of behavior of true AT keyboard
| required for PC with OS that leaves the hardware in PC-like
| state. These keyboards tend to confuse the hell out from
| various 90's RISC workstations (SGI, DEC...) that also use
| PS/2 interface.
| zwieback wrote:
| Yeah, I clicked on it expecting something about the PS/2, not
| the PS2. Showing my age, I remember when the PS/2 was new.
| yamtaddle wrote:
| I always kinda liked having AT for the keyboard. No confusing
| it with the mouse port. Nice and clunky and Serious feeling.
| zwieback wrote:
| Those DIN connectors were used in the "Ueberspielkabel" of
| my childhood. Germany decided to use 5 pin DIN as stereo
| cables, two in two out with one ground.
| dfxm12 wrote:
| What is the PS/2 port backwards compatible with?
| dfox wrote:
| It is the same weird backwards I2C-ish thing as an AT
| keyboard, only on smaller connector ;)
| _trackno5 wrote:
| Fascinating read, even if not very technical. That type of deep
| work must be a joy to do. Wonder if there are still places where
| one might get a chance to work like that, specifically on "low
| level" stuff
| jdwithit wrote:
| It's wild how often these "this was my first development job of
| any kind" stories crop up in the gaming industry. This seems
| like a deeply technical project requiring expertise in some
| very niche areas. Yet Sony trusted this fresh grad with zero
| experience to knock out one of their marquee features
| essentially on his own... and it worked??
| beaned wrote:
| I don't have any evidence for this but I feel like things
| used to work more this way in the future. Now we send
| everything to experts, people with licenses and degrees and
| years of experience. And I mean it works, but we pay in terms
| of lost creativity, and create fewer opportunities for
| younger and lesser experienced people to become experienced
| themselves.
| zoklet-enjoyer wrote:
| FF7 spoiler alert
| highwaylights wrote:
| Bruce Willis was a ghost _THE ENTIRE TIME_
|
| In both cases, I think enough time has passed :-)
| rideontime wrote:
| Props to everyone out there digging up, preserving and
| translating old interviews, articles, etc. Some others doing this
| work:
|
| Did You Know Gaming?: https://www.youtube.com/@DYKGaming/videos
| Shmuplations: https://shmuplations.com/
| corysama wrote:
| https://www.reddit.com/r/TheMakingOfGames/ is about getting
| material like that in front of viewers who appreciate it. It's
| rare material. So, contributions are always welcome.
| [deleted]
| lynguist wrote:
| Thank you for sharing Shmuplations. It's an absolute treasure
| trove of (to me) unknown interviews with Japanese game
| designers from the past 40 years. I'm delighted.
| acchow wrote:
| "In my mind, I view emulators as a sort of converter in and of
| themselves, ones that primarily take orders designed for old
| processors and translate them into ones that the new target
| processor can understand and execute. In that sense, even if
| sound and graphics hardware have their fair share of differences,
| in the end, they're both still fundamentally sending commands.
| All an emulator is doing is changing the shape and flow of those
| commands. So long as an emulator is fully tested, it should all
| work out in the end, even if that's obviously the really tough
| part in practice."
|
| Sadly, that is the most technical part of the essay. The rest of
| it is just anecdotes. They talk briefly about a Crash Bandicoot
| freezing issue just before launch, which they got around by
| trying to play the game repeatedly: "All I could figure out was
| that as long as Crash kept moving, the game remained stable for
| whatever reason."
| outworlder wrote:
| I'm with you in wanting the nitty gritty details, but the
| personal anecdote is cool.
|
| I still want to know what was wrong with Crash Bandicoot.
| Wolfbeta wrote:
| This might be of interest.
|
| https://all-things-andy-gavin.com/video-games/making-crash/
| bitwize wrote:
| Crash Bandicoot was developed at Naughty Dog back when
| Naughty Dog was a a hardcore software development house. They
| routinely did clever, not-quite-kosher bullshit like unload
| parts of Sony's graphics library to free more RAM. If the
| backwards-compatibility people took an HLE approach and
| assumed the graphics library was a constant in memory, I can
| see the emulation going totally sideways. It could probably
| go sideways for a bunch of other reasons too.
| dangero wrote:
| curious why you don't think Naughty Dog is a hardcore
| software development house now
|
| they have their own state of the art game engine with
| cutting edge features
| bitwize wrote:
| Before they were really pushing the envelope from an
| execution perspective, delivering different types of
| games with quality and features we really haven't seen
| before. Today they're riffing on The Last of Us, their
| "state of the art game engine" an extended version of the
| one they used for Uncharted. Their last major release
| was... a remaster of The Last of Us. And there were huge
| problems with the production of The Last of Us 2.
|
| It's been known that ND haven't been doing anything with
| GOOL or GOAL since the end of the Jak & Daxter era,
| around the time that Andy Gavin left. But the programmers
| there were still using Racket to generate data, scripts,
| and glue code for their new engine well into the era of
| TLOU. My conspiracy theory regarding TLOU's third
| remaster/rerelease is that it happened in significant
| part because they wanted to get rid of the Racket bits so
| that they could focus on hiring average developers from a
| large talent pool to execute on Druckmann's auteur-
| wannabe vision. Retconning Ellie to not look like Elliot
| Page and promotion for the HBO series were also factors,
| but I think the focus at ND has changed to becoming Yet
| Another Generic Game Studio, and managing the TLOU IP.
| dangero wrote:
| All state of the art game engines are multi-game
| iterations because the number of features and complexity
| is so large that it cannot be done for a single game any
| more
| donky_oaty wrote:
| They should have tried playing Stable Bandicoot instead.
___________________________________________________________________
(page generated 2023-02-28 23:00 UTC)