•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The GFA-BASIC Toolkit - Volume 1
Author      : John L. Hutchinson
Version     : GFA_TKV1.HYP v0.50 (7/14/2008)
Subject     : GFABASIC/Documentation
Nodes       : 164
Index Size  : 3048
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Default
@help       : Help
@options    : +g -i -s +z
@width      : 75
@hostname   : THING   
@hostname   : STRNGSRV
@hostname   : HIGHWIRE
@hostname   : CAB     »       BITBLIT.LST
' 2.08 - 2.25 bitblit_effects
' ===================================================================
' BITBLIT.LST
'
' This routine consists of seventeen separate BITBLT type video
' effect procedures which are to be called independently.  No
' parameters are required.  The effects procedures included in this
' routine are:
'      iris, rndom, cross, assemble, checker, vert_blind, curtains,
'      spiral, puzzle, wipe_right, wipe_left, wipe_up, wipe_down,
'      appear_down, appear_up, appear_left, appear_right
'
' The intended use for these routines is to load or build a screen
' display to a hidden, alternate screen address then call a BITBLT
' routine to display it to the physical screen.  Potential is
' unlimited, of course.
'
' This routine also includes the procedure setup_bitblit, which
' must be called from each BITBLT video procdure.  Ensure this
' procedure is merged into your program along with the desired
' effects procedures.
'
' You must initialize these procedures by setting aside screen memory
' and dimensioning temporary arrays.  Also, the procedure check_res
' must be called prior to setup_bitblit.  For example:
'
'      scr0%=XBIOS(2)                   ! physical screen address
'      scr1$=STRING$(32767,0)           ! reserve some space
'      scr1%=V:scr1$                    ! background screen address
'      DIM s%(5),d%(5),p%(8)            ! dimension BITBLT arrays
'      check_res                        ! find resolution
'
' *** NOTE: Most routines have been designed for LOW resolution use
'            only. Change the array elements accordingly for other
'             resolutions.
'
' For those who wish to experiment with BITBLT, array definitions
' are:
'
' *** p%(0) thru p%(3) contain source block coordinates:
' p%(0) is left x-coordinate of source block
' p%(1) is upper y-coordinate of source block
' p%(2) is right x-coordinate of source block
' p%(3) is lower y-coordinate of source block
'
' *** p%(4) thru p%(7) contain destination block coordinates:
' p%(4) is left x-coordinate of destination block
' p%(5) is upper y-coordinate of destination block
' p%(6) is right x-coordinate of destination block
' p%(7) is lower y-coordinate of destination block
'
' p%(8) is the graphics copy mode (3, 6, 7 or 13)
' *** 3 = Replace, 6 = XOR, 7 = Transparent, 13 = Inverse Transparent
'
' *** s%() contains SMFDB (Source Memory Form Description Block)
' s%(0) is the source screen address
' s%(1) is the screen pixel width (must be divisible by 16)
' s%(2) is the screen pixel height
' s%(3) is the screen width in words (or number of pixels/16)
' s%(4) is reserved: always zero