PICO4K by yrlf
screenshot added by yrlf on 2022-09-10 23:21:44
platform :
type :
release date : september 2022
release party : Function 2022
compo : wild demo
ranked : 6th
  • 9
  • 1
  • 0
popularity : 45%
  • 0.90
alltime top: #23849
added on the 2022-09-10 23:21:44 by yrlf yrlf

popularity helper

increase the popularity of this prod by spreading this URL:

or via: facebook twitter pinterest tumblr


Platform thumb.

Now, with Pico entering the scene, perhaps Raspberry Pi category should be subdivided. :]
rulez added on the 2022-09-11 00:43:17 by ham ham
interesting platform, nice firstie, scrollers are more readable when they go the other way though ;)
rulez added on the 2022-09-11 02:30:30 by psenough psenough
what psenough said :D
rulez added on the 2022-09-11 06:47:50 by sensenstahl sensenstahl
Nice! :)
rulez added on the 2022-09-11 12:46:04 by sysPanda sysPanda
PICO4K is the first 4K (or smaller) prod on the Raspberry Pi Pico that actually achieves Audio and Video output.
(congratz to Mandelboot for making the first UART 256byte though)

The pico's SoC, RP2040, has a dual core Cortex-M0+ armv6m CPU running at 125MHz (SDK default clock), but can be overclocked a whole lot (easily to 250MHz, some have gotten it up to 300 or 400).

PICO4K is packed with a new exomizer-based packer (also released with the GitHub source archive) called picopack that lives in the first 256 bytes of flash and decompresses the rest of the intro into RAM. picopack is capable of packing and loading multiple parts, but only one part is used in this 4K.

After unpacking, PICO4K initializes clocks, gpio, pio, pwm, dma, interp, and irq via a custom initialization list format that saves useless load/store instructions and compresses better.

Core 0 runs the twister render in its main loop, and does VGA timing fifo refill and per-frame logic (VSYNC irq) in irq.
Core 1 runs the text scroller render in its main loop and does audio buffer refill in irq.

The twister is rendered out scanline by scanline with no framebuffer, while the text is rendered to a single 1bpp framebuffer. Text and twister are overlaid using hardware enable bits in the PIO.

Audio is synthesized into a ring buffer that is continuously DMA'd at 48kHz into the PWM unit with periodic interrupts when the audio ring buffer is half empty.
added on the 2022-09-11 23:15:26 by yrlf yrlf
VGA rendering is inspired by and similar to the pico_scanvideo library from pico-extras, but rewritten completely from scratch to use my init list format (iovec).

PWM audio is done completely from scratch, with 100% partycoded shitty audio synthesis.

All library parts made for this prod are absolute hack and probably not very developer-friendly, but can definitely be improved to have a better developer interface.
added on the 2022-09-11 23:21:02 by yrlf yrlf
Thank you all for the absolutely awesome comments!
added on the 2022-09-11 23:24:48 by yrlf yrlf
Love it! Moar pico prods plz
rulez added on the 2022-09-12 13:56:31 by fuzxxl fuzxxl
Moar pico prods plz

Oh there'll definitely be more
added on the 2022-09-12 14:46:27 by yrlf yrlf
I love microcontroller prods. Btw a new "microcontroller" category would be nice on Pouet.
rulez added on the 2022-09-13 11:52:06 by Antiemes Antiemes
Nicely done!
rulez added on the 2022-09-18 14:14:01 by tifeco tifeco
Platform and effort thumb ! Thanks for the explanations !
rulez added on the 2022-09-18 23:13:41 by Kuemmel Kuemmel
Sick! Really amazing effort.
rulez added on the 2023-08-15 01:41:38 by juvi juvi

lists containing this prod

submit changes

if this prod is a fake, some info is false or the download link is broken,

do not post about it in the comments, it will get lost.

instead, click here !

[previous edits]

add a comment