| |
Luke
Registered: Dec 2004 Posts: 19 |
Sprite Stretching or what? :>
So i found it on old disk:
Only screenshots here:
Sorry for Polish language in comments, but no time for explain all into English.
First screenshot - route sprite setting. 8 sprites, $54 y , x from 00 step $18++.
http://www.platine.fajnastacja.pl/IMG_0918.JPG
Second screenshot, old irq routine: set $ff in $d017, waiting some cycles and $00 -> $d017 + dec $3fff. And it's all.
http://www.platine.fajnastacja.pl/IMG_0917.JPG
Third screenshot : How is it works? $3fff used in sprite + extra multiplexer for free without any changes of $d001, and $00 in $d017 :) What is this?:D
http://www.platine.fajnastacja.pl/IMG_0919.JPG
Sry for crap screens, no time for it at all.
I'm wondering - multiplexer for free :)
Btw. If that change $d017 from $ff to $00 are in next line, then 2x multpilexer in Y :)
|
|
... 10 posts hidden. Click here to view all posts.... |
| |
Dano
Registered: Jul 2004 Posts: 234 |
pretty curious about that, too. have been running into the exact same problem the last days.. i'd be delighted if someone found a hint to make it work with 7 sprites enabled.. :) |
| |
ready.
Registered: Feb 2003 Posts: 441 |
after some more thinking, it seems to me rather impossible to expand a sprite with $d017 trick during a bad line, due to the fact that the $d017 must be set in the part of the visible area of the screen where the processor is stunned by the VIC access.
Without bad lines, it's feasible of course, there are tons of examples around. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
You can of course still have graphics on the screen without badlines, as in the greetings part of Smart Girls Hate Booze. ..there you have a sprite stretcher (zoomer) with a badline-free picture behind.
I remember that i tried stretching sprites with badlines a long time ago (Royal Arte era..), but never got it to work. I didn't say it is impossible though, but it made me stop trying after a while :). |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
if HCL couldnt do it then its not possible :) can it be done if the sprite is not used whose DMA occurs at the magic-set-d017 cycle ? |
| |
ready.
Registered: Feb 2003 Posts: 441 |
sorry Oswald I don't get your question.
Anyhow, the magic cycle for clearing $d017 is cycle 16, reading the VIC article. If $d017 is cleared at cycle 15, we get sprite crunch instead.
I tested several code arrangements but I could not clear $d017 at cycle 16 during a bad line. I also tried to trigger the bad line in the middle of the line before (playing with $d011) and this allwoed me to write at cycle 16, but the sprite stretch did not work. I guess it has to do with the fact that the bad line triggering also moved the $d017 magic stretch point.
I guess there's no way out of this, at least for me. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
guess the badline DMA itself occurs on the d017 cycle then. |
| |
Digger
Registered: Mar 2005 Posts: 437 |
Here's the link to the CodeBase64 article:
http://codebase64.org/doku.php?id=base:sprite-crunching |
Previous - 1 | 2 - Next |