English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 05 January 2021, 21:18   #1
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 48
Posts: 2,637
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.
Foebane is offline  
Old 05 January 2021, 21:46   #2
DanScott
Lemon. / Core Design

DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 990
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
DanScott is online now  
Old 05 January 2021, 21:53   #3
Daedalus
Registered User

Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 5,206
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.
Daedalus is offline  
Old 05 January 2021, 22:05   #4
hooverphonique
ex. demoscener "Bigmama"

 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,250
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.
hooverphonique is offline  
Old 05 January 2021, 22:07   #5
Foebane
Registered User
 
Join Date: Sep 2011
Location: Cardiff, UK
Age: 48
Posts: 2,637
Yeah, I completely forgot about the Blitter for bitshifting, especially on one bitplane as in "One".
Foebane is offline  
Old 06 January 2021, 00:07   #6
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,312
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
mcgeezer is offline  
Old 06 January 2021, 00:17   #7
Antiriad_UK
OCS forever!

Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 386
Quote:
Originally Posted by DanScott View Post
Ok, in the first example, they are probably not
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
One of my fave greetz screens that. It looks great.

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
On every line. Can't see any bpl1con. 1/2 a frame worth of blits in visual dma so I'm assuming it's some brute force blittering?
Antiriad_UK is offline  
Old 06 January 2021, 00:25   #8
DanScott
Lemon. / Core Design

DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 990
I think it probably is brute force blitting... 5th plane is used to "flash" the greets
DanScott is online now  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.09311 seconds with 15 queries