PlayStation 2 Recompilation Project Is Absolutely Incredible
(redgamingtech.com)554 points by croes 3 days ago
554 points by croes 3 days ago
> (a) happened with a hypothetical hardware platform released after the PS2 but before the PS3, with specs lying in between the two
I would argue strongly that the weak hardware is why the PS2, and other old consoles, were so good, and that by improving the hardware you cannot replicate what they accomplished (which is why, indeed, newer consoles have never managed to be as iconic as older consoles). You can make an equally strong case that the Super Famicom is the best console of all time, with dozens of 10/10 games that stand the test of time. I think the limitations of the hardware played a pivotal role in both, as they demanded good stylistic decisions to create aesthetically appealing games with limited resources, and demanded a significant level of work into curating and optimizing the game design, because every aspect of the game consumed limited resources and therefore bad ideas had to be culled, leaving a well-polished remainder of the best ideas in a sort of Darwinian sense.
> (b) resulted in a sort of standardization in the industry like what happened to the IBM PC and its market of clones, with other vendors continuing to manufacture semi-compatible units
Unlike the PC market, the comprehensive list of "other vendors" is two entries long. Is it a more perfect world if Nintendo manufactures knockoff Playstations instead of its variety of unique consoles? I don't think so.
I love retro consoles as much as the next middle aged software developer, but realistically, the reason those consoles are so iconic is because we were children. Every console generation is that special generation for one group of kids.
I do agree that sometimes limitations breed creativity, but that’s not the only thing that can make the magic work.
I know it's easy to trot out "nostalgia", but do you not think it's possible that older games can genuinely be better than newer games? I very much think it is common to find such games, even games I had never played in my youth. There were bad games then too, of course, and good games now, but I think the ratio of hits was higher. Particularly now that modern game development is so sloppy. Microtransaction-infested games rule the world, and while the indie scene does still produce excellent gems, most of them tend to be significantly less polished and rougher around the edges.
I disagree.
I routinely revisit old games with a critical mind. It is an interesting thing to do.
I find that quite a few games I really loved as a kid are special because I played during a formative age, yes. Some are better left in the past.
But I find some that still manage to impress me to this day. They are not good only as a memory, they are just really good.
And a second counter is that my all-time favorite consoles are the SNES and the Switch. I have been gaming ever since the Atari 2600 days. The Switch was released well into my 30s. I have no nostalgia for it.
>the reason those consoles are so iconic is because we were children
if you spend some time on youtube and look at people too young to even have been around play through those games it just becomes evident very quickly how wrong that assessment is. There's an energy even among young audiences when they're playing games like Metal Gear Solid 1&2 for the first time that you hardly see for anything coming out today.
There was a level of artistic talent in that generation, also in animation of the time, that simply doesn't really have a parallel today and brushing it off as nostalgia has a lot to do with he inability of people to recognize that there's no linear progress in art. Talent can be lost, some periods are better than others, just having more cpu and gpu cycles available does not produce better art.
The fact that almost 30 years after games like MGS it's still Kojima and a lot of Japanese guys now with increasingly gray hair who end up getting a lot of awards and pushing the envelope that should tell you something.
Will people ever be nostalgic for the xbox one? For the iphone 14?
I doubt it. These products might even be good, but they are not like their early ancestors in several significant ways that will have them relegated to the footnotes of history. Most importantly, they are difficult to distinguish from both their immediate predecessors and their immediate successors. I don't mean to say that people won't have treasured experiences from this time that they long for in 20 years, just that I doubt the console will play as significant of a role in the memory.
I belong to the 8 and 16 bit home computers generation, which grew along those consoles, yet for those on my circle consoles weren't special, home computers were.
Hence why I find funny the remarks of "PC gaming" is growing, for my crowd it was always there since the 1990's.
I join my voice in disgreeing with this. While some games can indeed be rose-tinted (I have fond memory of that Game Boy Spiderman game, and it's a terrible shoverware game), many of them are traiblazer (like, invented a genre) or are still standing on their own very well.
>the reason those consoles are so iconic is because we were children.
If that were the case, we would only really love the games we grew up with. I stayed at an air bnb that had a ps2. I sat down and played ace air combat; a game I'd never touched on a console I'd never had as a child, and I had a blast.
I also recently picked up fallout 1/2 for a couple bucks on steam, and while the controls and graphics weren't great, I still enjoyed the game even though I never touched it in childhood.
Realistically, there are a few games for the xbox / ps2 era where the graphics really have not aged well, but for the most part I am not a pixel snob, at all.
This might be a nitpick, but I could probably only count 5-10 SNES games that would be considered 10/10 IMO, and not many that I think are worth sinking decent time into these days, compared to something like Burnout Revenge - a great game but certainly not a 10/10 game.
Still, I do find the SNES library, and 16bit games in general, quite astounding from a creative and artistic perspective, but not so much from a player’s perspective.
A Link to the Past, Super Mario World, Yoshi's Island, Kirby Super Star, Donkey Kong Country 1-3, Super Metroid, Megaman X series, Dragon Quest series, Final Fantasy series, Chrono Trigger, Earthbound... just off the top of my head, are all very much worth playing today.
> This might be a nitpick, but I could probably only count 5-10 SNES games that would be considered 10/10 IMO firstly, this seems like a pretty flawed standard for evaluating a consoles library, no? but secondly, "5-10 10/10"s seems like a pretty good amount for any consoles library anyways, unless you value a "10/10" less than i guess i would
I’m not criticizing the library of SNES. I have very fond memories playing SNES games. It was more in response to the statement that there are dozens of 10/10 games on SNES. Let me clarify, there are not many 10/10 games on SNES (or any system for that matter), let alone dozens.
> Unlike the PC market, the comprehensive list of "other vendors" is two entries long
Before there was “a sort of standardization in the industry” the comprehensive list of “PC vendors” was one entry long.
Years before that, there were several times there was “a sort of standardization in the industry”, both of which led to there being many vendors.
- the Altair bus. https://en.wikipedia.org/wiki/S-100_bus#IEEE-696_Standard: “In May 1978, George Morrow and Howard Fullmer published a "Proposed Standard for the S-100 Bus" noting that 150 vendors were already supplying products for the S-100 Bus”
- CP/M. https://en.wikipedia.org/wiki/CP/M#Derivatives: “CP/M eventually became the de facto standard and the dominant operating system for microcomputers, in combination with the S-100 bus computers. This computer platform was widely used in business through the late 1970s and into the mid-1980s.”
This reminded me of the following quote "Limitation breeds creativity", and therefore the PS2's limitations where instrumental to it's success.
The PS2 in may ways was a great improvement on the PS1 however it was not easy to develop for and could do certain things very well, other things not so well. One example is the graphics due to the unusual architecture of the Emotion Engine (gpu). I think this forced the developers to consider what their games really required and where they wanted to spend the development effort, one of the key ingredients for good game design.
Additionally the release hype of the PS2 was quite big and the graphics that where achievable where very good at the time, so developers wanted to go through the development pains to create a game for this console.
Not to forget besides the mountain of great titles for the PS2 there is also a mountain of flopped games that faded into obscurity.
> and at one point was positioned by Sony not just as an entertainment appliance but as a personal computer with their own official PS2 Linux distribution.
to avoid EU import taxes
As owner of PS2 Linux distribution and related hardware, it was sort of ok.
Sony intended it to be the evolution of Playstation Yaroze, fostering indie development, instead people used it mostly to run emulators on the PS2, hence why the PS3 version lost access to accelerated hardware for graphics.
PS2 Linux had hardware acceleration, the only difference was that the OpenGL inspired API did not expose all the capabilities of a regular DevKit.
Community proved that the development effort wasn't worth it.
The XBox arcade and ID@XBox programs have also taken these lessons into account, which is why you only see everyone running emulators on rooted XBoxes, not the developer mode ones.
The market of IBM PC clones only happened because of an IBM mistake, that was never supposed to happen, and IBM tried with the PS2 / MCA to take their control back, but the Pandora box was already open, and Compaq was clever with the way they did reverse engineer the BIOS.
Back then, unless you were using a projector, the screens weren't that big so we seated clother to the screens.
Besides there isn't that much operation you need to do with a DVD. Appart from volume control (which was set on the TV/speaker system command), you would just need a pause when you wanted to go for a pee so no big deal to only have the corded controller.
We had clusters of them in university too.
If all you needed to do was vector math, a dedicated vector processor with eight cores that are capable of running as fast as the extremely wide bus could feed them with data is the way to do it. You couldn't buy anything close to it's capabilities (for that specific task) for the money.
I remember the course we used them in being hard as hell, and the professor didn't really have any projects prepared that would really push the system.
From what I understand (may be wrong) this is exactly the reason that they stopped allowing Linux installs on PS3s.
People were buying them just for this purpose. However, the consoles were sold at a discount because Sony expected users to buy games, controllers, etc. If someone bought a PS3 alone, without anything else then Sony lost money.
It coincidentally happened around the time this came out.
https://web.archive.org/web/20110106074158/http://psx-scene....
Then they sued him. There's a bunch of archived links on his Wikipedia page.
"it was a dreadful, useless computer, even then"
So you don't dispute the thesis that the hypothetical general-purpose machine described in the comment would have needed to have been been better than the PS2?
This is cool but of course it's only going to be a small handful of titles that ever receive this kind of attention. But I have been blown away that now sub-$300 Android handhelds are more than capable of emulating the entire PS2 library, often with upscaling if you prefer.
Moore's law never ceases to amaze (the vulgar version where we're talking compute/dollar, not the transistor count doubling rate.) It won't be too long before phones are running AI models with performance equal to or better than current frontier models running on $100 million dollar clusters. It's hard to even imagine the things that will be running on billion dollar clusters in 10 years.
I do hope you're right, but I'm quite skeptical. As mobile devices get more and more locked down, All that memory capacity gets less and less usable. I'm sure it will be accessible to Apple and Google models, but models that obey the user? Not likely
As state of the art machines continue to chase the latest node, capacity for older nodes has become much less expensive, more openly documented, and actually accessible to individuals. Open source FPGA and ASIC synthesis tools have also immensely improved in quality and capability. The Raspberry Pi Pico RP2350 contains an open source Risc-V core designed by an individual. And 4G cell phones like the https://lilygo.cc/products/t-deck-pro are available on the market built around the very similar ESP32. The latest greatest will always be behind a paywall, but the rising tide floats all boats, and hobbyist projects are growing more sophisticated. Even a $1 ESP32 has dual 240mhz 32bit cores, 8Mb ram, and fast network interfaces which blow away the 8bit micros I grew up with. The state of the open-source art may be a bit behind the state of the proprietary arts, but is advancing as well.
It's really fun to have useful hardware that's easy to program at the bare metal.
It might not be in our lifetimes... the frontier models are using terabytes of RAM. In 10 years iPhones went from ~2GB to ~8GB.
2012 Macbook pros had up to 16gb, 2026 maxes out at 64gb. So 4x increase in 16 years. 1996 Mac desktop had 16MB of ram, so from 1996-2012 there was a 1000x increase.
We won't see gains like we did from the 80s-2000s again.
I don't think you're going to see phones with 512gb VRAM+RAM in your lifetime.
When I was a kid I recall my cousin upgrading his computer to 1 or 2 MB so that we could get some extra features when playing Wing Commander 1. That was 1990.
35 years later, burner phones regularly come with 4 GB of RAM these days. 3 order of magnitude difference, not taking into account miniaturization and speed improvements.
In another 35 years who knows what will happen. Yeah things can't improve at the same pace forever but I would be surprised if anyone back in 1990 could predict the level of technology you can get at every corner store today.
Maybe it's not that everyone gets an RTX 5090 in our pocket, but maybe it's that LLMs now can run on rpi. Realistically it's probably something in the middle.
When I was a kid in Elementary we used DOS computers with maybe 4MB of RAM or few MB and the Play Station wasn't many times powerful. A few years (two or three) later we got Windows 95/98 with 128 times more RAM. A few years later, computers could emulate more or less the PSX and the N64, all within six years.
> ... It won't be too long before phones are running AI models with performance equal to or better than current frontier models running on $100 million dollar clusters.
Maybe, perhaps phones will have the compute power... But not enough memory. If things continue the way they are, that is. Great for AI firms, they'll have their moat.
Well, we live in extraordinary circumstances today. A $40 kit (Patriot Viper Venom DDR5-6000 C36 16GB) is now $199. And that is the cheapest DDR5 I saw. With this year's news of even more allocation towards data centres, Micron exiting the consumer market, and the current inertia of things, I think it will take quite some time for us to see prices back to as they were.
It really is incredible. I've been playing through my childhood games on retro handhelds, and recently jumped from <$100 handhelds to a Retroid Pocket Flip, and it's incredible. Been playing WiiU and PS2 games flawlessly at 2x res, and even tackling some lighter Switch games on it.
It truly is. My issue though, like in 2010 when I built an arcade cabinet capable of playing everything is you eventually just run out of interest. In it all. Not even the nostalgia of it keeps my attention. With the exception of just a small handful of titles.
- Excite Bike (it’s in its own league) NES
- Punchout (good arcade fun) NES
- TMNT 4-P Coop Mame Version
- NBA Jam Mame Version
- Secret of Mana SNES
- Chronotrigger SNES
- Breath of Fire 2 SNES
- Mortal Kombat Series SEGA32X
- FF Tactics PS1
I know these can all be basically run in a browser at this point but even Switch or Dreamcast games were meh. N64/PS1/PS2/Xbox was peak and it’s been rehashed franchises ever since. Shame. The only innovative thing that has happened since storytelling died has been Battle Royale Looter Shooters.
Outer Wilds, Baba is You, Blue Prince, Hades 1&2, Disco Elysium, Hollow Knight, Slay the Spire, Vampire Survivors, Clair Obscur, What Remains of Edith Finch, 1000xResist, Return of the Obra Dinn, Roboquest, Rocket League, Dark Souls, etc. I could go on, and on, and...
Not rehashes. Original, phenomenal games covering damm near every genre and if there is a genre you're missing, I can find a modern game to match.
Do you actually engage with modern games?
>The only innovative thing that has happened since storytelling died
lol
There are countless already classic modern story driven games which pushing the boundaries of video games forward.
I know nostalgia is a very strong drug and I also love the games I grew up with in the 90s but it's pure ignorance to say that 1, "storytelling died" 2, no innovation happened in video games in modern times (whatever that even means)
For the oldies but goodies in my list:
- Any one of the 194_ games
- Legend of Zelda: A Link To The Past
- Super Mario World
- Final Fantasy VI, VII, IX
- Chrono Trigger (agree)
- Street Fighter 2 Championship Edition
- Metal Gear Solid 1-3, MGS: Peace Walker
But I think there's been good stuff since.
- The Super Mario Galaxy games
- Super Monkey Ball
- MGS4, MGS5
- Witcher 3
- The Bioshock games
- Minecraft-- probably the game with the most replay value of anything of all time.
I don't know what will stand the test of time. I don't want to play any of these games now, since I've burnt them out, but at some point I'll likely want to play them again...
- Undertale
- Bravely Default
- The Octopath games
- Dispatch
- AstroBot
- Clair Obscur
I disagree. There are some new (sub-) genres and great games since that period.
* Roguelites have proliferated: Hades is the most obvious example, but there are a variety of sub-genres at this point.
* Vampire Survivors (itself a roguelite) spawned survivors-likes. Megabonk is currently pretty popular.
* Slay the Spire kicked off a wave of strategy roguelites.
* There are "cozy" games like Unpacking.
* I don't recall survival games like Subnautica or Don't Starve being much of a thing in the PS2 era.
* There are automation games like Factorio and Satisfactory.
* Casual mobile games are _huge_.
* There are more experimental games, sometimes in established genres, like Inscription, Undertale, or Baba Is You.
Not to mention that new games in existing genres can be great. Hollow Knight is a good example. Metroidvanias were established by the SNES and PS1 era, but Hollow Knight really upped the stakes.
I'm sure I'm forgetting things and people will have some criticism, but I really don't believe games have stagnated in general.
If you're struggling with keeping your attention, you ought to try making a list of games you never finished (or never played) and commit yourself to playing through them in order. I have been doing that with NES games and really enjoying it. I alternate between RPGs/adventures and action games, to mix things up a bit.
Recently, I have played through Faxanadu, Dragon Warrior, Blaster Master, and am now working through Fire Emblem (translated from Japanese).
> N64/PS1/PS2/Xbox was peak and it’s been rehashed franchises ever since. Shame. The only innovative thing that has happened since storytelling died has been Battle Royale Looter Shooters.
I was a kid when ps1/n64 came out so I also have a lot of nostalgia about that era of gaming.
However…
There are a ton of great games out there from this era. Hell, the Uncharted series and Expedition 33 will get you 100-200 hours of excellent gameplay, Elden ring is another 200. Lies of P is a fantastic game, 50-100 more. The star wars Legos and star wars Harry Potter games are a lot of fun to play with kids, and Breath of the Wild/Tears of the Kingdom are the Zelda games we wanted on n64 as a kid, I love those games. And they’re not a rehash, at all.
There’s a lot of fun things out there to play if you poke around. Your local library might surprise you with the collection for completely free games you can borrow. Modern games even.
It's called getting older.
As a grown adult, nothing can recreate the feeling of exploring a new game as a child/teen. Especially during the 80s/90s, where gaming as a whole was new and rapidly-evolving.
But revisiting old favourites for the nostalgia can still be enjoyable.
What? Dreamcast was a marvel when it came to games, Crazy Taxi, Virtua Tennis, Power Stone, Jet Set Radio, Grandia, SoulCalibur etc.
The Demons Souls lineage titles are another valuable innovation (I understand the earlier inspirations it had but those aren't playable like these modern ones)
For MAME I recommend trying Pang and Super Buster Bros
I sit here with a laggy windows 11 computer with an Nvidia GPU and wonder: WTF
Its fine with Fedora, but Windows 11 is terrible.
I find PS2 emulation to be lacking.
Of course I am spoiled by Dolphin and their meticulous work, and the leap in N64 emulation, and PS3 emulation is way farther than I thought it could ever be.
But PCSX2 is mediocre. It reports the vast majority of the library in "green" emulation state, but that usually means there are glaring issues that someone is choosing to overlook, like shadows that are broken.
The Ace Combat games for example are all broken with the hardware accelerated renderer. Things run like garbage in the software renderer for a lot of games. Multiplayer functionality is spotty and hard to set up and poorly documented.
The state of emulation of that console generation is not up to snuff, save for Dolphin. It's still very much in the "Shut up, it works fine for Super Mario 64 so it works" mindset it seems.
This is true even of official emulators! The Xbox emulator that ran on the Xbox 360 has many games that are "officially supported" with serious issues. Forza Motorsport 1 has weird slowdowns on key tracks. I understand the serious hardware difficulties but I still wish emulation accuracy was an option.
I suspect we will see a proliferation of emulator development in the next few years.
In a lot of ways, emulators are the perfect problem for vision/LLMs. It's like all those web browser projects popping up on HN. You have a very well define problem with existing reference test cases. It's not going to be fun for Nintendo's lawyers in future when everybody can crowdfund an emulator by simply running a VLM against a screen recording of gameplay (barring non deterministic éléments).
They can't oppress the software engineering masses any longer through lawfare.
I gave up video games, but I remember that being a huge reason why I picked Android a decade + ago. Emulators :D
Apparently now iphone allows it. Eventually Apple gives features that are standard elsewhere. Veblen goods...
What the dev of AertherSx2 did to run games smooth, even on my midrange 2019 android phone, is wonders.
Too bad the dev is a very emotionally unstable person that abandoned his port, despite his big talent.
Link to the actual project rather than just a news article about it https://github.com/ran-j/PS2Recomp
On this topic of ports/recomps there's also OpenGOAL [1] which is a FOSS desktop native implementation of the GOAL (Game Oriented Assembly Lisp) interpreter [2] used by Naughty Dog to develop a number of their famous PS2 titles.
Since they were able to port the interpreter over they have been able to start rapidly start porting over these titles even with a small volunteer team.
2. https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
Lol yep. Emacs as the IDE, Allegro Common Lisp as the interpreter + HAL implementation, and GOAL itself being a Scheme-like.
Naughty Dog in general was actually a primarily Lisp studio for a long time. It was only in the PS3 era with Uncharted and The Last of Us that they switched to C++ because trying to maximise the performance out of a Lisp interpreter environment with the complexity the Cell Processors added on a time and cash budget simply wasn't feasible for them.
The Crash Bandicoot games were written in GOOL (Game Oriented Object Lisp) which they wrote prior to GOAL and the Jak and Daxter games. GOOL/Lisp of course was extremely important for the Crash Bandicoot legacy because by writing their own higher level interpreter they were given an excuse to through away the entire standard library that Sony gave them and start from scratch. That process allowed them to write a massively more performant stdlib and execution environment leading to Crash Bandicoot being able to support game environments an order of magnitude more complex than other games at the time could. And of course this allowed them to build in a system for lazy loading the environment as the player progressed through the levels which firmly cemented Naughty Dog in the video games history books.
Andy Gavin actually has an incredible blog site (including a 13 part series on Crash Bandicoot and a 5 part series on Jak and Daxter) that has over the decades documented the history of their studio's game development process and all the crazy things they did to make their games work on hardware where it really shouldn't have been able to with the tools they were provided.
Oh I should issue a minor correction. After talking with some people more familiar with it than me, Crash had a lot written in GOOL but it's not 100% GOOL like how Jak is 100% GOAL.
Instead it's mostly enemy AI and the like which are built in GOOL and the game itself is instead a more traditional systems language (I believe C++). So instead of 100% it's more like 40/60 which tbh is still quite good.
Yeah I absolutely loved reading through them when I discovered them the first time. An absolute treat and a portal in time.
Absolutely. OpenGOAL really just set a new standard for what games preservation looks like.
It's incredible seeing the community taking a 25 year old game, modernising it with accessibility features and quality of life, and even creating entirely new expansions to the game [1].
Like beyond just keeping the game preserved on modern platforms, it's keeping the spirit of the game and the community attached to it alive as well in a way that it can continue to evolve and grow.
I can only pray that PS2Recomp makes this a fraction as accessible to other games from this era.
Oh and a similar project but on the nintendo side of the world is Ship of Harkinian by HarbourMasters [2] and the Zelda RE Team [3]. Zelda RET have half the Zelda games and are well on their way decompiling and reverse engineering the other half. And HarbourMasters have taken these decomps and used them as the groundwork for building comprehensive ports and remasters of these original games to a degree that fans could only dream that first party remasters and ports would attempt.
1. https://www.youtube.com/watch?v=PIrSHz4qw3Q
> So yes, currently playing PS2 games on PC via emulator is still absolutely fantastic, but native ports would be the holy grail of game preservation.
I would think that emulation of the original game as closely as possible would be the gold standard of preservation, and native ports would be a cool alternative. As described in the article, native ports are typically not faithful reproductions but enhanced to use the latest hardware.
Indeed, the focus for preservation would be to increase the accuracy of emulators.
pcsx2 is pretty good today in terms of running games (there is a single digit list of games it does not run), but it's far from accurate to the hardware.
Porting to current systems via recompilation is cool, but it has very little to do with preservation.
I absolutely love the idea!
As a movie geek I'm personally offended when someone says "oh, it's from 2017, it's an old movie!", or "I don't want to see anything from 90s, yuck" - and that's pretty common.
Of course, "Nosferatu, eine Symphonie des Grauens" is not for everyone, but I firmly believe that you can watch the new Dune and Lawrence of Arabia back to back and have similarly enjoyable time.
Fallout 1 and 2 are miles ahead of Fallout 3 (mostly due to uncanny valley phenomenon). Sure, the medium has changed a lot and modern consumers are used to more streamlined experience - my favorite example is the endless stream of Baldurs Gate "modern reimplementations" or rehashes, like Pilars of Eterniety that were too close to the original source, and then, suddenly, someone came up with Divinity, basically a Baldurs clone but with modern UI and QoL improvements.
But consoles are different.
This can truly be a window for the next generation to look back in the past.
90% of the PS2’s floating point throughput is in the two vector units, not the R5900 conducting them. Concentrating on that, as the article does, seems as futile as focussing on the 68000 rather than the Amiga PAD in a 16-bit context (ignoring the EE’s 16-bit RAMBUS bottleneck).
However that approach will probably suit the least-ambitious PC-ports to PS2 (by studios that didn’t appreciate the difference) - rather as an ST emulator was a short cut to run the simplest Amiga games.
Hey! I can speak here.
Back in the day, I wrote a simulator for the PS2’s vector units because Sony did not furnish any debugger for them. A month after I got it working, a Sony 2nd party studio made their VU debugger available to everyone… Anyway…
The good news is that the VU processors are actually quite simple as far as processors go. Powerful. Complicated to use. But, not complicated to specify.
This is made much simpler by the fact that the only documentation Sony provided was written by the Japanese hardware engineers. It laid out the bit-by-bit details of the instruction set. And, the bitwise inputs, outputs, delays and side effects of each instruction.
No guidance on how to use it. But, awesome docs for writing a simulator (or recompiler).
An application of the first Futamura projection. https://en.wikipedia.org/wiki/Partial_evaluation
honestly I kept thinking of this https://theinfosphere.org/Futurama_theorem
"Decoding the MIPS R5900 instructions in each function Translating those instructions to equivalent C++ code Generating a runtime that can execute the recompiled code The translated code is very literal, with each MIPS instruction mapping to a C++ operation." It sounds like a MIPS interpreter that gets statically unrolled.
Yes, it's like the result of unrolling a MIPS interpreter, but there never was an actual MIPS interpreter.
I thought the point of the Futamura projection was that there was actually partial evaluation happening, i.e. you take a real interpreter and specialize it in some automated fashion. That's what makes it interesting.
But I could well be wrong about the naming. It doesn't really matter what it's called if we're all clear about what's actually happening.
Emulation is already amazing. What can be done with recompilation is magic: https://github.com/Zelda64Recomp/Zelda64Recomp
The magic is that now you can modify the source code of the game and recompile that.
Folks have been optimizing SuperMario64 to run much faster on actual N64 hardware. And, there is a project that has ported it to run on the PlayStation 1. That’s much weaker hardware that has no hope of emulating the N64.
I wonder how they will tackle the infamous non-conformant Ps2 floating-point behavior issue, that is the biggest hurdle on emulating Ps2.
PS2 floating-point behavior is one of the few hardware misfeatures so awful it affects emulation of competing systems[0]. The game True Crime: New York City is so dependent on PS2 floating point that the GameCube port installs an error handler just to make 1/0 = 0. Which isn't even PS2 hardware behavior. But it is "close enough" that the game does not immediately throw you into the void every time you step on a physics object.
[0] https://dolphin-emu.org/blog/2021/11/13/dolphin-progress-rep...
Some context for others who were unaware: https://github.com/PSI-Rockin/DobieStation/issues/51
EDIT here's potentially a better link: https://www.gregorygaines.com/blog/emulating-ps2-floating-po...
As of now, it looks like they're ignoring it:
https://github.com/ran-j/PS2Recomp/blob/91678d19778891b4df85...
#define FPU_ADD_S(a, b) ((float)(a) + (float)(b))
(etc)But if you wanted to handle it, you'd presumably macro expand the floating point operations to something that matches the PS2 fpu (or comes closer).
Probably the same way as the emulator themselves, with a list of titles needing the real PS2 floating point.
A lot of titles don't actually need it and work fine with standard IEEE floating point.
> The PlayStation 2’s library is easily among the best of any console ever released, and even if you were to narrow down the list of games to the very best, you’d be left with dozens (more like hundreds) of incredible titles. But the PS2 hardware is getting a bit long in the tooth
Besides the library, the PS2 is the most successful video game console of all time in terms of number of units shipped, and it stayed on the market for over ten years, featured a DVD drive, and at one point was positioned by Sony not just as an entertainment appliance but as a personal computer, including their own official PS2 Linux distribution.
In a more perfect world, this would have:
(a) happened with a hypothetical hardware platform released after the PS2 but before the PS3, with specs lying in between the two: a smidge better than the former, but not quite as exotic as the latter (with its Cell CPU or the weird form factor; whereas the PS2's physical profile in comparison was perfect, whether in the original form or the Slim version), which could have:
(b) resulted in a sort of standardization in the industry like what happened to the IBM PC and its market of clones, with other vendors continuing to manufacture semi-compatible units even if/when Sony discontinued it themselves, periodically revving the platform (doubling the amount of memory here, providing a way to tap into higher clock speeds there) all while maintaining backwards compatibility such that you would be able to go out today and buy a brand new, $30 bargain-bin, commodity "PS2 clone" that can do basic computing tasks on it (in other words, not including the ability to run a modern Web browser or Electron apps), can play physical media, and supports all the original games and any other new games that explicitly target(ed) the same platform, or you could pay Steam Machine 2026 prices for the latest-gen "PS2" that retains native support for the original titles of the very first platform revision but unlocks also the ability to play those for every intermediate rev, too.