ata4 / angrylion-rdp-plus

A low-level N64 video emulation plugin, based on the pixel-perfect angrylion RDP plugin with some improvements.
158 stars 25 forks source link

Majora's Mask Bombers Notebook is shaking/wobbling with filtered output mode #27

Closed ghost closed 7 years ago

ghost commented 7 years ago

Seems like something have happened, although you can't see it on this static image this screen is actually shaking/wobbling like crazy on newer builds with filtered as selected output mode:

pic01

These are my settings:

pic02

And this is the plugin information screens:

pic03

This only happens with filtered and NOT with unfiltered as unfiltered is unaffected and works properly.

Every build below angrylion's RDP Plus r4-52 seems to work like normal with filtered like angrylion's RDP Plus r4-34-dirty, angrylion's RDP Plus r4-8, angrylion's RDP Plus r3-85-dirty etc.

So it must be a recent commit that broke something.

ata4 commented 7 years ago

I don't know where you got that build, but I bet it's the experimental deinterlacing build. The changes there were only temporary.

ghost commented 7 years ago

@ata4 Thanks, does that mean this issue is solved already?

ata4 commented 7 years ago

It wasn't really an issue to begin with, I created that effect deliberately to demonstrate it to theboy181. But I've checked that screen in MM again and it still appears to be fine.

ghost commented 7 years ago

Hmm, so commit https://github.com/ata4/angrylion-rdp-plus/commit/5099be60ceb0059fae554e883a7f980f34bb3061 was just temporary changes?

I don't know what to make out of it but the shaking/wobbling is still happening at least in angrylion's RDP Plus r4-56 - https://github.com/ata4/angrylion-rdp-plus/commit/d4fce0e867ac28f783f41fb8e8afc7412767f970

ghost commented 7 years ago

angrylion's RDP Plus r4-65 - https://github.com/ata4/angrylion-rdp-plus/commit/d5e8ac5324d5bcece5dccd377b728ae520af7a64 still shows symptoms of shaking/wobbling Bombers Notebook when using Filtered output.

If you don't believe me then try this build out: angrylion-plus (17-10-10).zip

Thanks in advance!

ata4 commented 7 years ago

The temporary change was to set ctrl.serrate always to zero, nothing else. I haven't even committed it. But it looks like you didn't use that build, since it's named "r4-56-dirty", not "r4-52".

Still, I cannot reproduce that problem. Neither with the PAL, nor the NTSC version. Not with overscan or without. Not with my recent build or the one you have linked. It's always perfectly stable.

But I also should mention that my Bomber's Notebook looks like this:

zelda majora s mask_0000

I have only unlocked it via cheats, so there isn't anything on it.

ghost commented 7 years ago

Thanks for your feedback @ata4 I appreciate it!

I have now tried this with cxd4's RSP instead and it's still the same, basically the only thing I could do different with my current N64 setup if I'm not going to change emulator of course.

Here is a complete save file for Majora's Mask (Europe) ZELDA MAJORA'S MASK.zip

May it be useful to you!

ghost commented 7 years ago

As of angrylion's RDP Plus r4-68 - https://github.com/ata4/angrylion-rdp-plus/commit/0cf1c82e9d2cf959e9e0f0025a56e484853cba7b the issue is still present using Filtered output.

ata4 commented 7 years ago

Are you 100% sure you're actually using the most recent build and not just have it in your plugins folder? When comparing your screenshot with mine, it becomes obvious that your build has only half of the vertical interlaced resolution.

mm

This tells me you may still have that deinterlacing test build selected.

ghost commented 7 years ago

I think I'm 100% sure I got the most recent build there is as it contains https://github.com/ata4/angrylion-rdp-plus/commit/0cf1c82e9d2cf959e9e0f0025a56e484853cba7b - Added overscan to the runtime config options. which is the latest commit WE end-users see.

When you click on About in Project64 this is what it says:

angrylion's RDP Plus r4-68

Build commit:
master
0cf1c82e9d2cf959e9e0f0025a56e484853cba7b
2017-10-17 15:43:22 +0200

Build date: Oct 18 2017 22:03:52

https://github.com/ata4/angrylion-rdp-plus

Could you please attach your latest plugin? That way we can straight this out once and for all because this is driving me mad.

EDIT By enabling overscan in the angrylion-plus-config.ini (overscan=1) the shaking/wobbling stopped completely although I don't think that's a proper fix?

However the issue you presented in the screenshot comparison is still present, it looks very wrong and blurry while yours is PERFECT.

Please @ata4 upload your build so I can close this issue, because there must be something wrong with mine.

ata4 commented 7 years ago

Okay, that helped me to narrow down the problem a bit. There's a variable called emucontrolsvicurrent, which apparently contains the flag whether the emulator controls VI_V_CURRENT_LINE correctly or not. My guess is that PJ64 1.7 doesn't control it and the workaround code does something unexpected. I was looking for a build of 1.7 before to debug it, but all I could find is some dubious looking third-party hosted links. I'll try it again with some precautions...

ata4 commented 7 years ago

Finally found a working version, 1.7.0.50 (TheMejorDe64). Now I can reproduce that problem. 👍

And it looks like the problem is fixed by simply checking for emucontrolsvicurrent before adding the vertical offset. The lower vertical resolution can't be reliably fixed, though, only an upgrade to a newer PJ64 version that uses the interlacing registers correctly can do that.

ata4 commented 7 years ago

Here's a test build:

angrylion-plus.zip

ghost commented 7 years ago

@ata4

I have just downloaded and tried out a Project64 2.4.0.9999 build from here and the shaking/wobbling doesn't occur there with my build so that's a good thing, will try out your test build now.

ghost commented 7 years ago

Well it looks like your build doesn't have the shaking/wobbling issue on either Project64 1.7 or 2.4 while my build did have shaking/wobbling on Project64 1.7 but not 2.4

As for the vertical interlaced resolution/deinterlacing thing it happens on both Project64 1.7 and 2.4 for me while your image looks perfect. However I'm willing to admit it looks better on 2.4 but only slightly.

ghost commented 7 years ago

I think it's safe to close this now, thanks for all your help!