Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!pasteur!cory.Berkeley.EDU!soohoo From: soohoo@cory.Berkeley.EDU (Ken "nmi" Soohoo) Newsgroups: comp.sys.atari.st Subject: Re: Fine scrollin' Summary: It can be done... Keywords: graphics atari helpx2 Message-ID: <22178@pasteur.Berkeley.EDU> Date: 16 Feb 90 16:33:46 GMT References: <1199@elmgate.UUCP> <1990Feb13.162107.2537@gpu.utcs.utoronto.ca> <1205@elmgate.UUCP> Sender: news@pasteur.Berkeley.EDU Reply-To: soohoo@cory.Berkeley.EDU.UUCP (Ken "nmi" Soohoo) Organization: University of California, Berkeley Lines: 39 [Article related the woes of attempting to fine scroll using a full screen blit, through both VDI and LineA] Jeff, First of all, if you want to see fine scrolling of the entire screen done smoothly and well, take a look at NEOSHOW... I've been toying with writing games and other such nonsense on the ST for quite some time, and the ways to fine scroll are various and sundry, but they amount to this: 1) You MUST double buffer -- i.e. draw to a second screen while you show the user another screen, then swap the two when you have a new screen created. 2) It's much better if you want to vertical scroll and NOT horizontal scroll, 'cause you can word align your blit area. 3) If you want to horizontal scroll, the fastest way is to pre-shift the entire playfield that you're scrolling, and word-align blit the rasters into your double buffer. 4) You can keep a gigantic map elsewhere and blit sections of it to a "window" within your screen, scrolling within the screen, so that you avoid the hit to scroll the entire thing. 5) Generate your scrolling screen on the fly by blitting lots of little pre-shifted squares (16x16 is the usual choice), using your own bit blit routines. 6) If you don't need the functionality of the logic operations from the VDI and LineA routines, then write your own blit routines. If you're using 16x16 sprites, even a bitblit written in C will outstrip the system (I know, I wrote one for grins). Larger areas must have assembly. 7) Use the blitter if possible. 8) Buy an STE, they have hardware support for fine horizontal and vertical scrolling, and darn if it ain't pretty to see! Hope my ramblings help ;-) --Kenneth "kens" Soohoo (soohoo@cory.Berkeley.Edu) Atari Hacker (Atari's Hacker...) "It could be worse, you could get hit by a bus..." My opinions are my OWN, _not_ necessarily Atari's. But "hey", who knows?