Sunday, May 6, 2012

SuperMax32 returns!

The good folks at Digilent has now finally released a SD-card library that is useful, so I can now read more than ten frames of data before the Max32 crashes. This means I'm good to go with animations!
I have already loaded up a quick animation that runs rather nicely (shots from it in the previous post) but my cellphone once again lets me down so you'll have to do without video evidence...

The downside is (unrelated to animations) is that there's some bit-packing (or unpacking) artifacts going on so that every 1000'nd pixels or so remains unlit. I've not investigated this but I believe it's probably a typo somewhere in the bit-unpacking code as it is not apparent in the unpacked files.
But the unpacked animations run at 14 fps compared to around 35 fps of the packed, so unpacked data is not an option.

Once you go 35 - you never go .... back.


  1. with the increase in the lightning of the pixels, how many shades do you think you get out of the DMD? I guess using the 80mhz pic32 chip..

  2. If I recall correctly I had around 30 shades successfully as long as I only relied on the internal memory of the PIC32 chip.
    However - the SD card is much slower. So I made the decision to bring the framerate down to a level where the SD card can keep up.
    With bitpacking I let every pixel have 3 bits (i.e 7 shades + off) and I read every animationframe over 3 display frames (each frame a total of 1536 bytes.
    So I got around 95-100 Hz refreshrate and animationdata at 30 FPS, which is plenty.

    If I wouldn't let the SD card decide the speed, the display brightness would drop every time something is read from the SD card, causing annoying "flickering".
    This is because the display must be fed continuously with new data - even if nothing has changed in it - or else it goes blank.
    With a FPGA for instance, I could "preload" the FPGA with data and it would continuously draw what's been given to it until told otherwise.

    7 shades of color + off ("black") is actually a lot of colors when you got only 128x32 to work with and monochrome on top of that. Of course it requires a little creativity with the animations to create depth in the image, but from what I can tell it looks awesome with 7 colors. The old games used 4, remember? :)