| |
Oswald
Registered: Apr 2002 Posts: 5017 |
linecrunch problems
Hi masterz :)
I have a working linecrunch routine. What I cannot do with it is fine Y scrolling. If I add an extra sta d011 instruction after the linecrunch loop to set YSCROLL, the whole thing starts to jump up and down. even if I wait for the nearest badline to occur. What is the solution ? |
|
... 3 posts hidden. Click here to view all posts.... |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
HCL you're my man! :)
I never made such a routine, so I did not know that the linecrunch area must be kept the same using fld. I will try this then, and let you know about the result.
and yes, I was thinking about, that setting yscroll after doing the linecrunch loop might add extra unexpected effects. Thats why I tried to wait for the nearest badline and do it there. I also tried to find out that what yscroll valeus interferes with the linecrunch loop, but I found no rule on that, looked random to me...
hmm btw I dont get it, why and how do you fill the rest with fld ? like.. I want 25 charlines to be linecrunched..
if I crunch 10 lines, then I have to push the screen down by 15 rasterlines using fld ? doesnt seem a logical idea to me :) explain more please :)
|
| |
HCL
Registered: Feb 2003 Posts: 716 |
Normally when you do linecrunchers and such, you want a constant area up there to be occupied with it. The visible graphics should be undependant of the routine that makes it move.
Therefore, you always have to consider the largest amount of lines you want to crunch. Let's say 25, to get the whole screen. So, as the picture swings up and down, you may in one moment need to crunch 10 lines, the other 15 lines you waste with an fld-routine. When all 25 lines are wasted, with linecrunch or fld, you set the y-scroll value.
It's still possible that you initiate another linecrunch with the d011-store for the y-scroll, but it will most likely be easier to find the bug.
Hope this helps. |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
is the combination of linecrunch + fld to waste the remaining rasterlines always necessary, or can you skip the usage of fld, when there's nothing more to display on screen _under_ the linecrunch-effect?
if i have a scroller in the upper half on the screen and the linecrunch-routine in the lower half with nothing else on srceen, do i then need to use fld, too?
|
| |
HCL
Registered: Feb 2003 Posts: 716 |
If you want a constant area to be occupied, yes. |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
thanks! :)
|
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
HCL: ahaaa I see !! :) but logically thinking adding fld to my routine wont solve the problem.. anyway I will give it a try, maybe fld somehow magically will remove the bug :)
more questions:
do you:
-start the linecrunch loop at the same rasterline always
-reset yscroll at the bottom border to some constant value
-use the value left by the linecrunch routine in d011 for yscroll
-or set a new one after the fld ?
-or let fld act as yscroll ? |
| |
HCL
Registered: Feb 2003 Posts: 716 |
Answers out of order.. (?)
-start the linecrunch loop at the same rasterline always
Yes.
-reset yscroll at the bottom border to some constant value
no, not necessary. But if you'd like to explore how VIC really behaves, then perhaps it's a good idea. Hint, You don't really need to initiate the first badline, you can start crunching on the very first visible char-line ($30 or something..). Check for example "Interruptus Retriggerus", the 400 vertical rasters (it's more simple than the 216). Also check the title screen of "Royal Arte", and get confused ;)
-use the value left by the linecrunch routine in d011 for yscroll
No, set it after the last crunched line to desired value.
-or set a new one after the fld ?
Yes.
-or let fld act as yscroll ?
No.
Well, these are just standard trix to make it work, perhaps it's possible to minimize the occupied area a bit.
And also.. hmm.. it must be easier to get some good old demo and check out how it's done, than interpreting my answers, isn't it!? ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11108 |
get Babylon V/TWG :o) also this very effect is explained by ivo himself in interupt-tutorial on magic-disc ... unfortunatly in german :=P however there is documented source that might still help. (no i dont quite remember what issue(s) it was :=P) |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
well, reverse engineering doesnt really works for me, I always could just steal little ideas, tricks, doing that :)
ok, I havent done anything to the code since starting the thread, will let you know next monday about my experiences :)
thanx for all the help so far :) |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Hmm... I learned almost everything by reverse-engineering. =D One almost sole exception would be how to divide bit-wise. Hmm... but I guess one can only do such things with extreme amounts of geekiness, which naturally wears off while getting older ;) |
Previous - 1 | 2 - Next |