| |
Rudi Account closed
Registered: May 2010 Posts: 125 |
DYPP
Hi,
DYPP - Different Y Pixel Position.
I don't seem to find an explanation on this effect on C64 on codebase or anywhere. Maybe its in another thread here on csdb, then please provide an link.
I know the basics of sines, ive made sinescroll on PC, but its easier there since you can look up the framebuffer directly, via sine-tables and so on.
Im wondering how this effect is easily made on C64. I believe there are more than one way, but i guess one way is slower than the other; for example moving each column-bit (inside a char) in realtime. The other way I think is having the chars animated, similar to a twister. Though, im thinking each angle is used for lookup table. I just dont seem to get it right in my mind to start coding on this effect. I've seen several early cracktros and demos that does this very fast, but haven't had the time to reverse-engineer the binaries. If you have any tips and info i'd appreciate it, or even better; write an explanation for codebase.
Thanks |
|
... 43 posts hidden. Click here to view all posts.... |
| |
HCL
Registered: Feb 2003 Posts: 728 |
Quote: mekanix is cheating as far as I'm concerned, lda sta code, no ORA.
Mekanix is using precalculated fonts for a range of angles. It is still calculating individual sinus-values for each pixel-column, and then mapping it to best possible font.. The accuracy is ok i would say :). Also this way it can do more funny sinuses than VSP-stuff. |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Gotta admit those DYPP's look really smooth, and using a movement you can't get with VSP-trickery.
Never had seen that demo before even, I'm lagging behind badly :) |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Ah, so that's how they managed such a large area. It's effectively caching intermediates, so that still counts in my book; just restricted to reasonably smooth functions :) |
| |
Codey
Registered: Oct 2005 Posts: 79 |
I believe The Larch III The Larch 3 had a mega-DYPP in it. The same effect using a 1x1 charset and 8 splits per char without pre-plotting chars would take a massive amount of raster time. Plotting the bits in pairs resulting in 4 different Y positions per char still looks pretty impressive. |
| |
Dr.Science
Registered: Oct 2011 Posts: 41 |
We are in 2017 and you are talking about keeping lamers out? Sounds like 1989... :-) |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Well, The Larch 3's from 1989, so I guess that fits at least..
But yeah, I think a somewhat more welcoming attitude to newbies is more important than ever. |
| |
Sam
Registered: Aug 2010 Posts: 21 |
I'm too stupid to figure out the trick in the multi-dypp-part of "Crest Avantgarde". Would anyone care to share any thoughts on that? I did a couple of dypp-routines in 1989-1992, but I always sucked in "vic tricks", amongst a lot of other things I sucked and keep sucking in.
The DYPP in Anal Intruder uses the same trick than mekanix, based on what I read about Mekanix here, no VSP (is vsp = vertical screen position here?) involved, but a lot suckier code optimizations.
Wouldn't a VSP trick to create a dypp just generate a static "road" of text? Unless the VSP is there just to save cycles when scrolling, but the pixel-per-pixel-sine has to be created in other ways, to have the text moving/animated. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Mekanix does a true dypp when only 1 is shown, and fake char anim when 2 AFAIK. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
If the multi-DYPP part in Crest Avantgarde uses VSP, it only does so for the scrolling (and/or the moving colour gradient).
As for the actual DYPP effect, i guess there's a lot of copying of pre-rendered animated characters going on.
Note how the sine period is rather short, so there aren't so many frames to cycle through until wrap.
Also note how parts of many different characters are identical, possibly reducing the amount of animation data so that everything just barely fits into 64 kilobytes. |
| |
Sam
Registered: Aug 2010 Posts: 21 |
Thanks, Krill! I can sleep at night again :-) I had a memory of the wave being bigger, but looking at the effect again I realise that it was a much tighter loop than I imagined. The biggest trick, to me, here is the clever font. I should have noticed the lack of special characters right away *shame*.
BTW, my dypp in "Typical" had no special chars because each character shape was a speedcoded lda ora sta and I was too lazy to do all the chars. IIRC there was still memory left though. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |