05 January 2021, 21:18 | #1 |
Banned
Join Date: Sep 2011
Location: Cardiff, UK
Age: 51
Posts: 2,871
|
Does the Amiga scroll in selected areas of the screen?
I often wonder how the Amiga manages the hardware scrolling it is famous for, and recently I saw two demos that exhibit that I think that a selected rectangular region of the screen is selected, and then a direction vector and axis is specified, like -1 for left/up and 1 for right/down or something, with the programmer having to fill in the blanks after scrolling:
[ Show youtube player ] (move to 0:44 in video) [ Show youtube player ] (move to 3:54 in video) The principle is probably behind the famous parallax scrolling in games like Shadow of the Beast, am I right? Also, it seems that many areas can be scrolled in one frame, too, as these examples show. |
05 January 2021, 21:46 | #2 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
|
Ok, in the first example, they are probably not scrolling anything at all with the hardware scroll... they are blitting data into rectangular areas, with the data being shifted by the blitter.
the second example (a demo I worked on), I don't remember how Leonard did this exactly, but possibly a combination of hardware scrolling (for the left/right shifting rows) and blitting for the columns |
05 January 2021, 21:53 | #3 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,369
|
Just guessing here, but the first example might be doing a hardware scroll of sorts by adjusting the bitmap pointers at a certain point across the screen on certain lines. This would normally give you a few pixels of garbage since only one bitplane pointer is being updated at a time by the copper, leaving the other bitplanes unmoved until a couple of pixels later, but this looks like it might be only a single bitplane in use, so no garbage and just a gutter of a few pixels in between.
|
05 January 2021, 22:05 | #4 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,631
|
In general, the amiga doesn't do hardware scroll in arbitrary rectangles, but in rectangles covering the whole width of the playfield. If you (also) utilize the blitter (as mentioned above), arbitrary rectangles are possible. It's a little more low-level to use than specifying direction vectors though
There is of course cases where tricks are used to do "the impossible", but they are normally not generally applicable. |
05 January 2021, 22:07 | #5 |
Banned
Join Date: Sep 2011
Location: Cardiff, UK
Age: 51
Posts: 2,871
|
Yeah, I completely forgot about the Blitter for bitshifting, especially on one bitplane as in "One".
|
06 January 2021, 00:07 | #6 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
There's plenty of tricks that can be done with the Amiga's hardware.
With the way the copper is and it's legacy design from the Atari 8bit it is generally easier to do vertical video splits. The copper can also wait or horizontal lines with some limitations. With that said, the first demo they're either blitting or given the low number of bitplanes maybe changing video addresses at different positions so they are genuine rectangles... I dunno... quite a few ways to do it really I suppose. Second demo I can probably guess but is probably copper splits for the horizontal movement and blitting for the vertical. I'm probably wrong as I'm not a demo programmer... but that's how I'd do it. Geezer |
06 January 2021, 00:17 | #7 | |
OCS forever!
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 418
|
Quote:
Just booted it up and looked at the copper. No idea what's going on here: Code:
00025074: 3009 fffe ; Wait for vpos >= 0x30 and hpos >= 0x08 ; VP 30, VE 7f; HP 08, HE fe; BFD 1 00025078: 00f0 0004 ; BPL5PTH := 0x0004 0002507c: 00f2 40b8 ; BPL5PTL := 0x40b8 00025080: 01fe 0000 ; NULL := 0x0000 |
|
06 January 2021, 00:25 | #8 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
|
I think it probably is brute force blitting... 5th plane is used to "flash" the greets
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Modifying Amiga Optical Scroll Mouse to fit A600 | CrowStudio | support.Hardware | 0 | 05 November 2019 16:54 |
Screenlines and differently shaded areas? | lovinggames | support.FS-UAE | 0 | 02 March 2015 18:04 |
Demos which scroll a large part of the screen horizontally | mark_k | request.Demos | 7 | 22 December 2012 15:21 |
Safe areas for screen display | sack | Coders. General | 5 | 18 December 2011 15:43 |
HD-Installers no longer legal in certain areas???? | MethodGit | Amiga scene | 10 | 16 June 2004 10:01 |
|
|