name: ScreenGrab 1.02 (UPDATED VERSION)
author: CasmA & neBula
size: 1432 Bytes
needs: probably works with ro2 and ro3, but unnecessary pre risc-pc
descr.: The Ultimate (hmm...) Screen Grab Utility
----------------------------------------------------------------------------
As *info used to demonstrate frequently (but strangly *only* with
screenshots of CasmA's programs), there is no easy way to screen grab a 256
colour screen with a funny palette properly.
So we wrote a good screen grabber.
How2usE
~~~~~~~
For Paletted modes (1,2,4,8 bpp)
* press Ctrl-Alt-S to save the screen as a 24bpp sprite
* press Ctrl-Shift-Alt-S to save the screen as a sprite with the
PROPER palette
For Non-Paletted modes (16,24bpp)
* press Ctrl-Alt-S to save the screen as a sprite
the sprites will be saved to the CSD, unless you specify a directory by
setting the SysVar ScreenGrab$Dir. They will be called scr1, scr2, etc
unless you change the specify a new base name by changing ScreenGrab$Name
oPTiMiSaTioN
""""""""""""
when the screengrabber has to render an 8bpp mode as a 24bpp sprite it uses
OS_GBPB to write to the disc in chunks of size
width_of_screen<<BUFFER_SHIFT%. Experience has shown that for CasmA's hard
drive to get the largest speed/memory ratio BUFFER_SHIFT% should be about 4.
DiSCLAiMeR
'`'`'`'`'`
if your computer crashes a lot after loading this module, there is a small
non-zero probability it is our fault. oops.
HiSToRy
^-^ ^-^
1.02 thanks to Tony Haines. changed mode detection to get around bug in
OS_ReadModeVariable. Specifically, if you select a mode with a bpp
other than 8, but then include the &3,&ff words you would use to
get an 8bpp greyscale mode in the mode specifier block. If you
then read the value of MAX_COL using the swi, the swi thinks you
are in an 8pp grayscale mode, even though OS_ScreenMode worked
properly.
1.01 Disables interrupts during the call back routine, in case there
is a tripple buffering routine attached to an interrupt
1.00 original release version.
cOntAct
¬¬¬¬¬¬¬
CasmA : adcock@intonet.co.uk
neBula : your best bet is to contact him through CasmA