today at 3:23 PM
I don't know. There's suddenly so many decomps that run native (granted this post is about WebAssembly). Is there no concern about hidden malware? IMO it doesn't have the same level of trust and vetting that the emulator scene has. At least not yet.
today at 4:27 PM
The emulator scene could have all the trust it wants and it was still ruined 99% of the time by people downloading ROMs from the first sketchy site that gave them a file download. At least here what is made quickly by an LLM can have its source reviewed even more quickly by an LLM for a decent assurance. Age always helps though.
today at 9:11 PM
Exploiting an emulator through a ROM is significantly harder than inserting some malicious code into a binary.
today at 10:36 PM
You're thinking too much like an engineer who reads code all day.
What's actually happening is a 13 year old downloading Pokemon.rom.exe and clicking on it.
today at 8:36 PM
Open up the game console with ~ and type “tiananmen square 1989”. The Chinese operative monitoring your game will automatically disconnect.
today at 5:18 PM
I mean I’m kind of curious why you left this comment about WASM decomp, which is about as malware safe as one could possibly get!
today at 6:39 PM
Wow! You've done it, you found software that is impervious to malicious software!
today at 4:24 PM
I am already running NSA enabled and Chinese malw... ai agents on my PC with full access. As if it will make difference.
today at 5:10 PM
This security nihilism is probably the most relatable sentiment I’ve seen on HN in a while.
today at 8:59 PM
Is it still nihilism if you ran a proper risk assessment first?
today at 9:01 PM
It’s nihilism if you didn’t run a risk assessment at all because you know you’re already pwned.
today at 10:36 PM
What if, as a result of a risk assessment, I've learned that I'm already pwned? Nihilism or rationalism?
today at 10:51 PM
That’s the rationalism to nihilism pipeline in action.
today at 5:11 PM
It does make a difference.
The price of carelssness is too high of an irreversible lesson.
today at 11:52 AM
All of this recomp stuff is pretty amazing. I really don't like how AI changed my profession, but hey at least I get something good from it.
today at 7:14 PM
I really don't like how AI changed my profession, but hey at least I get my programming hobbies ruined too.
today at 9:34 PM
And it will make less sense for big publishers to invest in building great games if people are just going to be able to decompile and run them on their own hardware.
today at 10:17 PM
Big publishers have been pumping mtx riddled buggy crap for a good while now, I have no sympathy.
today at 10:11 PM
[dead]
today at 8:26 PM
Indeed. Programming feels so meaningless now, but at least we can replay cherished games natively. I'm doing a video game decompilation with AI as well.
today at 2:23 PM
same lol. but hey, ive been able to play the xbox 360 version of NFS most wanted perfectly on steamdeck in one press of a button due to the efforts of the fine folks working on these recomps so ill take a small win here and there. ive heard theyve also got the original forza horizon working too. so im stoked.
today at 3:33 PM
Here's a guy who put together this recomp of NFS the Xbox 360 version, running on the Steam Deck:
https://old.reddit.com/r/SteamDeck/comments/1x0vzyb/speedbre...
Forza Horizon recomp: https://github.com/arcanite24/pinyon-shift
More Xbox 360 projects here:
https://fangamesdb.com/consoles/xbox-360.html
today at 9:06 PM
There were already a couple of ways to play PS2 games though. Is it meaningful to put it in WebAssembly (especially when we were promised things like a cure for cancer [0])?
0 - https://www.theguardian.com/business/2026/sep/08/ai-cure-can...
today at 5:06 PM
No mention of AI at all in this repo.
today at 5:11 PM
Not explicitly but it's clearly all done using AI. Read the prose.
today at 12:23 PM
What about compiling the compiler to WebAssembly so it can be hosted anywhere and convert a project directly from a browser?
today at 12:48 PM
Mentioned in other comment, but this is what I did at https://github.com/cretz/vitaslop for Vita. Generic ARM-to-WASM transpiler.
today at 12:37 PM
yes, and its probably where this should go. The recompiler itself is plain C++ and builds for wasm easily, the heavy part is compiling its output (GoW2 becomes about 670k lines of Cpp), which would need clang running in the browser. The nicer route is to have the recompiler emit WebAssembly directly and let the browsers own engine compile it. I already do that for VU1 microprograms that were not seen AOT. It also solves distribution you'd pick your own ISO and the conversion would happen locally, so nothing derived from the game is ever hosted.
today at 9:45 AM
Who would want to play Gran Turismo without long CD loading screens?
today at 10:24 AM
A better question: who would want to play Gran Turismo 3 or 4 without pressure sensitive controllers?
Even using the original ps2 or ps3 controller with the right drivers on PCSX2 doesn't really reproduce the same smooth acceleration/brake curve of the PS2.
Playing them on a keyboard or fully digital inputs is just a miserable experience.
today at 10:55 PM
I wonder if it would be possible to build in support for keyboards with hall effect switches like the ones Wooting make. Those keyswitches are analog.
today at 1:29 PM
>Even using the original ps2 or ps3 controller with the right drivers on PCSX2 doesn't really reproduce the same smooth acceleration/brake curve of the PS2.
why not? if we're at the point of byte perfect recomp of system firmware+games, surely we could find a patch that would fix that in both pcsx2 or this project
today at 7:56 PM
I think the game is simply hardcoded with a sensitivity curve and deadzone specific for the Dualshock 2 pressure buttons on a regular PS2. Some third-party controls aren't too great to use with PS2 GT games, too.
Patching that is possible I guess, but it would also require setting up some sort of calibration in the game.
today at 8:39 PM
Most people I know use the DualShock 4 for PS2 emulation. All you need is to write a mapping for the DS3, 4 and 5 to the DS2 curve and you can cover a big part of the users.
today at 3:32 PM
Generic PS2-to-USB adapters ignore that part of the spec, so the PC doesn't receive these inputs at all. You'd need to build your own adapter out of Arduino or something.
today at 5:57 PM
There are two types of generic PS2 to usb adapters, the one designed for pc (usually has two ports) and the one designed for PS3. The PS2 to PS3 controller adapters work perfectly with the right drivers (DSHidMini on Windows).
today at 8:21 PM
Cool, didn't know that. I thought they've got rid of pressure sensitive buttons in PS3 already, not PS4. Thanks!
So apparently, to make pressure sensitive PS2 controller work in PCSX2, you need ShanWan PS2-to-PS3 adapter (or equivalent), DSHidMini, and set input mode to SDL. Since I lack both pieces of hardware, I can't test it myself. Or skip the middleman and get a PS3 controller, which is a better option anyway for several reasons.
today at 12:14 PM
Right analog should be accelerate and brake.
Analog buttons were always a bad idea and should never be used.
These days you can map analog triggers to the sticks for a modern experience if you want that.
today at 12:52 PM
> These days you can map analog triggers to the sticks for a modern experience if you want that.
It gets wonky if you press both analog triggers at the same time though. I've also tried mapping them to X and O to simulate the pressure, but the range is also somewhat off, with a way steeper curve (half pressing a trigger gives nearly 100% intensity of the OG buttons).
An alternate solution I've seen around is using a GMIX or similar devices and mapping the g29 wheel controls from the game to a modern Xbox/PS controller, but I've never tried it myself.
today at 5:35 PM
This is exactly how I play GTx as well as Tourist Trophy.
today at 2:15 PM
I think the ergonomics of right stick for that is horrendous, but aside from that, for a racing sim game, you're gonna need to be able to hit the brake and the gas at the same time.
today at 7:47 PM
It's just practice. I've been playing that way since GT1 so the ergonomics of anything else is awful to me.
today at 10:19 AM
wow, how awesome it would be to play those games with Trackmania-like reload-times (if you restart the race in Trackmania, you're immediately at the starting line again).
I assume it would require some additional patching in those GT / NFS games though...
today at 5:41 PM
Would save states suffice? Because that already exists.
today at 10:07 AM
Or without the very-much-needed hold-your-breath moment at startup, where you listen to the sounds to see if the DVD actually loaded correctly. You get a ~1 second moment in there where life itself suddenly stops, before you hear the "viump" that tells you everything is OK in the world.
today at 3:39 PM
PS1 was more fun. You could tell it's failing to load before it failed to load. Then you give it a good smack and it tries harder before giving up. You could get almost any game disc to play reliably in 3 hits or less.
today at 9:57 AM
That's easy enough to simulate, too, isn't it? Just pause the game manually at the right spots to make time to get up, make a sandwich, eat the sandwich, take the dog out, walk the dog around the block, and then use the bathroom before resuming. No worries.
today at 12:11 PM
ITYM "Who would want to play Gran Turismo" [Preparing...] <fwsssssssssss rrrmp fssswsss grmp fsswsss grmp fssswsss grmp> <ejects disc, polishes on T-shirt> <fwsssssssssssssssssssssss> "without long CD" [Preparing...] <aw no not again...> "loading screens?"
today at 11:38 AM
And you lose the acoustic error handling too: one seek noise meant resolve(), another meant reject().
today at 12:46 PM
I did similar for PS Vita over the past few months: https://github.com/cretz/vitaslop
But instead of single games, I "built" an ARM-to-WASM transpiler in WASM. Also cool transcoding of WebGPU shaders, audio, and more.
Only have tested a few games so far, it's early days, but works quite well in Chrome mobile on flagship Android phones.
today at 4:42 PM
- related thread:https://news.ycombinator.com/item?id=49991243 (God of War on PSP, recompiled to WebAssembly and running in the browser)
- might interest you, if you like the topic you're currently reading: https://thegamingemporium.com/recent/
today at 1:20 PM
With the slew of recomps these days enabled by AI, How much incentive is there for a game studio to pour their heart, soul and money in a product when it can be easily "stolen" and shared for free...
today at 1:25 PM
It's been 27 years since Napster. People are still making albums and movies. I don't think piracy moves the needle in any meaningful way, not with enforcement anyway.
today at 3:00 PM
Look at a graph of music industry earnings. Earnings peaked around 2000 mostly from CDs, before plumiting because of piracy and the transition to digital. To the people trying to make a living, it changed everything in every meaningful way. Sure enforcement happened eventually, but only after setting everything on fire and changing consumer expectations to be unaligned with artists actually making money for people listening to their music (foreshadowing). The industry has maybe only just recovered with streaming revenue, only for AI to come in like a wrecking ball again.
today at 10:58 PM
It also got insanely cheap to produce and distribute music.
today at 9:21 PM
How is this relevant to the game industry?
Sharing cracked PC games has been a thing since the dawn of the industry, yet it has continued to grow and thrive.
Console…maybe? But good Switch emulators have been around for years, yet Switch hardware and exclusive games that ran better-than-native under emulation continued to sell in record numbers, and Sony has always delayed the release of PC ports of PlayStation exclusive titles to ensure healthy console sales.
today at 5:27 PM
It looks like it's recovered to inflation-adjusted levels of the 1980s, while consumers have more music than ever before. Perhaps the percentage of the money going to large corporations is higher than before?
today at 3:25 PM
I think it's still debatable whether piracy was the sole cause, or if it was a watershed moment for all the problems that already existed long before napster.
The internet sparked interest in independent music, artists had been fed up for a long time regarding earnings, and the music being made by the big labels was already pretty lackluster by this point in time.
today at 4:32 PM
The music industry is a racketeering front; they sabotage themselves.
If they actually embraced the digital era of mp3s rather than throwing lawsuits at the problem they would of been on top.
Music should be free, however these dinosaurs are stuck in tar and will continue to sue, hoard and milk their old ways restricting innovation and progress.
No sympathy for any of the wet teabags in the music industry.
today at 1:40 PM
People who want to support a game studio will buy the game anyway. People who do not want to support the studio will pirate the game anyway. It's the same reason why piracy does not matter at all, those people weren't going to pay for your game either way.
today at 3:58 PM
If GTA6 shows up for free in a web browser day one, it will for sure hurt sales. Not sure how anyone could argue otherwise: people are paying to play GTA, not paying to support Rockstar. These older games though, I agree with you.
today at 5:05 PM
I don't think that's true. I'm contemplating buying a Switch 2 just to play the new Zelda remake. But I might also now just play an upscaled emulation of the old game or even perhaps a recomp of the remake if it gets made fast.
Aka lost sales.
today at 3:59 PM
Relying on support / the kindness of strangers is quick way to financial ruin. It's about providing a service / product that has value that consumers will, if forced to, pay for.
today at 4:37 PM
Video game piracy isn't new and indie games have always been trivial to pirate. In fact a lot of indie studios opt to put their catalog up on GOG, which is a famously DRM-Free store.
today at 1:45 PM
I don't understand this framing of recomps using the word "stolen". For most games the hard part and the valuable part is not "writing the code", it's everything else.
today at 2:11 PM
I think it's less that recompilation is stealing the code, and more that it is a piece of the puzzle to 'stealing' the game experience (the thing that you would pay for).
Emulators + ROM is one way to do that. Recompiling from the ROM is another. I think that for most people, your stance on if emulating is stealing or piracy, will well-predict how you feel about recompilation tools.
today at 4:14 PM
In what world would emulation (i.e. product compatibility) be stealing or piracy? In a functioning market, we would have e.g. a Steam Machine advertising fully supported PS5 compatibility (and PS4 and PS3 and PS2 and PS1 and Wii and Gamecube and N64 etc. etc.), or a Legion Go advertising Switch compatibility. We should all want competition. You shouldn't need to purchase an overpriced crappy handheld to play specific titles when a better, cheaper one could do it just as well.
I swear gamers have the most insane Stockholm syndrome. It's super common to see them say that it's a problem that there aren't enough "exclusives" for a console. Like, dude, the problem is that the console sucks next to its competition. You shouldn't want product tying to try to make you buy it. They're literally all just branded commodity computers that are locked down to tie purchases (an illegal, anti-competitive practice) at this point. This was already litigated multiple times 20-30 years ago and the big companies consistently lost every case. Sega even lost a case where a company displayed the message "PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD" for a game that Sega had not approved because it was required for the console to boot, and they couldn't try to use trademarks to stop someone from developing for their console.
today at 1:28 PM
The incentive will always be there for games that build an organic community. Good examples are a lot of Valve games.
today at 4:15 PM
I mean, how much incentive is there to buy when the studios won't let you legally purchase from them, or at best don't actually consider it a purchase when they do?
Especially when, for games of this age, we're talking about going through the secondary market, and paying potentially hundreds of dollars for a physical copy, without the creators seeing a dime of that transaction to begin with.
today at 5:07 PM
No mention of AI at all in this repo.
today at 1:28 PM
Because good stuff will defend itself regardless. If Pratchett or Carlin was alive, I would still be waiting for his new stuff.. maybe even more so in the age of AI. Hell, I am doing a ton of personal projects now and I am still waiting for new divinity, because by know I trust them to do the stuff right. And this is the point: no more corporate slop! All hail AI slop. Second golden gaming age is upon us brothers!
today at 4:10 PM
The market doesn’t want them to invest half a decade to a decade into games anyway
Anything that shows its no longer worth it will accelerate that industry using newer tools to make games faster with multimodal language models powering audio, voice, asset generation, rendering as well as agentic workflows for the manual work humans would still be involved in
right now, AAA studios won’t do it and their audiences wont want them to do it, but any dedicated indie developer that would have never hired the teams of people needed for those aspects can do it. a nearby parallel reality where AAA do it based on no ability to protect high valued IP now looks closer with the decompilation route
today at 1:34 PM
[dead]
today at 6:22 PM
> This is the sibling of psp-web-recomp and follows the same method
Fucking amazing that this person can prompt to embed an emulator into a binary and call it "no emulation recompilation" and get not one but two threads on the front page. LLMs are such an amazing tool for liars to produce upvotable slop, nobody gives a fuck about verifying whether the claims are true.
today at 2:56 PM
Very cool! I'm working on something similar but am taking it much slower with a focus on accuracy. Mine recompiles into Golang to take advantage of built-in SIMD support.
I've been building the tooling around the PS2 binaries and hope to have a standalone PSS player out soon that can play PSS files as they are encoded, via simulated renderer, and via in-game engine renderer. The future is so bright with LLMs!
today at 10:57 AM
ah yes, another recomp that still emulates a core system component.
https://github.com/snuri00/ps2-web-recomp/blob/1066c9eea78c2...
today at 12:28 PM
It's really getting annoying. There are a lot of people advertising "decompilations" and "native PC ports" that just turn out to be the emulator packaged into an exe that immediately runs the game... Makes it hard to find actual recompilations of games now.
today at 1:40 PM
[dead]
today at 1:18 PM
This is how you know that most coders that use claude never read the code, nor their own READMEs.
today at 6:29 PM
funniest one I found so far was "accurately recreated the hardware in software so it's running natively" :P
today at 12:01 PM
Theres a lot of lying going on with these types of AI projects. What I want to see is more 100% matching decompilation so that people who dont use AI can modify the rendering eyv glue and port them to new platforms
today at 12:48 PM
I would say it could be less lying and more the various "authors" having not even the slightest idea what their creations actually do.
today at 1:06 PM
I don't see a difference tbh. The Human/AI cyborg knows what it is and is lying.
today at 1:18 PM
This is exactly the approach we've been taking with Metal Gear Solid. We’ve been working on a fork of mgs_reversing (which is targeting 100% matching decompilation of MGS Integral) to bring the game natively to microcontrollers: https://github.com/davidmonterocrespo24/mgs_reversing
Instead of high-level emulation, the decompiled C source is compiled directly to Xtensa machine code for the ESP32-S3. We replaced the PlayStation SDK/GPU/GTE with custom software routines, running on a DIY handheld built around a Seeed XIAO ESP32-S3 Sense.
To speed up development without constantly flashing hardware, we run the compiled firmware image directly inside a browser-based hardware simulator CLI (velxio-cli) to verify serial outputs and execution in seconds.
Having 100% matching C code makes native ports to embedded platforms completely feasible without relying on heavy JIT/interpreter glue.
today at 11:27 AM
its still under development, system components will compile to cpu and VU1 modules will translate to gpu shaders
today at 12:15 PM
Fair point, the IOP is interpreted. Its the PS1-class I/O CPU, and here it only runs the driver modules a game ships on its disc (sound engine, pad, memory card). The IOP kernel and the 20 core Sony libraries are reimplemented natively. In a God of War2 fight that interpreter is about 2% of cpu time, so it hasnot been worth recompiling yet for me. Its the same relocatable module problem i already handle for SN systems overlays, so its on the list. The EE game code is fully recompiled AOT (a missing function is a hard error, there is no interpreter fallback), and VU1 microprograms are recompiled per game, with a JIT and an interpreter only for programs not seen before. Whats left is hardware; the GS runs on the GPU, plus DMA, VIF, SPU2 and CDVD. Every recomp has to model that part, the same way N64Recomp uses RT64 for the RDP as i checked.
today at 5:32 PM
Thanks for clarifying, Claude.
today at 3:24 PM
I wonder how "legal" hosting this would be given that it would require the host to basically distribute the game for free for everyone else
today at 7:58 PM
Actually, it's more grey area than you think. See 'interoperability exception'. It does break copyright and EULAs however.
today at 3:27 PM
As legal as archive.org collection of DOS games playable in browser, by which I mean not at all. But defunct game studios rarely sue.
today at 3:31 PM
i actually developed the project to play my own game dumps remotely via VPN from my home server; making it publicly available is not legal and will be consequences:)
today at 3:36 PM
Pretty cool stuff. Seems like the web build script isn't escaping spaces in the game name.
today at 3:45 PM
Thanks for pointing this out! i found the issue and fixed it
today at 1:39 PM
This is good, I didn't know 3DS could handle PS2 emulation.
What's the performance like on heavier titles?
today at 1:28 PM
I will wait for MVG video
today at 11:44 AM
AI or no AI, this is amazing.
today at 2:20 PM
Does this means same can happen for ps3?
today at 3:44 PM
I won't be surprised if we see mention of this by the end of 2026.
today at 9:48 PM
this is sick
today at 5:39 PM
Recompiling PS2 games to WebAssembly is insane. Have you noticed any major performance bottlenecks when running heavier titles in the browser?
today at 5:56 PM
the GS was the biggest one, i emulate it in WebGPU compute shaders, and texture sampling alone takes about a third of the GPU time, so at 2x GoWw is gpu-bound on an integrated gpu. On the cpu side, VU1 microcode and the GS front end each take roughly a quarter of the time, so both run on their own threads. another one was synchronous GPU readbacks in GT4, and about a thousand tiny effect draws per frame in GoW2 combat batching and caching fixed most of them, and it holds 60fps at native resolution
today at 6:15 PM
[flagged]
today at 10:45 AM
No GitHub pages so I can play?
today at 11:19 AM
The games themselves are copyrighted, no?
today at 11:35 AM
Yes they are, and Cloudflare gets DMCA requests to take them down.
today at 4:14 PM
When a recompilation of Windows free from all the Microsoft slop?
today at 3:57 PM
Did Sony know ahead of time?
Physical disc production ending in January 2028
https://blog.playstation.com/2026/07/01/physical-disc-produc...
today at 1:23 PM
are there clean-room games?
today at 5:53 PM
But you can't clean room the art and assets.
today at 10:27 AM
VERY cool. I wish you could make this work for steam deck (and friends) though.
today at 10:55 AM
Why would you want this to work on a dedicated gaming device that can emulate the titles outright?
Have a look at Decky loader and Emudeck.
today at 2:09 PM
I guess it might be a nice way to distribute homebrew PS2 games in a platform agnostic way
today at 4:04 PM
Power efficiency.
today at 11:12 AM
Can't get decky loader to work on my (Lenovo) steam deck
today at 11:15 AM
You can definitely still get PCSX2 working on it though, and it's fantastic. PS2 and PS3 games are among my favourite uses for handheld PCs.
today at 11:45 AM
What's a Lenovo Steamdeck?
today at 12:49 PM
From an ars technica review of the steam deck "friends", a portable device that is way ahead of the actual steam deck, specs wise, but since it runs plain unmodified windows is a pain in the ass to use as a portable :)
today at 1:04 PM
https://www.lenovo.com/us/en/p/handheld/legion-go-s/83n6000g...
there's an actual sku of one lenovo handheld that officially runs SteamOS, i assume that's what GP is referring to
today at 1:18 PM
Ohh that's new. I stand corrected then.
today at 7:58 PM
You can install steam os (now even the Valve version) and that just works.
today at 12:45 PM
There is already a native Linux build (Vulkan through wgpu, SDL2 window, audio and gamepad support), so it can run on the Deck as a non-steam game, and the browser build should work in desktop mode too. Two things are missing, the native host still runs on one thread (the VU1 and GS threads only exist in the web host so far), and since i cant distribute anything built from a game, you currently have to convert your own ISO on a PC. Decks GPU is less than half of the laptop iGPU i test on, so 1x resolution is the realistic target for now.Please keep an eye on the repo update, i'll release the relevant update for u.
today at 9:38 AM
I hope they'll be able to do that with Forza too !
today at 10:26 AM
On the PSP recomp, I wish they could somehow target GL 2.1 video cards (ancient Intel iGPU's) so legacy users like me could play most of the games on an n270 netbook.
today at 11:22 AM
Man, the netbooks were amazing for their time, but even by 2008 standards, they were not powerful computers.
At the time you needed a fairly capable gaming PC for PS2 emulation, which is a far cry from the igpu in an atom. Given a PSP is basically a cut down PS2, I don’t think emulation on that calibre hardware is an achievable goal. An atom doesn’t even have a hardware programmable vertex shaders, on windows I don’t even think they had GL 2.1.
I never thought I’d see the day where an atom would be vintage tech, and people would still be rocking said vintage tech. It’s amazing you’ve kept it running and usable. Modern PCs can’t even keep up with modern OS, and you’re still rocking the good old days of single core single thread. Rock on!
today at 1:46 PM
'Recompiled' is not the same as emulated by any stretch. Native PSP games could perfectly run under an Atom if they used SSE2 instructions and GL 2.1 plus some hacks to mimick some FX (or just some reduced graphic settings).
I've got GL 2.1 running under n270 perfectly well, up to the point to test Yandex Maps to roam around Prypiat.
Even for emulation PPSSPP was far less demanding than PCSX2.
today at 11:58 AM
I used to play GTA San Andreas on an n270 netbook, I believe at 1024x600. Didn’t run well, but was definitely playable.
today at 12:20 PM
Sounds like the epitome of amazing for its time but not a powerful computer.
today at 11:57 AM
I agree with the sentiment, however it needs to be at least OpenGL 3.3, and take advantage of shaders.
today at 12:05 PM
GL 2.1 supports shaders.
today at 12:07 PM
I know, but it still has lots of baggage and missing features, which is why game engines that support OpenGL tend to target OpenGL 3.3 as the minimum baseline, given that it used to be widely deployed.
today at 12:22 PM
But we're talking about AI generated code here, it shouldn't have any difficulty supporting the older API if it has the necessary features. For PS2 games I think GL 2.1 (or GL ES 2.0 or WebGL 1 which are all more or less the same thing) is largely sufficient.
today at 1:02 PM
Yeah, but I am speaking about what the hardware can do, also I don't see why target WebGL 1.0 in the days of WebGPU, WebGL 2.0 yes, because WebGPU isn't yet widely available.
Now, OpenGL ES 2.0 isn't OpenGL 2.0, this is the trap of those that think OpenGL is the same everywhere.
Also OpenGL 3.3 is from 2010, whereas OpenGL 2.1 was designed for 2006 hardware, how back you want to get?
today at 1:21 PM
> also I don't see why target WebGL 1.0 in the days of WebGPU, WebGL 2.0 yes, because WebGPU isn't yet widely available.
Because not every hardware capable of running PS2 level games supports the newer APIs.
> Also OpenGL 3.3 is from 2010, whereas OpenGL 2.1 was designed for 2006 hardware, how back you want to get?
Doesn't matter how old it is, what matters is if it has the required features or not. For the use case being discussed, GL 2.1 is sufficient so there's no good reason to not target it. That's my philosophy at least. When I write code, I always use the oldest library or API that has the stuff I need. I don't just go automatically for the latest one.
today at 5:00 PM
No webgl, SDL2/3 + OpenGL 2.1 can be enough to run most PSP games well if some of the FX's are reduced down or replaced.
today at 10:38 AM
I don’t think it’ll happen. The market is too small, and the token costs don’t seem worth the potential upside.
today at 12:07 PM
What do you mean by token costs? Does it cost more tokens to support an older graphics API than a newer one?
today at 12:42 PM
Yes, because it would not be an "or" but an "and", more features = more tokens.
today at 1:16 PM
It's not an "and". GL 2.1 has all the features necessary for PS2 games and is still supported on modern systems. Older APIs may be slightly more verbose than newer APIs but that shouldn't matter to an AI.
today at 7:26 PM
Verbose = tokens.
Newer APIs are also more flexible, making fewer assumptions about how things in the pipeline should run. E.g. the way a buffer clamps or overflows compared to the PS2 may be hardcoded in OpenGL 2.1 meaning you have to write emulation of that feature inside the older API to then run the code to emulate the buffer. In OpenGL the shaders types are limited in this manner, in WebGPU you can just use arbitrary compute shaders instead of having any assumptions at all about the rendering pipeline.
There are tradeoffs to selecting the older APIs just as there are tradeoffs selecting the newer APIs. Generally, the latter is easier on the implementation side for emulators.
That doesn't necessarily stop you from pointing an LLM at it and getting a working WebGL 1 version of course, it's just not a universal answer to "how should someone spend their tokens.
today at 11:08 AM
[dead]
today at 10:15 AM
[dead]
today at 7:10 AM
today at 3:31 PM
[flagged]
today at 3:29 PM
[dead]
today at 3:43 PM
[flagged]
today at 7:01 AM
Impressive. How are you handling the PS2’s timing sensitive hardware, like the vector units, in a static recompilation? Curious how close you can get to correct behavior without emulating cycle by cycle.
today at 12:52 PM
Thanks:) it isn't cycle-accurate, and for the games i have tried so far it hasnt needed to be. EE code is translated AOT, and each block subtracts its instruction count from a cycle budget. Interrupts, timers, DMA and vblank are events on one emulated clock, delivered at block boundaries, so the order is right and the timing is approximate. Most games sync on interrupts and semaphores rather than cycle counts. When one does depend on timing, it shows up as a specific bug i can fix.for example, ran off an HBLANK timer I had set to the PAL period on an NTSC game. VU programs are not really part of the executable; games upload them over DMA. So i record each microprogram the first time its uploaded and compile it aot, and in the browser i JIT any program i havent seen to wasm. The pipeline details games actually observe are modeled: MAC/status/clip flags become visible four instructions late (getting that wrong put blotches on GT4s cars), and PS2 floats, which are nott IEEE (no inf/NaN, clamping instead), are done bit-exact. VU1 runs on its own thread, synced to the EE through the VIF/GIF streams
today at 4:30 PM
Are you sure about bit-exact floats? Can you show where Booth's multiplication is done?
today at 5:36 PM
[flagged]
today at 7:56 AM
[dead]
today at 3:28 PM
[dead]