Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Harvey ! (Registered 2024-11-25) You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #112767 : Starfield
2012-11-14 15:08
Mixer

Registered: Apr 2008
Posts: 447
Release id #112767 : Starfield

I have a question for vic specialists:

A similar raster routine is used in the starball and starfield effects I just posted.

Between the cycle 56 and 17 on the next line the routine opens borders and changes the sprite x position and sprite data pointer, the rest of the cycles of each line are used for reading tables opening up/low borders and sprite y position changes when needed.

There is a little bug at the right of center, where sometimes sprite disappears on the line, however it is ok the next line, at some lines and some times they do not disappear at all.

The motion and pointer data is correct. I believe it has something to do with the sprite fetching mechanism. I dont think it is a d010 bug either, if it was it would flash the sprite on the left border. The effect uses sprite number 8 (d00e/d00f). The same with the starball routine, which is almost the same.

I spent quality time with the vic article to try to figure that out, but never did. Any ideas? With that information the raster routine could be perfected or stated that it is as good as I can make it.
2012-11-14 15:53
Mace

Registered: May 2002
Posts: 1799
Interesting!

Would it be possible to clean your routine up untill you only have the described problem?
I mean, create a routine where you move sprite 8 about at exactly the buggy cycle and show us what happens.
2012-11-14 18:36
Hein

Registered: Apr 2004
Posts: 944
Quote:
I dont think it is a d010 bug either, if it was it would flash the sprite on the left border.


Or in the right border maybe far outside the screen?? (d00e=255 and d010=%10000000)

Not that I checked the routine, tho.
2012-11-14 19:56
Mixer

Registered: Apr 2008
Posts: 447
http://www.sid.fi/~mixer/sounds/startest.prg

There is a little debug program, it pretty much explains how the effect works.

f5 and f7 scroll the stars, i.e. ,x index to table which then contains the table x value and another with hi bit d010 values.

f1 selects between offset patterns for each line.
- 0 to 255
- random value from 0 to 255
- a sin curve.

f3 rotates color, makes no difference here.

As you may see. The pattern 0 to 255 produces a diagonal line - with no gaps. All follow the same X, no sprite disappears.

Sin curve pattern shows a gap in one position - where did the sprite go? it is not on that line. Vice debug shows it nowhere.

Random pattern however shows sprites disappearing from lines here and there.

I've considered that something goes wrong with the X position calculation
(lda scroll adc offset tax table,x) clc makes no difference, it would simply jump a position - not disappear the sprite.


2012-11-14 20:55
Mace

Registered: May 2002
Posts: 1799
I put Vice VIC-settings on 'debug' and changed screen colour to blue, just to make things clearer.
It shows no sprites at the far end of the screen, so somehow the one line just disappears into nothingness.



What I notice is that the hidden line only appears at a certain X position (which one?!) and only when the line beneath it is further to the right.

Can't think what is happening, though.

Could it be that the pointer is set to the wrong sprite?
2012-11-14 21:08
Digger

Registered: Mar 2005
Posts: 427
Interesting stuff, how does this behave on a real machine? Have you any cycles left to add another sprite? :)
2012-11-14 21:14
Mr. SID

Registered: Jan 2003
Posts: 424
To clear up the mystery, there's no bug in your code, just a bug in VICE as it seems. x64 shows the missing line, x64sc and a real C64 are fine. Go figure...
2012-11-14 21:15
Mixer

Registered: Apr 2008
Posts: 447
Editing 3fff also to 01(lda 01 ->08df in code) helped to count 11 chars from right border on that line. Which puts it right to the 9th x bit, d010 line.(28 chars from left border)

Also in random data there seems to be a case that the missing line has x larger than the previous line and also d010 changes. So, why only upwards causes trouble?

I'll make a test pattern for that.
2012-11-14 21:16
Mace

Registered: May 2002
Posts: 1799
When the line is straight, vertically, I notice that the top line is a bit to the left compared to the rest of the bar.
When you scroll this left, at a certain point, you see that the 2nd line disappears at a certain point.

This perhaps makes it easier to find what happens, as you know which position is the disappearing line.
2012-11-14 21:18
Mixer

Registered: Apr 2008
Posts: 447
Mr Sid, good, I was confused as I got various comments on it bugging.

Anyway, one for the vice team then.
2012-11-14 21:23
Cruzer

Registered: Dec 2001
Posts: 1048
Maybe that will get them to release a new version.
 
... 7 posts hidden. Click here to view all posts....
 
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
Sande/Hokuto Force
Guests online: 64
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

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