glurk Posted November 25, 2021 Share Posted November 25, 2021 I'm looking for a way to do something with VSCROL that I think might not be possible. I want to have a horizontally scrolling line of "text" - no problem - but I was also wanting to use VSCROL to have it bob up-and-down and have it clipped at the bottom. Like popping up behind a wall. Image from 'De Re Atari': In other words, to display the top part, above the horizontal separation in the image. While horizontally scrolling at the same time. I actually hope this is possible, because otherwise I'd have to generate a whole lot of bitmap chars. Any ideas? Quote Link to comment Share on other sites More sharing options...
popmilo Posted November 25, 2021 Share Posted November 25, 2021 What would be in that "wall part" ? With vscroll you can move whole row of text up down. For bottom part if there's no gfx you can just turn of display and get empty section. If you want gfx there, you just need to set vscroll back to default value. Just experiment and you'll figure it out. But if you wanna make each letter move up down in different speed/position, you can't do it with vscroll. Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted November 25, 2021 Share Posted November 25, 2021 I've been recently playing with VSCROL and I believe if you wat that effect there must be a line below the line that you scroll preferably with it's own load address otherwise I believe as the line scrolls up, the next line below it in memory will start to appear, so a blank line below in memory is needed. The next line in the display can obviously be anywhere and have whatever text/graphic on it that you want. Hope that makes sense Have a look at this, not graphics, but it does have the effect I think you want It's self booting cityboot.atr Quote Link to comment Share on other sites More sharing options...
glurk Posted November 25, 2021 Author Share Posted November 25, 2021 That demo is the general effect, but much more complex than what I'm trying. I think maybe it is possible, I just have to experiment some more. Below my "clip-line wall" blank lines are OK. I may have to use every other line in memory so ANTIC doesn't pull up the line below. As I want to do several of these lines. It's a lot going on, but if I can make VSCROL work, it's a simpler programming task than having multiple bitmaps for every single character! Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 25, 2021 Share Posted November 25, 2021 There's a limit to what you can do with VSCROL tricks. You can't change it in the course of a scanline to make text go up or down. Generally VSCROL is used by Antic to determine where a text line starts or ends so it's not continuously sampled. But you can do some nice tricks. Never ending character (as used by JAC in one of his demos that produced a revolve effect to quickly fade between 2 hires pictures. Shrunken text - you can make character lines shorter which can allow things like smaller text or multicolour pictures where the PF2/PF3 attribute can be changed more often. Cheap revolving text effect - in conjunction with CHACT to make the lower characters upside-down you can do revolving tricks. Quote Link to comment Share on other sites More sharing options...
phaeron Posted November 25, 2021 Share Posted November 25, 2021 The main limitation is that vertical scrolling can only be triggered from the display list. Two mode lines have to be affected, one starting the scroll region that has its starting row changed, and another ending the scroll region that has its ending row changed. In particular, you can't change both the starting and ending rows on the same mode line. The VSCROL register is sampled every row, though, and that can be used to have the starting and ending mode lines use different starting and ending rows. The other trick is that vertical scrolling doesn't require the same mode to be used over the entire region. In this case, vertically scrolling a blank mode line (IR 0) followed by a character mode line (IR 2/4-5) may get you the desired effect. The catch is that mode lines always draw at least one row, so this will take 9 rows. Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 26, 2021 Share Posted November 26, 2021 I don't think you can have scrolling enabled on a blank line - the bits that enable scrolling are also used to describe how many blank lines to generate. Though of course the blank can follow a scrolling region but if I remember rightly that just means the blank area will move up/down according to the VSCROL value. Quote Link to comment Share on other sites More sharing options...
glurk Posted November 26, 2021 Author Share Posted November 26, 2021 Yeah, I still have not got this to work yet. I'm leaning towards just using vertically "scrolled" bitmaps instead. May be less complex. Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 26, 2021 Share Posted November 26, 2021 You could acheive it with multiple character sets but your display message would be limited to 128 characters, and you'd need a lot of character sets (probably 16) But for something like a demo or loading/intro screen probably worth the work. You could procedurally generate the data required. Quote Link to comment Share on other sites More sharing options...
glurk Posted November 26, 2021 Author Share Posted November 26, 2021 I seem to think I've seen the effect before in a demo. Which one, where, or when, I've no idea. Ultimately, for what I'm doing, it won't be text anyways, it will be redefined character set graphics. But I'll still need (# animation frames) X (# vertical offsets). And that can add up quickly. If I can cram them all in 128 chars it would be easier... I haven't done the math on it yet. Still thinking about it. Quote Link to comment Share on other sites More sharing options...
popmilo Posted November 26, 2021 Share Posted November 26, 2021 This one was useful to me when I had issues with combining multiple regions on screen with different scrolling values: https://www.playermissile.com/scrolling_tutorial/index.html 3 Quote Link to comment Share on other sites More sharing options...
glurk Posted November 26, 2021 Author Share Posted November 26, 2021 38 minutes ago, popmilo said: This one was useful to me when I had issues with combining multiple regions on screen with different scrolling values: https://www.playermissile.com/scrolling_tutorial/index.html Yay! Thanks, I've seen that before, but forgot about it. Very good resource, and now I've got it working, minus some fine-tuning! ? 2 Quote Link to comment Share on other sites More sharing options...
MaPa Posted November 26, 2021 Share Posted November 26, 2021 If I underestand the description, it's simple VSCROL for one character mode line which points to memory with empty VRAM for one line followed with text data in second row which will be "pulled up" by increasing VSCROLL value. Or I just misunderstood the question Quote Link to comment Share on other sites More sharing options...
Rybags Posted November 26, 2021 Share Posted November 26, 2021 (edited) I think the desired effect is the H-scrolling line of text with the up/down sine wave effect. Near example below though only one line of text and each character would have the same vertical origin for each pixel row... and the amplitude of the vertical wave would be much less. Edited November 26, 2021 by Rybags 1 Quote Link to comment Share on other sites More sharing options...
MaPa Posted November 27, 2021 Share Posted November 27, 2021 (edited) I think that he just wanted something like this (plus the horizontal scroll). vscr.xex Edited November 27, 2021 by MaPa 2 Quote Link to comment Share on other sites More sharing options...
glurk Posted November 27, 2021 Author Share Posted November 27, 2021 Yeah, I have it working fine now. I'm not doing a "demo" or anything fancy, just have never used VSCROL bery much and was unfamiliar with it's subtleties. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.