The new graphics.library and the ECS provide a more powerful display window specification. The registers DIWSTRT and DIWSTOP control the display window size and position: DIWSTRT W A D Display Window Start (upper left vert-hor pos) DIWSTOP W A D Display Window Stop (lower right vert-hor pos) Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Use V7 V6 V5 V4 V3 V2 V1 V0 H7 H6 H5 H4 H3 H2 H1 H0 The way these two registers work has changed. DIWSTRT used to be vertically restricted to the upper 2/3 of the display (V8=0), and horizontally restricted to the left 3/4 of the display (H8=0). DIWSTOP used to be vertically restricted to the lower 1/2 of the display and horizontally restricted to the right 1/4 of the display (H8=1). The V36 graphics.library now supports explicit display window start and stop positions within a larger and more useful range of values, via control of the the new DIWHIGH register in the ViewPort copper lists: DIWHIGH W A D Display Window upper bits for start,stop Bit Use --- --- 15 0 14 0 13 H8 Horizontal stop, most significant bit. 12 0 11 0 10 V10 \ 9 V9 } Vertical stop, most significant 3 bits. 8 V8 / 7 0 6 - 5 H8 Horizontal start, most significant bit. 4 0 3 0 2 V10 \ 1 V9 } Vertical stop, most significant 3 bits. 0 V8 / This is an added register for the ECS chips, and allows larger start and stop ranges. If it is not written, the old scheme for DIWSTRT and DIWSTOP described above holds. If this register is written last in a sequence of setting the display window, it sets direct start and stop positions anywhere on the screen. A note on ECS compatibility. ---------------------------- With the enhanced Denise chip present, the graphics.library will set up copperlists using the new, explicit display window controls. Programs which consistently call MakeVPort(), MrgCop() and Loadview() when changing the vertical position of their ViewPort (DxOffset) will continue to behave normally. Programs which failed to call MakeVPort() when moving the ViewPort vertically may not be displayed correctly on a system with ECS.
[Back to Amiga Developer Docs]