Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Sprite Stretching or what? :>
2006-10-19 14:19
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 :)
 
... 7 posts hidden. Click here to view all posts....
 
2006-10-19 16:58
Luke

Registered: Dec 2004
Posts: 19
thank you :)
2014-01-03 11:23
ready.

Registered: Feb 2003
Posts: 441
just adding one question to this thread instead of opening a new one. I am trying to do a $d017 sprite stretch, but with bad lines active. I can repeat the same sprite line only until a bad line occurs. It seems to me that in order to repeat a sprite line n-times, $d017 must be set only at a certain x position within a raster line (corresponding to an x coord near the left part of the visible screen area). So setting $d017 when no bad line occurs is feasible, but when a bad line comes, the portion of the screen where $d017 must be changed is taken by the VIC and cannot be accessed by the CPU.
So, is this feasible or shall I remove bad lines? Of course I want badline in order to keep other gfx too.
2014-01-03 13:38
Oswald

Registered: Apr 2002
Posts: 5094
I'm no expert, only thing I know you can steal back some cycles with inc / dec, try that.
2014-01-03 19:44
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.. :)
2014-01-03 20:15
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.
2014-01-03 22:31
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 :).
2014-01-06 10:03
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 ?
2014-01-08 16:55
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.
2014-01-08 17:36
Oswald

Registered: Apr 2002
Posts: 5094
guess the badline DMA itself occurs on the d017 cycle then.
2014-01-08 21:15
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
csabanw
bepp/ΤRIΛD
Magic/Nah-Kolor
Thierry
Codey/Second Dimension
wil
Morpheus/IPC+C64.COM
Airwolf/F4CG
Metal Maniac/Dual Crew
MWR/Visdom
Guests online: 102
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.061 sec.