kbeckmann / PicoDVI-N64

Digital N64 Video and Audio over Bitbanged DVI
BSD 3-Clause "New" or "Revised" License
180 stars 13 forks source link

Full N64 color space and resolution with the just announced Pico 2? #9

Open M-Reimer opened 3 months ago

M-Reimer commented 3 months ago

I wonder how much work it would be to port this over to the new Pico 2. https://www.raspberrypi.com/products/rp2350/

The Pico 2 has built-in 520 KiB RAM. This is nearly double what the first Pico came with.

Currently PicoDVI-N64 works with a 320x240 internal framebuffer with up to rgb565 color depth.

The N64 can output up to 640x480 with rgb777.

Is it feasible to actually handle 7 bits per color? This would mean that each pixel consumes 21 bits which does not fit into the 8 bits raster. Assume this is possible and we only want to support 240p content. This would result in 395 KiB memory usage and so could fit into the Pico 2 RAM.

And then I found this one: https://shop.pimoroni.com/products/pimoroni-pico-plus-2 The new RP2350 seems to have external RAM support and this variant comes with 8MB of additional RAM. So the full sized frame buffer should fit with ease.

So long story short: I don't know if it would be possible at all but if this project can be extended to full color space and resolution, this would be a really interesting low cost HDMI mod. Currently (in my opinion) it is a nice demo to show what is possible with the RP2040 but the native resolution of the N64 already is not that great on big HDMI screens. Further limiting this doesn't really improve things.

M-Reimer commented 3 months ago

https://m.youtube.com/watch?v=kQzxHdXNY6g Maybe Adafruit will also provide software for this.

jmferrete commented 2 months ago

The N64 can output up to 640x480 with rgb777.

+1

I would love to see if this is possible with Pico 2!

GK6475 commented 1 month ago

The N64 can output up to 640x480 with rgb777.

Yeah, it'd be awesome to have full color output. Also, a switch to select between 640 and 320 modes depending on the content would be nice. And, a native 320x240 output mode would be great for scalers such as the RT4K and the OSSC Pro to achieve lagless integer scaling to 4K. I would also suggest implementing a 192KHz audio mode for better quality if possible with the Pico 2.