-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uridium and Nightshade regressions #272
Comments
It looks like Uridium is using a reduced size version of MODE 1 for it's intro screen. MODE 1 is normally 320x256 (20KB) This reduced size MODE 1 is (160x200) (8K) The 6845 timings (c.f. normal MODE 1 values) are: R00 H Total = 7F (Standard) To centre the screen horizontally, the sync position is changed by 10us (HSync pos 62->4E). This is consistent with what see on the scope. The Nightshade looks slightly wider. |
The reason for the change was that the default setting of 32000 didn't work on the Amiga's interlaced video and 45000 was a compromise that appeared to work on both the BBC and the Amiga. Using 40000 should work on the Amiga as the comment mentions 34000 as the limit. A possible workaround would be to set the value as 40000 or less on "Auto" (Used by bbc profiles) and 45000 on "Interlaced" (used by Amiga profiles). There is already a similar setting which filters out equalising pulses when "Interlaced" is selected but not when Auto is selected so the Amiga has to use "Interlaced" rather than "Auto" anyway because it produces equalising pulses. That filtering can also upset some things on beeb profiles which is why the filtering isn't on Auto as well. |
Can you try Beta53: |
That seems fine. I'll close this issue now. |
With Uridium there is now continual switching in/out of MODE 7 on the Joystick/Keyboard selection screen.
With Nightshade there is a similar provlem within the game itself
When did this regression occur?
Changing FIELD_TYPE_THRESHOLD from 45000 back to 32000 on the latest (2021/12/24) build resolves the issue with both games.
Probing the exact thresholds:
Here are some scope shots of the end of VSYNC in the various cases:
Normal Mode7
Normal Mode 4
Uridium
Nightshade
Interlaced Timings
Normal Mode 7: 23us / 55us
Normal Mode 4: 21us / 53us
Uridium: 11us / 43us
Nightshade: 13us / 45us
Conclusion
Reducing the field type threshold from 45us to 40us will avoid making an incorrect field type decision with Uridium and Nightshade.
The wrong field type is confusing the mode 7 detection as follows (using Uridium as an example)
When the field type threshold is reduces to 40us:
Uridium is using a technque known as "Vertical Rupture"
The text was updated successfully, but these errors were encountered: