Pengwin #1 Posted July 28, 2007 OK, after 20 years, I have finally got my head around custom display lists and DLI's. Using Quick makes DLI's and VBI's so easy. However, there are a couple of things I'm still not clear about. What do the VSCROLL and HSCROLL bits do? Quote Share this post Link to post Share on other sites
MrFish #2 Posted July 28, 2007 What do the VSCROLL and HSCROLL bits do? Mapping the Atari, it's a great reference... Quote Share this post Link to post Share on other sites
danwinslow #3 Posted July 28, 2007 I found the following in about 20 seconds using good old google : DLI: If display list interrupts are enabled and this bit is set, ANTIC will trigger a NMI during the last scan line of this mode line. LMS: The following two bytes specify the starting address of the screen data for this mode line. Note that screen data cannot cross a 4K boundary unless this bit is used. VScroll: If set, ANTIC will fine scroll the mode line according to the VSCROL register. More accurately, if this is the first display list instruction that has VScroll set, ANTIC will behave as if it is at the VSCROL'th scan line of this mode line. As soon as ANTIC reaches a mode line that does not have VScroll set, it will show VSCROL+1 scan lines of that mode line, then continue on as normal. Note: if VSCROL is larger than the number of scan lines in the first scrolled mode line, ANTIC will add 16 scan lines to the original mode line count. In other words, the remaining scan line count will be ((scan lines / mode line) - VSCROL) MOD 16, with 0 counting as 16 scan lines. Until the scan line count reaches 0, ANTIC will repeat the display of the same mode line. If this is a text mode 2 or 3 line, the first two scan lines will have font data for mode 3 lines 9 and 10 (blank for most characters, top two lines for lowercase letters), which corresponds with the VSCROL value. The next scan line shows the font data for line 3, indicating that ANTIC ignores bit 3 of the line count unless it's line 9 or 10. When ANTIC gets to the line that has VScroll cleared, it will show VSCROL+1 scan lines of that mode line, repeating that mode line if needed. Again, if this is a text mode 2 or 3 line and VSCROL >= 8, lines 9 and 10 will perform as in mode 3 and line 11 will wrap back to line 3. HScroll: If set, ANTIC will fine scroll the mode line according to the HSCROL register. Also, the amount of screen data used for this line changes depending on the playfield width: if using a narrow playfield, the bytes required for a normal playfield are taken; if using a normal playfield, the bytes required for a wide playfield are taken; if using a wide playfield, the bytes taken does not change. Quote Share this post Link to post Share on other sites
Pengwin #4 Posted July 28, 2007 Thanks for the quick replies guys. I may try some experiments with scrolling when I have some spare time. Out of curiosity, did any other computers of that era also have something like customisable display lists? Or was this a peculiarity of the Atari? Quote Share this post Link to post Share on other sites
Bryan #5 Posted July 28, 2007 Thanks for the quick replies guys. I may try some experiments with scrolling when I have some spare time. Out of curiosity, did any other computers of that era also have something like customisable display lists? Or was this a peculiarity of the Atari? It was an Atari thing. Most machines (before and after) simply had modes that affected the entire screen. It was an outgrowth of the 2600's architecture where everything was done on a line-by-line basis. Antic was designed to automate the things that the 2600 used to do via the CPU. Of course, the display capabilities were upgraded quite a bit too. Quote Share this post Link to post Share on other sites