If you have an Adafruit Fruit Jam, you can run the demo on that board [1]. It can stream 640x480 video off an SD card at 60fps, as well as display a static image from flash.
Also possibly of interest to HN, the decoder[2] is written in a new low level language called symbolasm[3], which seeks to combine the advantages of assembly language (it's possible to reason about and optimize performance with few limits) with some of the affordances of C, especially named variables and struct fields.
[1]: raphlinus/vic-2350
[2]: github.com/raphlinus/vic-2350/blob/main/image.sy
[3]: raphlinus/symbolasm
The RP2350 can do full motion video playback
2 points
Did you know that an RP2350 microcontroller chip can output 640x480 video at 60fps? If you've got a Fruit Jam, try the demos at raphlinus/vic-2350 (the v0.1.0 release has the video assets).
A lot of stuff came together for this demo, including inventing a new image compression scheme and
7 likes · 4 reposts
I notice that assembly language is not on this list. I've been working on a modern syntax for assembler, with C-like types[0], something of a successor to qhasm. I've written a race-the-beam renderer[1], which is a good fit because of its incredibly tight performance constraints. I've been doing a combination of coding by hand and Opus 5.5. Anecdotally, I find Claude can code in it just fine, something I'd like to make more quantitative.
Dan Luu has done that kind of evaluation[2], and found that LLMs do well in a range of languages, but do underperform in assembler. My hypothesis is that expressing programmer intent clearly, and having the compiler verify things like consistent placement of variables in registers, will fix the problems that hold LLMs back.
This has been a hobby project, but it feels ready to break containment. I'm open to a research opportunity where I'd be able to work on it for real - get in touch.
[0]: raphlinus/symbolasm
[1]: raphlinus/vic-2350
[2]: danluu.com
Mentions
If you have an Adafruit Fruit Jam, you can run the demo on that board [1]. It can stream 640x480 video off an SD card at 60fps, as well as display a static image from flash. Also possibly of interest to HN, the decoder[2] is written in a new low level language called symbolasm[3], which seeks to combine the advantages of assembly language (it's possible to reason about and optimize performance with few limits) with some of the affordances of C, especially named variables and struct fields. [1]: raphlinus/vic-2350 [2]: github.com/raphlinus/vic-2350/blob/main/image.sy [3]: raphlinus/symbolasm
The RP2350 can do full motion video playback
Did you know that an RP2350 microcontroller chip can output 640x480 video at 60fps? If you've got a Fruit Jam, try the demos at raphlinus/vic-2350 (the v0.1.0 release has the video assets). A lot of stuff came together for this demo, including inventing a new image compression scheme and
I notice that assembly language is not on this list. I've been working on a modern syntax for assembler, with C-like types[0], something of a successor to qhasm. I've written a race-the-beam renderer[1], which is a good fit because of its incredibly tight performance constraints. I've been doing a combination of coding by hand and Opus 5.5. Anecdotally, I find Claude can code in it just fine, something I'd like to make more quantitative. Dan Luu has done that kind of evaluation[2], and found that LLMs do well in a range of languages, but do underperform in assembler. My hypothesis is that expressing programmer intent clearly, and having the compiler verify things like consistent placement of variables in registers, will fix the problems that hold LLMs back. This has been a hobby project, but it feels ready to break containment. I'm open to a research opportunity where I'd be able to work on it for real - get in touch. [0]: raphlinus/symbolasm [1]: raphlinus/vic-2350 [2]: danluu.com