[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]

  1. Shrink the screen (the border will expand).
  2. Set the scrolling register to maximum (or minimum value depending upon the direction of your scroll).
  3. Place the new data on the proper (covered) portion of the screen.
  4. Increment (or decrement) the scrolling register until it reaches the maximum (or minimum) value.
  5. At this point, use your machine language routine to shift the entire screen one entire character in the direction of the scroll.
  6. Go back to step 2.

To go into 38 column mode, bit 3 of location 53270 ($D016) must be set to a 0. The following POKE does this:

   POKE 53270,PEEK(53270)AND 247
To return to 40 column mode, set bit 3 of location 53270 ($D016) to a 1. The following POKE does this:
   POKE 53270,PEEK(53270)OR 8
To go into 24 row mode, bit 3 of location 53265 ($D011) must be set to a 0. The following POKE will do this:
   POKE 53265,PEEK(53265)AND 247
To return to 25 row mode, set bit 3 of location 53265 ($D011) to a 1. The following POKE does this:
   POKE 53265,PEEK(53265)OR 8

When scrolling in the X direction, it is necessary to place the VIC-II chip into 38 column mode. This gives new data a place to scroll from. When scrolling LEFT, the new data should be placed on the right. When scrolling RIGHT the new data should be placed on the left. Please note that there are still 40 columns to screen memory, but only 38 are visible.

When scrolling in the Y direction, it is necessary to place the VIC-II chip into 24 row mode. When scrolling UP, place the new data in the LAST row. When scrolling DOWN, place the new data on the FIRST row. Unlike X scrolling, where there are covered areas on each side of the screen, there is only one covered area in Y scrolling. When the Y scrolling


[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated May 12, 2002.