esp_8_bit icon indicating copy to clipboard operation
esp_8_bit copied to clipboard

What is the resolution & color depth?

Open bootrino opened this issue 4 years ago • 5 comments

Hello,

I wrote a comparison of esp32 video solutions here: https://www.reddit.com/r/esp32/comments/gpezk3/feature_comparison_of_esp32_graphics_sound_game/

I wonder would you mind confirming please, what is the maximum resolution that your solution can do for each of PAL & NTSC? Also what is the color depth?

What is the maximum resolution that you think your solution could do, presuming you are not already pushing it to the max?

As a side question, can you indicate what plans you have from here for this software?

thanks

bootrino avatar May 29 '20 23:05 bootrino

The Atari emulation runs at 336x192. Hardware/Software is capable of color up to 720x576 for PAL, 640x480 for NTSC. DAC resolution x phase x saturation =~ 16k colors.

Running the DAC at the highest rate (20Mhz) in grayscale yields 2048x480 or 2048x576 at 64 levels of gray.

rossumur avatar Jun 01 '20 14:06 rossumur

Planning on adding emulation for other devices, native gaming apis, videos streaming etc.

rossumur avatar Jun 01 '20 14:06 rossumur

Just to confirm - are those resolutions theoretical maximums or actual maximums you've tested and seen working with your software/hardware? i.e. you've seen 720x576 PAL and 640x480 NTSC actually working with esp32? Would you mind helping me understand please .... I imagine you'd need more RAM for such resolutions? Or perhaps you have created just a pattern to demonstrate the higher resolutions, or text only mode or something?

One of the most intriguing ideas that came to mind when I saw your PAL/NTSC solution is you could effectively make the esp32 a very cheap graphics/TV controller/coprocessor. So for example you could have a retro/new machine like an eZ80 CPU that includes an esp32 on the same PCB board as the graphics/wifi coprocessor connected via SPI. Or really any other CPU that needed a TV display controller.

Great work. Looking forward to seeing where you take it.Love to see more YouTube videos of the higher resolutions.

bootrino avatar Jun 01 '20 15:06 bootrino

You don't need a full frame buffer for 720x576, 640x480, 1280x480 etc Arduinocade did 480p with a total of 2k of RAM in the system: https://www.youtube.com/watch?v=nGIujZiEu_o Tiles / Sprites, RLE, sorted lines give you plenty of flexibility without requiring a frame buffer. Even full 3D works if you use character sets.

You could easily do a nice 160 column display with antialiased monochrome fonts, for example. The character frame buffer would be <10k.

On Mon, Jun 1, 2020 at 8:22 AM bootrino [email protected] wrote:

Just to confirm - are those resolutions theoretical maximums or actual maximums you've got from your software/hardware? i.e. you got 720x576 PAL and 640x480 NTSC with esp32? Would you mind helping me understand please .... I imagine you'd need more RAM for such resolutions?

One of the most intriguing ideas that came to mind when I saw your PAL/NTSC solution is you could effectively make the esp32 a graphics controller/coprocessor. So for example you could have a retro/new machine like an eZ80 CPU that includes an esp32 on the same PCB board as the graphics/wifi coprocessor connected via SPI. Or really any other CPU that needed a TV display controller.

Great work. Looking forward to seeing where you take it.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rossumur/esp_8_bit/issues/2#issuecomment-636920451, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADQUSIA2B4PFX3XLCKB5K3RUPBURANCNFSM4NONNOEQ .

rossumur avatar Jun 03 '20 15:06 rossumur

Sounds really awesome. I love programming like this - it's magic.

Hopefully you'll put up more videos showing some of these things in action.

bootrino avatar Jun 04 '20 05:06 bootrino