SNES De-blur

Home Forums OSSC OSSC – Feature Requests SNES De-blur

This topic contains 4 replies, has 3 voices, and was last updated by  paulb_nl 2 months, 3 weeks ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #8206


    I have made a page where you can see the de-blur in action. You can use the sliders to change the lpf value to see how it looks.

    It works by using the current pixel and previous pixel to calculate the original pixel using a generic low pass filter function.

    On the 256×240 optimized mode capture it works very well. It also works on generic linetriple but the capture had noise that also gets sharpened.

    It would be a nice feature for the non 1-CHIP consoles. 🙂

    snes de-blur



    I think this would be possible but would require a lot of work.



    I think the tricky part will be the reverse lpf formula because I have read that division is difficult to do on a FPGA. This is the formula I am using:

    originalData = PrevData - ((PrevData - Data) / lpfValue)

    I could change it to multiplication with a lookup table for the different lpf values if thats needed.



    Floating point division on Cyclone IV would be slow but probably sufficient for 5.37MHz pixel clock when using 256×240 optimized mode with SNES/NES. That could be tested after getting more important/generic features out the way.



    Ok thanks. I have updated the page with a faster multiplication version just in case if division would be too slow for normal linedouble or generic linetriple mode.

    a = (PrevData - Data) * lpf_values[lpfv];
    b = PrevData * 100;
    originalData = ((b - a) * 656) >> 16; // (b - a) / 100
Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.