c0pperdragon / C64-Video-Enhancement

Component video modification for the C64 8-bit computer
MIT License
256 stars 36 forks source link

Giana Sisters II glitchy time display #11

Closed desaster closed 5 years ago

desaster commented 5 years ago

Hi,

I noticed a small issue with the time display in Giana Sisters II. After the game starts, if you walk forward for a bit to cause the screen to scroll, the time countdown starts having some glitchy lines flickering under the digits.

I tested with the latest 2.0 release, as well as the "C64mod_2_1_alpha2.pof" experimental firmware.

To make troubleshooting easier, a trainer version of the game can be used to prevent the time running out, while still displaying the glitch.

PS. Do you prefer a separate issue ticket like this?

image

normal_out problem_out

c0pperdragon commented 5 years ago

Thank you for this bug report. And yes, please just open new issue threads for individual problems. This one now locks like a problem with the exact timing of when the xscroll register should actually take effect. The program obviously changes the xcroll value at the end of the score bar to then have it correct for the game area. I am not sure what the correct behaviour should be. Maybe I find some test programs in the VICE test bench to figure this out.

c0pperdragon commented 5 years ago

I have again spent several hours to improve the VIC emulation. Please feel free to get a new experimental firmware that should fix this glitch and probably a few more from https://github.com/c0pperdragon/A-VideoBoard/tree/master/c64mod/experimental

It would be nice if you could test this with the "Brutality" demo also. This program is especially hard to test for me, because it quickly crashes my computer (a known problem with the DMA delay technique).

desaster commented 5 years ago

This version seems to fix the glitchy time display, but unfortunately seems to introduce some new issue with sprites.

I noticed this first at second level, as seen in the screenshot below. However, I think the broken sprites may be easier found elsewhere. I only have time for quick tests right now, but was able to see the same issue with the EdgeOfDisgrace demo.

image

image

c0pperdragon commented 5 years ago

I could not reproduce this issue on my machine, but I have changed the sprite handling for other reasons anyway. So maybe the new firmware 2.1 (availabe in releases secion) fixes some of this problems.

desaster commented 5 years ago

Here are some videos of firmware 2.1. Whenever the audio cuts out, that's when I'm switching to normal A/V output to check what the original looks like.

desaster commented 5 years ago

more small demos that show the sprite issues:

https://csdb.dk/release/?id=166859 https://csdb.dk/release/?id=159699 https://csdb.dk/release/?id=159706

c0pperdragon commented 5 years ago

All your examples (with the exception of Edge of Discrace, which I can not yet test) work flawlessly on my machine with firmware 2.1 So I very much guess that it is a problem with one particular information I receive from the VIC which has a very small stable time. It seems that your machine has this timing just a bit different than mine. To try this out, I have shifted this particual sampling point back by about 30 nanoseconds. This still works on my machine with a bit of additional tolerance. Maybe this fixes all this problems in one go.

Get this experimental tweak from: https://github.com/c0pperdragon/A-VideoBoard/tree/master/c64mod/experimental

desaster commented 5 years ago

with 2.1p1 the sprites are fixed!

Tested:

c0pperdragon commented 5 years ago

So next I will concentrate on getting Edige Of Disgrace working.