| |
Senbei
Registered: Dec 2014 Posts: 1 |
VSP bug with DEN manipulation
Ciriciao,
the whole VSP bug detection/fixing/avoiding is extremely catching, but there's one thing I'm not sure of and can't find it in the discussions so far: the VIC-II article mentions that VSP (or DMA delay) can also be achieved by manipulating DEN in line #30 (display enable, bit 4 of D011) instead of YSCROLL.
With this technique YSCROLL stays at 000 the whole time and the bad line is triggered at the right cycle by another means.
Does the VSP bug happens also in this case?
SNB |
|
| |
lft
Registered: Jul 2007 Posts: 369 |
Yes it does. The timing is different from when you change YSCROLL, so it may or may not trigger the crash on any particular machine. It's not tested by VSP Lab. |
| |
knue
Registered: Dec 2012 Posts: 37 |
oh, didn't know that. Are there advantages of using DEN instead of y-scroll? |
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
With changing y scroll you have to cover 64 minus 8 = 56 cases (for equal src and dest y scroll) to test.
Using only DEN you have to cover 8, only. This would simplify testing enourmously.
Also, the number of possible VSP bugs would be limited by less possibilities to trigger badline condition. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
But using DEN limits VSP to the top of the screen, while regular YSCROLL can be applied before every char row, right? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
of course :) |
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
Ok, you're right. However, full screen VSP is a very important special case, i think.
Just meant as a suggestion to start with this simpler case and then proceed to the more complicated, later on.
Don't know if it would prove worthy the effort. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: With changing y scroll you have to cover 64 minus 8 = 56 cases (for equal src and dest y scroll) to test.
Using only DEN you have to cover 8, only. This would simplify testing enourmously.
Also, the number of possible VSP bugs would be limited by less possibilities to trigger badline condition.
This comment is like... I dunno... really really weird. :)
Using y-scroll requires no special cases either. Just have d011 to something static. Then VSP by making sure d011=d012&7 then line crunch (by trigger another badline) to hide the visible DMA-FLI bug under the top border THEN yscroll to whatever you like (essentially FLD). |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
iirc you can do vsp anywhere outside of the display area so no need to jump trough hoops to hide fli dma shit ? but even when I did it mid screen by "tearing" an idle line with FLD to do it there (hence otherwise wont work) I dont remember having to linecrunch. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Oswaldno need to jump trough hoops [...] I dont remember having to linecrunch. That's because you probably used a black background! :D |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Quoting Oswaldno need to jump trough hoops [...] I dont remember having to linecrunch. That's because you probably used a black background! :D
probably, but if one doesnt vsp mid screen this problem shouldnt arise.
btw I always just did dec d011 inc d011, is that den bit or yscroll? I saw it somewhere and just went with it :) |
... 7 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |