upvote
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!

reply
'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.

reply
I used to play GTA San Andreas on an n270 netbook, I believe at 1024x600. Didn’t run well, but was definitely playable.
reply
Sounds like the epitome of amazing for its time but not a powerful computer.
reply
I agree with the sentiment, however it needs to be at least OpenGL 3.3, and take advantage of shaders.
reply
GL 2.1 supports shaders.
reply
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.
reply
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.
reply
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?

reply
> 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.

reply
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.
reply
I don’t think it’ll happen. The market is too small, and the token costs don’t seem worth the potential upside.
reply
What do you mean by token costs? Does it cost more tokens to support an older graphics API than a newer one?
reply
Yes, because it would not be an "or" but an "and", more features = more tokens.
reply
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.
reply
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.

reply
[dead]
reply