[comp.sys.amiga] ddfstrt ddfstop diwstrt diwstop

aiajms@castle.ed.ac.uk (-=Andy=-) (09/14/90)

Could someone explain the above copper registers. I know that they are
for screen addressing but the book I have which explains how they work
is not very clear.



Any help appreciated.

Thanks

-=Andy=-

GALETTI@uservx.afwl.af.mil (09/15/90)

In article <6336@castle.ed.ac.uk>, aiajms@castle.ed.ac.uk (-=Andy=-) writes:
> Could someone explain the above copper registers. I know that they are
> for screen addressing but the book I have which explains how they work
> is not very clear.
> 
> 
> 
> Any help appreciated.
> 
> Thanks
> 
> -=Andy=-

DIWSTOP and DIWSTRT specify the horizontal and vertical position of the beam 
where the raster display begins and stops.  Typically a raster doesn't cover
the whole screen; there's a background-colored border around the raster because
most monitors can't display the entire screen.  DIWSTRT defines the top-left
corner of the displayed raster and DIWSTOP defines the bottom-right corner.

Once you decide how big of a screen you want, you then need to tell the copper
where to start and where to stop DMA access to the screen's data.  To quote
from the "Amiga System Programmer's Guide:"
	
	"The data must be read from the bit planes at the right times
	 so that the pixels appear on the screen at the desired time."

In other words, you have to tell the copper when to start fetching data so by
the time the copper reads and processes the data and then outputs it to the 
video signal, the video electron beam is tracing the desired part of the
screen.

DDFSTRT (Display Data Fetch STaRT) and DDFSTOP allow you to specify when the
bitplane DMA begins and ends so you can line the accessed data up with the
borders you defined with DIWSTOP and DIWSTRT.

Does this help?  I highly recommend the "Amiga System Programmer's Guide" to
learn about these things.  For the most part, it's pretty straightforward, and
for the parts that it's not straighforward, a little experimentation usually
clarifies things.

-Ralph Galetti

griffith@eecs.cs.pdx.edu (Michael Griffith) (09/15/90)

aiajms@castle.ed.ac.uk (-=Andy=-) writes:

>Could someone explain the above copper registers.  I know that they are
>for screen addressing but the book I have which explains how they work
>is not very clear.

[ddfstrt ddfstop diwstrt diwstop]

I am posting this followup to comp.sys.amiga.tech because that is where the
answer belongs, but I am cross-posting it to comp.sys.amiga because that is
where the article originated.

DIWSTRT & DIWSTOP (Display Window Start & Stop): These registers control
   the position of the display window on the screen. They define the physical
   area that the display screen will occupy.

DDFSTRT & DDFSTOP (Display Data Fetch Start & Stop): These registers
   control when the DMA fetching of the display data is performed. It tells
   the machine how long on a vertical trace to wait before starting to
   fetch the data, and how long until the data is to stop being fetched.

DIWSTRT and DIWSTOP are normally used to control the positioning and size of
the display area on the screen.

DDFSTRT and DDFSTOP ensure that the data is fetched correctly for the display
area. You also need to alter these to fetch an additional word for scrolling
sometimes, etc.

Hope this explains some of what you wanted to know.


| Michael Griffith                     | If I had an opinion it certainly   |
| griffith@eecs.ee.pdx.edu             | wouldn't be the same one as        |
| ...!tektronix!psueea!eecs!griffith   | Portland State University anyways. |

hoover@math4.uni-bielefeld.de (Uwe Sch"urkamp) (09/17/90)

Dear Andy,
 hold out, I am going to look it up in the Hardware Reference Manual.
I can't explain just by remembering...
till then,
	hoover