Menu

Nintendo 64 De-blur

Home Forums OSSC OSSC – Feature Requests Nintendo 64 De-blur

This topic contains 32 replies, has 7 voices, and was last updated by  marqs 2 weeks, 6 days ago.

Viewing 15 posts - 1 through 15 (of 33 total)
  • Author
    Posts
  • #7521

    paulb_nl
    Participant

    Could the Nintendo 64 De-blur be implemented on the OSSC? Its described here http://shmups.system11.org/viewtopic.php?p=1178326#p1178326

    The blur is not just anti-aliasing. It’s a horizontal 50% blur. The N64 outputs a 640 pixel wide image, even if the backbuffer is 320 pixels wide, and it doubles the backbuffer’s width to fill the line. The appearance is an “off by half pixel” blur done horizontally. Correcting it produces a sharp 320px wide image. The scene’s rendering and use of AA shouldn’t affect it.

    Because the blur is exactly 50% “between pixels”, that means every other column is a 100% intact part of the original 320px image. So, if we simply drop the blurred columns (odd columns) and re-use the good columns (even columns) we have a restored 320 pixel image. Naturally there is zero lag in this technique.

    #7522

    BuckoA51
    Keymaster

    Possible.. I think so.. easy to implement? Maybe not so much!

    #7555

    marqs
    Participant

    It’s possible, but not easy indeed. You’d need to set perfectly matching horizontal sampling rate and active area (774 and 640 in case of N64) which will be possible when advanced timing feature gets added on the firmware. In addition, there needs to be logic to duplicate every other pixel, which might be added as a special feature. Perhaps needless to say, such mode won’t be compatible with all TV sets.

    #7878

    akumajo
    Participant

    hi

    if approved, can it be added to the Other feature requests on wiki page ?

    thanks

    #7894

    marqs
    Participant

    Sure, I can add it next time I’ll edit the wikipage.

    #8592

    paulb_nl
    Participant

    I have great results with 320×240 optimized, H.samplerate = 386, H.synclen = 22, H.backporch = 36, sampling phase around 90 degrees. Sometimes you have to fiddle with sampling phase and/or samplerate when the videomode changes. Just increase or decrease by 1 and set it back to what it should be.

    #11238

    paulb_nl
    Participant

    With lineX5 and those settings I only get a black screen. I think because the horizontal output rate is not high enough with the lowered samplerate for N64.

    These settings work for lineX5:
    LineX5 mode: 256×240
    256×240 aspect: 8:7
    H.active: 320
    H.samplerate 387
    H.synclen 10
    H.backporch 4

    #11354

    marqs
    Participant

    Line5x does a couple tricks internally to generate active width of 1920/1600. For 320×240 mode, horizontal parameters are multiplied by 5, so with default settings H.samplerate=2130, H.active=1600, H.backporch=245, H.synclen=155. However, these would not be valid settings for 1920-column mode (1920+245+155>2130) so H.synclen is reduced by 120, H.backporch by 160, and H.active increased by 2*160. The final parameters thus are H.samplerate=2130, H.active=1920, H.backporch=85, H.synclen=35, H.frontporch=90.

    If you set H.samplerate=386 for N64, then notice that 5*386=1930, leaving practically no time for sync & porch signals. Setting output format to 1600×1200 will solve this, but you also need to keep H.synclen>24 (same applies for all L5 optim. modes) to avoid underflowing it.

    #11372

    paulb_nl
    Participant

    Thanks. Indeed 1600×1200 also works with H.synclen 25, H.backporch 32.

    If you want 1600×1080 then use V.active 216, V.backporch 29.

    I have not been able to get a sharp image with H.samplerate 386. Its only sharp on the left side of the screen with that setting. I use 387 and its almost perfect.

    Lets show a comparison picture between lineX5 optimized and generic 🙂
    http://imgur.com/8uFwgj7

    #12342

    Calle W
    Participant

    Sorry for bumping this old thread, but I’m experiencing some things that I would like to take a closer look at. Everytime I boot up my N64 I have to fiddle with the sampling phase. This isn’t a big deal, but sometimes I have to change sync lpf and video lpf. Today a sampling phase of 281, sync lpf at max and video lpf at 16MHz (EDTV) gave me the overall sharpest result. This regards the line4x mode.

    The game I’m using for testing is Super Mario 64. If I use the same settings with Diddy Kong Racing, I rarely get good results. Diddy Kong Racing seems to always give me the best results with sync lpf a low or medium. The best way to get most satisfying results is to switch between two profiles with almost equal image quality until it produces an evenly sharp image. The left part of the image is not perfect, but it’s not that noticeable.

    Profile 1: Sync lpf at max, video lpf at 16MHz (EDTV), sampling phase at 281
    Profile 2: Sync lpf at medium, video lpf at 35MHz (HDTV 1), sampling phase at 45

    Profile 1 works fine for SM64 after switching back and forth for a while. Profile 2 works for DKR after switching back and forth.

    Would turning TVP HPLL2x off help? It says it generally reduces jitter at the cost of inaccurate sampling phase.

    #12344

    paulb_nl
    Participant

    Thats odd. Since firmware 0.76 the optimized modes are very stable here. So everytime you turn on your N64 with Mario 64 the quality changes?

    Which H.samplerate are you using? You can try turning off HPLL2x but it shouldn’t help because it is not used in the optimized modes.

    #12355

    Calle W
    Participant

    Basically yes. I usually look at the 120 star count for reference. The red color of the 0 “bleeds” out to the right. Today the second profile does the trick even after resetting the N64. H.samplerate is set to 387. I’ve also tried your special settings for x5, but they give me the exact same results.

    I can achieve a good result without sync lpf and video lpf set to auto (which I guess would be optimal), but it’s kind of rare. This only applies to the N64 so far btw. My SNES has no issues. Perfect sharpness every time. I’m guessing my N64 is at fault here maybe.

    EDIT: Switching games requires fiddling with settings. Once I get the results I want, I seem to be able to turn the console on and off without any issues (as long as it’s the same game).

    • This reply was modified 1 month, 2 weeks ago by  Calle W.
    #12372

    paulb_nl
    Participant

    Which RGB mod do you have? My N64 has the simple RGB amp mod with luma sync cable. Do you connect it directly to the scart input of the OSSC?

    After I found the best sharpness settings I tested various games. Mario 64, Cruis’n USA, Waverace, Zelda Majora’s mask, Starfox and the results stayed the same.

    Can you upload a picture that shows the correct sharpness and the bleed that you get?

    #12374

    Calle W
    Participant

    I’m using the same simple RGB amp with luma sync. And yes, it’s directly connected to the OSSC. Would be nice to achieve perfect sharpness across all 240p titles. I will take some sample pictures when I get home.

    Which settings are you using specifically?

    #12381

    paulb_nl
    Participant

    I am just using default settings except for the above settings. Sync LPF max, Video LPF auto. 90 deg sampling phase with line5x. HPLL2x is off.

Viewing 15 posts - 1 through 15 (of 33 total)

You must be logged in to reply to this topic.