home *** CD-ROM | disk | FTP | other *** search
- Preshift Menu Help
- ==================
-
- Preshifting is a technique used to increase the speed of sprite plotting.
- A preshifted sprite can be written to the screen 4 pixels at a time instead
- of one.
-
- **NOTE** : PRESHIFTING IS ONLY AVILABLE IN FSP2 FORMAT FILES.
-
- Up to four copies of the sprite may need to be stored - if you want to plot
- a sprite at ANY horizontal position you will need all four.
-
- Let's say that n is an integer. If you want to plot your sprite at x
- coordinates which are 4n+0 (eg 0,4,8,12,16...) you must switch on the toggle icon marked '0' for that sprite. If you want to plot the sprite at x
- coordinates of 4n+1 (1,5,9,13,17...) you must switch on the toggle marked
- '1' and so on.
-
- Using preshifting with all toggles 0-3 on will mean a lot of memory is used
- for the sprite file, but the sprite can be plotted in any position. If the
- sprite isn't going to move horizontally, you can save memory by just setting
- the '0' toggle.
-
- Note that the settings of the preshifting controls will affect every FRAME
- of the sprite that is showing, but the controls must be set individually
- for each separate sprite.
-
- Advanced Use
- ============
-
- To get the best from FastSpr you'll have to know a bit about how it works.
- A sprite can be plotted using up to three techniques.
-
- (1) The STRB block
- ==================
-
- This moves pixels to the screen one pixel at a time. It can write any shape
- of sprite, but only manages one pixel every 6 cycles (ARM 2). This is the
- method used exclusively in FSP1 format files. This technique can also clip
- a sprite to any horizontal position. Stores 4 bytes in the file per pixel.
-
- (2) The STR block
- =================
-
- This moves pixels to the screen four at a time. It can only write a
- horizontal line of four pixels which start where the x coordinate is a
- multiple of 4. It can only clip to windows where the horizontal coordinates
- are multiples of 4. Speed is roughly one pixel every two cycles. Stores 2
- bytes in the file per pixel.
-
- (3 The STM block
- =================
-
- This moves pixels to the screen 12 or 28 at a time. It can only write a
- horizontal line of 12 or 28 pixels which start where the x coordinate is a
- multiple of 4. It can only clip to windows where the horizontal coordinates
- are multiples of 4. Speed is about 1 pixel per cycle. Stores just over one
- byte in the file per pixel.
-
- Note that there are a lot of other overheads such as clipping tables, which
- increase the size of the file further.
-
- FSPConv compiles files which will plot as much of the sprite as possible
- using (3), plot as much of the rest as possible with (2), and plot what's
- left with (1).
-
- You may permit or forbid FSPConv to use (2) and (3) for a particular sprite
- with the toggles at the bottom of the sprite window. Points to note:
-
- • If you switch off the STR and STM block you are no longer using
- preshifting at all. The sprite will be plotted as if it were from an
- FSP1 format file and the settings of the toggles 0-3 are ignored.
-
- • Solid sprites of 15 (or just over) or 31 (or just over) pixels in width
- can be plotted very quickly using STM blocks.
-
- • Transparent areas may reduce the plotting speed as STR or STM blocks are
- more difficult to produce (as there are fewer continuous horizontal lines
- of pixels) and the rest will need to be plotted using an STRB block.
-
- You can make a big difference to the size of your sprite file with the pre-
- shifting controls. Experiment to find the ideal set for your application.
-
-
-