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