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 > D017 stretch
2017-01-31 09:47
Trash

Registered: Jan 2002
Posts: 122
D017 stretch

I have a little while trying out som d017-stretching-code-magic-stuff. It seems impossible to stretch sprite 00 when it is alone a raster row.
Can anyone confirm it is possible or tell med where I am going wrong? I just cant get the timings right and I've tried all combinations (I think?).

I've put 1 -> d017 on all cycles after dec $d016 and then 0 on all cycles after that but for me it seems impossible...

Any help at all would be greatly appriciated!

lda #1
ldy #8
-		dec $d016		;  6 Removes the border
		cmp #$c9
		sta $d017		; Has been moved around
		cmp #$c9
		bit $ea
		sty $d017		; Has been moved around
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		cmp #$c9
		sty $d016		; Makes sure the border is removable
		inx
		cpx #15
		bne -
 
... 11 posts hidden. Click here to view all posts....
 
2017-01-31 19:44
chatGPZ

Registered: Dec 2001
Posts: 11386
never put your thumb into the sideborder, girlfriend said
2017-01-31 22:38
Smasher

Registered: Feb 2003
Posts: 520
let's make a demo about it.
2017-02-01 00:09
Trash

Registered: Jan 2002
Posts: 122
Sorry for my stupid question, of course it works to stretch a single sprite with d017 while removing the border (even S#00). You just have to stop being stupid and do it the right way :-(
2017-02-01 00:49
The Phantom

Registered: Jan 2004
Posts: 360
Meh. Whatever.

Good luck.
2017-02-01 07:42
Oswald

Registered: Apr 2002
Posts: 5094
NOS intro at DOTC 1 sided is having sideborder off + 8 sprites stretched differently ?

Defender of the Crown +9D
2017-02-01 08:32
HCL

Registered: Feb 2003
Posts: 728
..isn't that what i told you from the beginning Trash? Just do it the right way! :)
2017-02-01 08:44
Trash

Registered: Jan 2002
Posts: 122
Quote: ..isn't that what i told you from the beginning Trash? Just do it the right way! :)

According to you everything is easy, just some lda and sta's in the right place and the sky is the limit...
2017-02-01 10:05
Compyx

Registered: Jan 2005
Posts: 631
For some reason when doing an 8-sprite open border routine you have to use DEC $d016 + INC $d016.

This has something to do with sprite 0 DMA eating too many cycles from the CPU, so the $d016 writes don't happen at the right time, occupying the CPU with DEC/INC solves that.

I found this out the hard way, back when I still actively coded demos. The explanation might be a bit off, but I'm sure there's VIC-II guru's out here who can do a better job than I do.

But like others have mentioned, when you don't need all 8 sprites, avoid sprite 0.
2017-02-01 10:41
Graham
Account closed

Registered: Dec 2002
Posts: 990
Explanation is easy: DEC $D016 has 2 write cycles at the end of it's execution, while STA $D016 has only one. The 6510 cannot be stopped on write cycles, so with the right timing you can skip 2 of the 3 bus allocate cycles of the sprite #0 DMA which gets you right to the exact cycle where $D016 has to be changed to open the side border.
2017-02-01 11:42
Compyx

Registered: Jan 2005
Posts: 631
Thanks Graham,

That explains the sprite 0 nastiness a lot better than I did :)
Previous - 1 | 2 | 3 - 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
Fred/Channel 4
algorithm
Krill/Plush
Guests online: 84
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 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (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 Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

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