| |
DKT
Registered: Aug 2004 Posts: 99 |
AGSP stop
Howdy!
How to "stop" AGSP and show another static gfx starting at some position of the screen? AGSP starts from the top of the screen and I would like to show static logo at the bottom of the screen.
VSP is possible to stop with "anti" VSP, but what to do with Linecrunch? Is it possible with some trickery or do I have to move regions of mem to show gfx in a right place?
DKT |
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
anti linecrunch is what I can think of. |
| |
DKT
Registered: Aug 2004 Posts: 99 |
Hehe.
I would like to not loose to much raster lines (max 1 char) for that in a "switch area". Any examples (demo link)? Thanks in advance. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
I think if there was another method to skip current char row, or manipulate char row displayed it'd had been discovered already.
better redesigning your effect, so that static part is on the upper area. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Yes, the only way you can restore the character pointer to what it would have otherwise been is with anti-AGSP.
Even with Oswald's suggestion of swapping the AGSP area with your logo, you're still stuck running an AGSP routine in the middle of the screen. That would make it a lot easier to display graphics over that area mind; check out GOLC for one technique..
Simplest route of course would be to display your logo with sprites instead of chars/bitmap. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Maybe it is feasible to just stick to VSP and do the y-mopvement the "hard" way, i.e. do softscrolling via $d011 but the hardscrolling by copying the gfx data. Ofcourse depends on scrolling speed and what other heavy duty tasks the cpu has to cope with;)
If you do it the other way around (copy the gfx data for the logo), you'll be forced to copy all data within one frame (whenever there is a linecrunch-event) whereas you have up to 8 frames time for the y-hardscroll as skteched above.
And this "anti"-VSP is needed in any case if I get it right atm... |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Like others have mentioned, it's probably best to move the AGSP effect higher in the screen.
But displaying a logo after the AGSP can be achieved when using a charset-based logo. Just use a different screenram you can just 'plot' a 6x40 logo using the AGSP X and Y coords to store the logo at the correct position (wrapping around when required, which will slightly slow down the coying).
Of course sprite pointers will at some point be used as screen data, so unless you adjust the AGSP movement, sprites won't be possible.
Another possibility, as others have mentioned, is using just sprites. You can make 40-char wide dycp with just 14 sprites. |
| |
DKT
Registered: Aug 2004 Posts: 99 |
Thanks guys for the tips. I can see some workarounds and will try to find most optimized to get best looking effect. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
"40-char wide dycp with just 14 sprites."
what? |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Well, you know, each sprite is 3 chars wide, so 14*3=42, enough to cover the width of the screen.
Just write $3fff to register $d015 to enable them.
(No time to open borders though, with all that DMA going on.) |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
14 sprites at same rasterline(s)?
did i miss something? :D |
| |
Spinball
Registered: Sep 2002 Posts: 88 |
Just make shure the sinus of the DYCP never gives you more then 8 sprites per line? |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Well, you know, each sprite is 3 chars wide, so 14*3=42, enough to cover the width of the screen.
Just write $3fff to register $d015 to enable them.
(No time to open borders though, with all that DMA going on.)
ok you need 14 physical multiplexed sprites. thats cool :) $3fff = typo ? |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Nah, I was just being silly because I didn't follow what compyx was getting at :)
Kind of skimmed over the dycp bit because DKT had been talking about displaying a logo rather than a scroller (besides, would that not be a dysp??) |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: Nah, I was just being silly because I didn't follow what compyx was getting at :)
Kind of skimmed over the dycp bit because DKT had been talking about displaying a logo rather than a scroller (besides, would that not be a dysp??)
I guess one can draw a logo with each letter being the size of a sprite so they can move up and down. |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
I see I caused some confusion here :)
But yes, using a 14-sprite multiplexer with fixed Y-values will allow you to create the illusion of a DYCP when moving the sprites in the X-direction really fast. This will make rendering chars in the sprites really simple, the Y-offsets are fixed and there's no need to clear the chars. (Somewhat similar to plotters cheating with fixed X-positions)
An example is in the final part of Untouchable II where I use this trick to have DYCP over a bitmap logo, another example is the 'DYCP' over a FLI logo in Not Worthy . |
| |
Perplex
Registered: Feb 2009 Posts: 255 |
First time I can remember seeing that particular trick was in the final part of Digital Delight by Panoramic Designs. |
| |
Digger
Registered: Mar 2005 Posts: 437 |
Ah these logos Compyx, such mastery. |
| |
DKT
Registered: Aug 2004 Posts: 99 |
Doing second line-crunch and VSP with opposite values was the best solution to achieve it, to stabilize bottom gfx.
I used the method in Ukiyo
So, the first Oswald's suggestion with "anti line-crunch" was what should be done, thx :)
Topic closed ;) |