IIRC if you have a 320x256 screen at memory location X, if you scroll 1 pixel right, the (320,0) pixel of the top line of the display is actually the 321st pixel of the screen, i.e., the pixel that was previously at (0,1). The last pixel of the display should be what was previously at (0,0). Well, err, this is how some 8 bit computers work, heh, I never did much Amiga programming, although I did a horizontal scroll using the 2-screen width display method as described in an earlier post, but that was in Blitz Basic.
Of course, writing 16 pixels at once was much easier than updating a single pixel every time you scroll by 1 pixel, because of the Amiga's bitplane display.
So you set up a 320x256 display onto a 336x256 display (for horizontal scrolling only). The right 16 pixels are hidden. Of course, that still requires the game to be able to update 256*16/8*bitplanes bytes of memory every time you scroll. Better to have a 352x256 display. Scroll right into the 16 pixels next to the screen, and with 1px/frame scrolling, you only have to update 1/16th of the update buffer each frame (with 2px/frame scrolling, that'd be 1/8th). A much more even balance of work per frame, and much friendlier for variable speed scrolls too I suppose.
The C64 had a 40 column tiled mode. For scrolling in this mode, you could hide the left and rightmost column of tiles to make it 38 columns displayed. Then you'd have the offscreen 'update buffer' for your game.