Servo is now passing 1.9M subtests at wpt.fyi: 1,903,187 / 2,131,264 (89,3%) 🎉
See https://wpt.fyi/results/?product=servo
“nippu - does one thing right”
https://codeberg.org/jarkko/nippu
I just need something simple and stupid as it is quite often :-)
I.e.,
#include <stdio.h>
#include <nippu/nippu.h>
int main(void)
{
const struct nippu_node *node;
const unsigned char *data;
if (nippu_lookup(&assets, "/hello.txt", &node) != NIPPU_SUCCESS)
return 1;
if (!nippu_is_file(node))
return 1;
data = nippu_data(&assets, node);
fwrite(data, 1, (size_t)nippu_size(node), stdout);
return 0;
}
I’ve had so much fun with the 486 SX-33 lately that I haven’t even touched the Switch 2 I got over the weekend.
I’m putting together a devkit for the MiSTeR FPGA ao486 core, and more generally an environment for retro game and demo-style projects. Toolchains in this space have been fairly grim so far: DJGPP, Turbo C++, or Watcom C/C++.
AO486 DEVKIT0x66 and 0x67 prefixes used for 32-bit instructions already eat into performance on what is still a fairly modest CPU. The pipeline is only 16 bytes long.486.md covers 486-specific assembly optimisation details. In practice, it is quite a different beast from either a 386 or a Pentium. This is the sort of material that is fun to read on its own, so it felt worth writing.tmodplay, a MOD player. Unfortunately, the Sound Blaster 16 implementation in ao486 is pretty awful. For that era of PC hardware, the only really good option was the Gravis Ultrasound.I’m not really a game or demo developer myself, but I can at least provide much better SDKs, so I felt like fixing one long-standing problem in the retro scene. It is released under the MIT license so people can do whatever they like with it.
I should also check whether that FPGA core supports VESA 2.0, because that would allow 320x240 with chunky pixels. VESA 1.x was awful.