I totally get it that scrolling attributes on the Oric is hard .. I've boned up on AIC and read every bit of assembly I can find on the subject, and yes - it is very complex, with a myriad of approaches out there .. Nevertheless, I'm still working out how to achieve the effect I want ..
So, there are two projects on my plate - one, a "Demo / Log Book" application for the Atmos that I will take to the next RetroSession I'm organising (
https://metalab.at/wiki/RetroSessions) .. for this, I just want the top 1/4 of the screen to be in HIRES mode, with the rest TEXT mode .. the HIRES area will function as the 'banner' for the rest of the screen in TEXT mode, which purpose is to provide a schedule for the workshop, as well as a way for people to 'log their presence and activity' in the app, which will save the data for the next event, and thus the app will give us a running log of the RetroSessions, hosted on my Oric Atmos and available to other participants as a .DSK file for Oricutron, at their discretion. These images are all created with pictconv, so some of them use AIC mode and others do not. Either way, if you load the .DSK and run FLIP.COM, you can see where I'm at so far - the next step is to write some code, either in C or Assembly, that will load these HRS files elsewhere and then flip them into the display address, either to scroll, or some other effect - byte-fade, etc. I think doing a fade from one of these images to another would be an interesting effect, and I at least am exploring this with an open mind as to how crap it may, or may not, end up looking.
- od.dsk
- DSK containing demo images for RetroSession Logbook project...
- (500.25 KiB) Downloaded 430 times
These graphics are just the first attempt - I will refine them a little over the next day or so, such that they all have the same physical geometry (at the moment there are offsets) so that I can wipe/fade between them, or - as discussed - scroll them onto the screen from left or right. Anyway for those interested, you can see that the banner is just there for a bit of flash trickery. I'll load a custom CHARSET for the text area of the log book, and write some fancy code for inputting name/handle, event log message, for each date in the Log. I'm working on that code now, ignoring the flashy effects until later...
The second project I want to use my new-found knowledge on, is a bit tricky .. basically, I want to have scrolling banners that serve as "selection fields" for parameters for the Oric sound engine - so there would be a long 'strip' image that contains all the envelope settings, described graphically, and when the user selects a different envelope - by way of example - the strip scrolls to the selected part of the image for the index of their setting. This way, I can build a synth with easily scrollable regions for selecting basic parameters. The idea is then, to adopt what I learn from the RetroSession logbook, and generalise it for all the parameters of the Oric synth section ..
So you can see, I'm curious about the techniques. Of course the easiest thing to do is scroll on 8-bit boundaries, and this would suffice for my needs - but in case someone had figured out how to do smooth pixel-level scrolling, while still maintaining AIC mode limits, it would have been interesting .. Anyway, after I get the boring Logbook functionality written, I'll have another look at the code for doing swipes/fades/scrolls of these sub-regions in HIRES, and maybe come up with a small set of functions, perhaps in C, that can be used elsewhere too ..