playermissile Posted December 12, 2019 Share Posted December 12, 2019 (edited) For my DLI tutorial I'm trying to work up to an example where there are multiple scrolling regions, like Nautilus or something. But it turns out I have not done any real programming with scrolling before, so I'm creating a scrolling tutorial as I build my way toward my goal. Scrolling has been covered more than DLIs and there are lots of resources out there, but I'll throw this out there too in case anyone finds it useful. http://playermissile.com/scrolling_tutorial/index.html Edited December 13, 2019 by playermissile grammar 12 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/ Share on other sites More sharing options...
Schlortt Posted December 12, 2019 Share Posted December 12, 2019 This is great work along with the DLI tutorial. I wish I had access to these in the 80s but I do hope it will encourage others to start coding on the A8. I must also say... 1 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4409573 Share on other sites More sharing options...
phaeron Posted December 13, 2019 Share Posted December 13, 2019 *Coarse scrolling. I would give slightly stronger advice for syncing VSCROL changes -- failing to synchronize these to the drawing can not only cause delays, it can seriously glitch the display list. Specifically, decreasing VSCROL around when ANTIC is processing the end of the vertical scrolling region can cause it to miss the vertical stop and wrap its 4-bit delta counter around, adding a dozen scanlines to the mode line. It's not nearly as dangerous as an unsynchronized HSCROL write, but it can still look pretty janky. 1 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4409770 Share on other sites More sharing options...
+DjayBee Posted December 13, 2019 Share Posted December 13, 2019 Hi Rob, great read. Small correction: Both code examples for vertical coarse scrolling ADD #40 to the LMS address. I would guess that one should be subtracting. 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4409879 Share on other sites More sharing options...
R0ger Posted December 13, 2019 Share Posted December 13, 2019 9 hours ago, phaeron said: *Coarse scrolling. I would give slightly stronger advice for syncing VSCROL changes -- failing to synchronize these to the drawing can not only cause delays, it can seriously glitch the display list. Specifically, decreasing VSCROL around when ANTIC is processing the end of the vertical scrolling region can cause it to miss the vertical stop and wrap its 4-bit delta counter around, adding a dozen scanlines to the mode line. It's not nearly as dangerous as an unsynchronized HSCROL write, but it can still look pretty janky. I usually test it by dumping random values into the desired scroll value. Also writing the value right after STA WSYNC is exactly the wrong time. You need few cycles after WSYNC, and it also depends on the values written. I never know the correct amount, I just test it. I find Altirra hadrware reference good in describing how it works and what all can go wrong, but it won't give you some 'best way to do it'. Is there something like that ? Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4409914 Share on other sites More sharing options...
playermissile Posted December 13, 2019 Author Share Posted December 13, 2019 Thanks for all the feedback. Got some corrections and additions published now. 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4410044 Share on other sites More sharing options...
scitari Posted December 29, 2019 Share Posted December 29, 2019 Awesome tutorial. Thanks for taking the time to do this! 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4419938 Share on other sites More sharing options...
playermissile Posted December 29, 2019 Author Share Posted December 29, 2019 2 hours ago, scitari said: Awesome tutorial. Thanks for taking the time to do this! Thanks! It certainly is a lot of work, but all the effort to write it and rewrite it to make it understandable to someone else allowed me to (finally!) really understand the concepts. It's a win-win! 1 Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4420044 Share on other sites More sharing options...
pseudografx Posted January 4, 2020 Share Posted January 4, 2020 Slightly off-topic: I remember seeing a demonstration of a side-by-side scrolling where half of the screen was scrolling (horizontally) in the opposite direction than the other. Can anyone remember that, too, and possibly know what the source thread was? Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4424489 Share on other sites More sharing options...
kenjennings Posted January 4, 2020 Share Posted January 4, 2020 51 minutes ago, pseudografx said: Slightly off-topic: I remember seeing a demonstration of a side-by-side scrolling where half of the screen was scrolling (horizontally) in the opposite direction than the other. Can anyone remember that, too, and possibly know what the source thread was? Side by side in opposite directions....... I can't think of a way to do that in hardware. Maybe I lack imagination. Pretty sure that would have to be done the hard way by actually drawing/updating the screen memory itself. Maybe shifting images through a character set. Either way it is still brute force code churning through memory. Quote Link to comment https://forums.atariage.com/topic/299468-wip-scrolling-tutorial/#findComment-4424533 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.