Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199609.adf » Regulars » StarInfo/Pattni/!Help

StarInfo/Pattni/!Help

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199609.adf » Regulars
Filename: StarInfo/Pattni/!Help
Read OK:
File size: 2513 bytes
Load address: 0000
Exec address: 0000
File contents
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *
 **|   Title: Help
 * | Purpose: Documentation on Deeper
 * |  Author: � Sanjay Pattni 1996
 * | Version: 0.01 (18 Feb 1996)
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

Abstract
========

Older Acorn machines (ie. machines running RISC OS 3.1) are unable to
display deep (16bpp and 24bpp) sprites. A module has been written to
overcome this problem.

/* ---------------------------------------------------------------- *
 **| Contents
 * ---------------------------------------------------------------- */

* Abstract
* Contents
* Introduction
* Hardware/Software Requirements
* Features
* Limitations
* Installation
* Compatibility

Appendices:
* A: Features (Technical)
* B: Limitationa (Technical)
* C: Ideas for future Expansion (Technical)

/* ---------------------------------------------------------------- */

Introduction
============

RISC OS 3.1 was released long before the Acorn architecture was able
to support 16 and 24 bits per pixel (bpp) modes. Newer architectures
and expansion cards have advanced things since then and 16bpp and
24bpp sprites are now commonly used. Unfortunately, Acorn have not
produced upgraded versions of the "SpriteExtend" and the "ColourTrans"
module for the older machines.

Conversion of 16bpp and 24bpp to 8bpp images is a simple and fast
process so a module which patches RISC OS has been developed to
overcome problems with displaying deep sprites on older machines.

This document is describes the features of "Deeper" - a module to
display deep sprites on RISC OS 3.1.

Note that newer versions of !ChangeFSI are capable of converting 16bpp
and 24bpp sprites to 8bpp sprites. It is recommended that this should
be used for permanent conversion, for high quality conversion or for
full compatibility with RISC OS 3.1 applications. !ChangeFSI uses
superlative algorithms to dither the image during conversion giving
excellent results.


/* ---------------------------------------------------------------- */

Hardware/Software Requirements
==============================

Deeper is for use on Acorn Archimedes type computers:

eg. Archimedes, A3000, A3010, A4000, A5000, A4.

Deeper requires RISC OS 3.1, and ColourTrans 1.57.

                          **** Important *****
 The ColourTrans module (1.07) in the RISC OS ROMS may give problems!

/* ---------------------------------------------------------------- */

Features
========

Deeper will allow many apps to display new format sprites without any
(or only minor) modification.

Non-deep, new format sprites are modified to make them old-style.

Deep sprites are translated on-the-fly to 256 colour sprites when
required.


/* ---------------------------------------------------------------- */

Limitations
===========

There must be sufficient free memory to transform the deep sprite to a
256 colour sprite whilst plotting.

The deep sprite is converted to a 256 colour sprite with the default
8bpp mode desktop palette, ie. palette is not optimised for the
sprite.

Masked sprites: the mask is ignored.

Programs which assume the format of the image data will not function
correctly, eg. automated tracing programs like "!Trace" and the Turbo
Printer Drivers.

Applications which display info on sprites will incorrectly say the
sprite is in a 256 colour mode.


/* ---------------------------------------------------------------- */

Installation
============

Simply run the module to install it.

Deeper provides 2 *Commands:

*Deeper_On
This switches on the module's RISC OS patch routines.
This is the default state.

*Deeper_Off
This switches off the module's RISC OS patch routines.


/* ---------------------------------------------------------------- */

Compatibility
=============

Generally speaking, any well written application which doesn't do anything
'clever' or try to edit the image will be compatible with Deeper.

RISC OS WIMP manager	(3.16)
  No known problems.

!Draw         		(0.88)
  No known problems.

!Printers 		(1.22)
  No known problems. I'll check with newer versions later!

TechWriter		(2.12)
  Icon Technology's excellent wp etc package. No known problems.

DrawFile module		(1.43)
  Supplied with Acorn's Toolbox.

!GFXView		(1.21)
  Paul Field's excellent omni-format display program. No known problems.

!Gallery		(1.00)
  Really old program from RISC User. No known problems.

!DrawView		(1.00)
  Really old program from RISC User. No known problems.

!SprView		(1.00)
  Really old program from RISC User. No known problems.

!DrawPlus		(2.24)
  Loads saved drawfiles containing deep sprites ok, but doesn't size imported
  deep sprites correctly!

!Poster			(1.20?)
  Tester said it worked, but his descriptions were vague.

!Vector			(24 Mar 1992 demo)
  No known problems.

PipeDream		(4.??)
  No known problems apparently.

Impression Publisher	(4.05)
  Uses it's own display routines so no known problems.

!Genesis		(?)
  No known problems apparently.

!Webite			(1.23 Demo)
  No known problems.


Problems with:
--------------

!Paint			(1.61)
  Some editing features give crashes - you have been warned!
  It crashes if there is insufficient memory to display it.

CC HP Turbo Drivers	(4.01)
  Sprites printed pixelated - does it's own image processing for printing.
  Presumably simialar results for the CC Canon Turbo Driver.

!Trace			(2.09)
  David Pilling's sprite->draw tracer doesn't trace deep sprites - tries to
  use deep sprite's raster but expects 8bpp sprite raster.

1st Word Plus		(2.??)
  Does anyone still use this c%@p? 1st Word Plus crashes when import is
  attempted.

!ADTP			(1.??)
  Another crap GST program which doesn't seem to work with deep sprites.


/* ---------------------------------------------------------------- *
 **| Appendices
 * ---------------------------------------------------------------- */

A: Features (Technical)
=======================

Deeper recognises new format sprites with a sprite type in the range 1
to 6.

Deeper currently handles the following calls:

    OS_SpriteOp	40		Sprite Info
    Returns nearest conventional mode number.

    OS_SpriteOp 28		Plot Sprite
    OS_SpriteOp 34		Plot Sprite at User Coords.
    OS_SpriteOp	52		Put sprite scaled at user coords.
    OS_SpriteOp 56		Plot Sprite Transformed at User Coords.
    Pixels translation table will be ignored for these calls, Deeper
    uses it's own!

    OS_SpriteOp 41		Read Pixel Colour
    OS_SpriteOp 42		Write Pixel Colour

    OS_ReadModeVariable		(r0=sprite mode word)
    Only responds to variables:
      0  (Mode Variables)	Returns 0
      3  (Colours)		Returns 63 if deep
      4  (X Eig)		Returns nearest modes X Eig
      5  (Y Eig)		Returns nearest modes Y Eig
      9  (Log2BPP)		Returns 3 if deep

    OS_CheckModeValid		(r0=sprite mode word)
    Returns with C flag clear if recognised new format.

    ColourTrans_SelectTable	(r0>=256)
    Returns buffer size of 256 bytes (ie. when called with r4=0).
    Doesn't fill supplied buffer with anything.

    ColourTrans_GenerateTable	(r0>=256)
    Similar to ColourTrans_SelectTable. Not greatly used since it's
    RISC OS 3 only. Is it different anyway? PRM (P1-103) is weird!

    OS_SpriteOp 37		Create/Remove Palette
    Note. Deep sprites can't have palettes (up to RISC OS 3.6 anyway!).

  Supported by RISC OS automatically:
    OS_SpriteOp 33		Flip Vertically
    Wimp_ReadPixTrans		(translation table obviously not supported!)
    OS_SpriteOp 31		Insert Row
    OS_SpriteOp 32		Delete Row
    OS_SpriteOp 57		Insert/Delete Rows
    Note that !Paint is junk and cannot allocate more memory for a row
    insertion.

  Deeper may support the following later:
    OS_SpriteOp 15		Create
    Mode should be a sprite mode word.

Named sprite operations (ie. bit 8 set in OS_SpriteOp) are supported.

Sprites in the WIMP sprite area are supported indirectly via RISC OS
calling OS_SpriteOp with bit 8 or 9 set.

Deeper traps OS_SpriteOp calls which cause problems for some apps:
ie. OS_SpriteOp 60, 61 (Switch output to sprite/mask),
    OS_SpriteOp 54 (Remove Left Hand Wastage).


/* ---------------------------------------------------------------- */

B: Limitations
==============

Non-deep new format sprites cannot be in read-only memory!

Redirection of VDU etc. output to deep sprites will not be supported
_ever_!

OS_SpriteOp 53 (Put Grey Scaled) will not be supported. (RISC OS 3.6
does not support it anyway).

Transfer functions used with ColourTrans_SelectTable are not
supported.

OS_SpriteOp 31 and 57:
!Paint is incredibly thick and can't update the size of the area to
say that there is enough free space. Hence it complains that there is
not enough memory to insert new rows.


/* ---------------------------------------------------------------- */

C: Ideas for future Expansion
=============================

Support for masks in deep sprite. Complicates things immensely, so I
have not implemented this yet.

Support for the following calls:
  OS_SpriteOp 29		Create Mask
  OS_SpriteOp 30		Remove Mask
  OS_SpriteOp 35		Append Sprite
  OS_SpriteOp 43		Read Pixel Mask
  OS_SpriteOp 44		Write Pixel Mask
  OS_SpriteOp 45		Insert Column
  OS_SpriteOp 46		Delete Column
  OS_SpriteOp 47		Flip Hoizontally
  OS_SpriteOp 48		Plot Mask
  OS_SpriteOp 49		Plot Mask at User Coords.
  OS_SpriteOp 50		Plot Mask Scaled at User Coords.
  OS_SpriteOp 55		Plot Mask Transformed at User Coords.
  OS_SpriteOp 58		Insert/Delete Columns
00000000  2f 2a 20 2b 2b 2b 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |/* +++++++++++++|
00000010  2b 2b 2b 2b 2b 2b 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |++++++++++++++++|
*
00000040  2b 2b 2b 20 2a 0a 20 2a  2a 7c 20 20 20 54 69 74  |+++ *. **|   Tit|
00000050  6c 65 3a 20 48 65 6c 70  0a 20 2a 20 7c 20 50 75  |le: Help. * | Pu|
00000060  72 70 6f 73 65 3a 20 44  6f 63 75 6d 65 6e 74 61  |rpose: Documenta|
00000070  74 69 6f 6e 20 6f 6e 20  44 65 65 70 65 72 0a 20  |tion on Deeper. |
00000080  2a 20 7c 20 20 41 75 74  68 6f 72 3a 20 a9 20 53  |* |  Author: . S|
00000090  61 6e 6a 61 79 20 50 61  74 74 6e 69 20 31 39 39  |anjay Pattni 199|
000000a0  36 0a 20 2a 20 7c 20 56  65 72 73 69 6f 6e 3a 20  |6. * | Version: |
000000b0  30 2e 30 31 20 28 31 38  20 46 65 62 20 31 39 39  |0.01 (18 Feb 199|
000000c0  36 29 0a 20 2a 20 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |6). * ++++++++++|
000000d0  2b 2b 2b 2b 2b 2b 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |++++++++++++++++|
*
00000100  2b 2b 2b 2b 2b 2b 20 2a  2f 0a 0a 41 62 73 74 72  |++++++ */..Abstr|
00000110  61 63 74 0a 3d 3d 3d 3d  3d 3d 3d 3d 0a 0a 4f 6c  |act.========..Ol|
00000120  64 65 72 20 41 63 6f 72  6e 20 6d 61 63 68 69 6e  |der Acorn machin|
00000130  65 73 20 28 69 65 2e 20  6d 61 63 68 69 6e 65 73  |es (ie. machines|
00000140  20 72 75 6e 6e 69 6e 67  20 52 49 53 43 20 4f 53  | running RISC OS|
00000150  20 33 2e 31 29 20 61 72  65 20 75 6e 61 62 6c 65  | 3.1) are unable|
00000160  20 74 6f 0a 64 69 73 70  6c 61 79 20 64 65 65 70  | to.display deep|
00000170  20 28 31 36 62 70 70 20  61 6e 64 20 32 34 62 70  | (16bpp and 24bp|
00000180  70 29 20 73 70 72 69 74  65 73 2e 20 41 20 6d 6f  |p) sprites. A mo|
00000190  64 75 6c 65 20 68 61 73  20 62 65 65 6e 20 77 72  |dule has been wr|
000001a0  69 74 74 65 6e 20 74 6f  0a 6f 76 65 72 63 6f 6d  |itten to.overcom|
000001b0  65 20 74 68 69 73 20 70  72 6f 62 6c 65 6d 2e 0a  |e this problem..|
000001c0  0a 2f 2a 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |./* ------------|
000001d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000200  2d 2d 2d 2d 20 2a 0a 20  2a 2a 7c 20 43 6f 6e 74  |---- *. **| Cont|
00000210  65 6e 74 73 0a 20 2a 20  2d 2d 2d 2d 2d 2d 2d 2d  |ents. * --------|
00000220  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000250  2d 2d 2d 2d 2d 2d 2d 2d  20 2a 2f 0a 0a 2a 20 41  |-------- */..* A|
00000260  62 73 74 72 61 63 74 0a  2a 20 43 6f 6e 74 65 6e  |bstract.* Conten|
00000270  74 73 0a 2a 20 49 6e 74  72 6f 64 75 63 74 69 6f  |ts.* Introductio|
00000280  6e 0a 2a 20 48 61 72 64  77 61 72 65 2f 53 6f 66  |n.* Hardware/Sof|
00000290  74 77 61 72 65 20 52 65  71 75 69 72 65 6d 65 6e  |tware Requiremen|
000002a0  74 73 0a 2a 20 46 65 61  74 75 72 65 73 0a 2a 20  |ts.* Features.* |
000002b0  4c 69 6d 69 74 61 74 69  6f 6e 73 0a 2a 20 49 6e  |Limitations.* In|
000002c0  73 74 61 6c 6c 61 74 69  6f 6e 0a 2a 20 43 6f 6d  |stallation.* Com|
000002d0  70 61 74 69 62 69 6c 69  74 79 0a 0a 41 70 70 65  |patibility..Appe|
000002e0  6e 64 69 63 65 73 3a 0a  2a 20 41 3a 20 46 65 61  |ndices:.* A: Fea|
000002f0  74 75 72 65 73 20 28 54  65 63 68 6e 69 63 61 6c  |tures (Technical|
00000300  29 0a 2a 20 42 3a 20 4c  69 6d 69 74 61 74 69 6f  |).* B: Limitatio|
00000310  6e 61 20 28 54 65 63 68  6e 69 63 61 6c 29 0a 2a  |na (Technical).*|
00000320  20 43 3a 20 49 64 65 61  73 20 66 6f 72 20 66 75  | C: Ideas for fu|
00000330  74 75 72 65 20 45 78 70  61 6e 73 69 6f 6e 20 28  |ture Expansion (|
00000340  54 65 63 68 6e 69 63 61  6c 29 0a 0a 2f 2a 20 2d  |Technical)../* -|
00000350  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000380  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 20  |--------------- |
00000390  2a 2f 0a 0a 49 6e 74 72  6f 64 75 63 74 69 6f 6e  |*/..Introduction|
000003a0  0a 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 0a 52  |.============..R|
000003b0  49 53 43 20 4f 53 20 33  2e 31 20 77 61 73 20 72  |ISC OS 3.1 was r|
000003c0  65 6c 65 61 73 65 64 20  6c 6f 6e 67 20 62 65 66  |eleased long bef|
000003d0  6f 72 65 20 74 68 65 20  41 63 6f 72 6e 20 61 72  |ore the Acorn ar|
000003e0  63 68 69 74 65 63 74 75  72 65 20 77 61 73 20 61  |chitecture was a|
000003f0  62 6c 65 0a 74 6f 20 73  75 70 70 6f 72 74 20 31  |ble.to support 1|
00000400  36 20 61 6e 64 20 32 34  20 62 69 74 73 20 70 65  |6 and 24 bits pe|
00000410  72 20 70 69 78 65 6c 20  28 62 70 70 29 20 6d 6f  |r pixel (bpp) mo|
00000420  64 65 73 2e 20 4e 65 77  65 72 20 61 72 63 68 69  |des. Newer archi|
00000430  74 65 63 74 75 72 65 73  0a 61 6e 64 20 65 78 70  |tectures.and exp|
00000440  61 6e 73 69 6f 6e 20 63  61 72 64 73 20 68 61 76  |ansion cards hav|
00000450  65 20 61 64 76 61 6e 63  65 64 20 74 68 69 6e 67  |e advanced thing|
00000460  73 20 73 69 6e 63 65 20  74 68 65 6e 20 61 6e 64  |s since then and|
00000470  20 31 36 62 70 70 20 61  6e 64 0a 32 34 62 70 70  | 16bpp and.24bpp|
00000480  20 73 70 72 69 74 65 73  20 61 72 65 20 6e 6f 77  | sprites are now|
00000490  20 63 6f 6d 6d 6f 6e 6c  79 20 75 73 65 64 2e 20  | commonly used. |
000004a0  55 6e 66 6f 72 74 75 6e  61 74 65 6c 79 2c 20 41  |Unfortunately, A|
000004b0  63 6f 72 6e 20 68 61 76  65 20 6e 6f 74 0a 70 72  |corn have not.pr|
000004c0  6f 64 75 63 65 64 20 75  70 67 72 61 64 65 64 20  |oduced upgraded |
000004d0  76 65 72 73 69 6f 6e 73  20 6f 66 20 74 68 65 20  |versions of the |
000004e0  22 53 70 72 69 74 65 45  78 74 65 6e 64 22 20 61  |"SpriteExtend" a|
000004f0  6e 64 20 74 68 65 20 22  43 6f 6c 6f 75 72 54 72  |nd the "ColourTr|
00000500  61 6e 73 22 0a 6d 6f 64  75 6c 65 20 66 6f 72 20  |ans".module for |
00000510  74 68 65 20 6f 6c 64 65  72 20 6d 61 63 68 69 6e  |the older machin|
00000520  65 73 2e 0a 0a 43 6f 6e  76 65 72 73 69 6f 6e 20  |es...Conversion |
00000530  6f 66 20 31 36 62 70 70  20 61 6e 64 20 32 34 62  |of 16bpp and 24b|
00000540  70 70 20 74 6f 20 38 62  70 70 20 69 6d 61 67 65  |pp to 8bpp image|
00000550  73 20 69 73 20 61 20 73  69 6d 70 6c 65 20 61 6e  |s is a simple an|
00000560  64 20 66 61 73 74 0a 70  72 6f 63 65 73 73 20 73  |d fast.process s|
00000570  6f 20 61 20 6d 6f 64 75  6c 65 20 77 68 69 63 68  |o a module which|
00000580  20 70 61 74 63 68 65 73  20 52 49 53 43 20 4f 53  | patches RISC OS|
00000590  20 68 61 73 20 62 65 65  6e 20 64 65 76 65 6c 6f  | has been develo|
000005a0  70 65 64 20 74 6f 0a 6f  76 65 72 63 6f 6d 65 20  |ped to.overcome |
000005b0  70 72 6f 62 6c 65 6d 73  20 77 69 74 68 20 64 69  |problems with di|
000005c0  73 70 6c 61 79 69 6e 67  20 64 65 65 70 20 73 70  |splaying deep sp|
000005d0  72 69 74 65 73 20 6f 6e  20 6f 6c 64 65 72 20 6d  |rites on older m|
000005e0  61 63 68 69 6e 65 73 2e  0a 0a 54 68 69 73 20 64  |achines...This d|
000005f0  6f 63 75 6d 65 6e 74 20  69 73 20 64 65 73 63 72  |ocument is descr|
00000600  69 62 65 73 20 74 68 65  20 66 65 61 74 75 72 65  |ibes the feature|
00000610  73 20 6f 66 20 22 44 65  65 70 65 72 22 20 2d 20  |s of "Deeper" - |
00000620  61 20 6d 6f 64 75 6c 65  20 74 6f 0a 64 69 73 70  |a module to.disp|
00000630  6c 61 79 20 64 65 65 70  20 73 70 72 69 74 65 73  |lay deep sprites|
00000640  20 6f 6e 20 52 49 53 43  20 4f 53 20 33 2e 31 2e  | on RISC OS 3.1.|
00000650  0a 0a 4e 6f 74 65 20 74  68 61 74 20 6e 65 77 65  |..Note that newe|
00000660  72 20 76 65 72 73 69 6f  6e 73 20 6f 66 20 21 43  |r versions of !C|
00000670  68 61 6e 67 65 46 53 49  20 61 72 65 20 63 61 70  |hangeFSI are cap|
00000680  61 62 6c 65 20 6f 66 20  63 6f 6e 76 65 72 74 69  |able of converti|
00000690  6e 67 20 31 36 62 70 70  0a 61 6e 64 20 32 34 62  |ng 16bpp.and 24b|
000006a0  70 70 20 73 70 72 69 74  65 73 20 74 6f 20 38 62  |pp sprites to 8b|
000006b0  70 70 20 73 70 72 69 74  65 73 2e 20 49 74 20 69  |pp sprites. It i|
000006c0  73 20 72 65 63 6f 6d 6d  65 6e 64 65 64 20 74 68  |s recommended th|
000006d0  61 74 20 74 68 69 73 20  73 68 6f 75 6c 64 0a 62  |at this should.b|
000006e0  65 20 75 73 65 64 20 66  6f 72 20 70 65 72 6d 61  |e used for perma|
000006f0  6e 65 6e 74 20 63 6f 6e  76 65 72 73 69 6f 6e 2c  |nent conversion,|
00000700  20 66 6f 72 20 68 69 67  68 20 71 75 61 6c 69 74  | for high qualit|
00000710  79 20 63 6f 6e 76 65 72  73 69 6f 6e 20 6f 72 20  |y conversion or |
00000720  66 6f 72 0a 66 75 6c 6c  20 63 6f 6d 70 61 74 69  |for.full compati|
00000730  62 69 6c 69 74 79 20 77  69 74 68 20 52 49 53 43  |bility with RISC|
00000740  20 4f 53 20 33 2e 31 20  61 70 70 6c 69 63 61 74  | OS 3.1 applicat|
00000750  69 6f 6e 73 2e 20 21 43  68 61 6e 67 65 46 53 49  |ions. !ChangeFSI|
00000760  20 75 73 65 73 0a 73 75  70 65 72 6c 61 74 69 76  | uses.superlativ|
00000770  65 20 61 6c 67 6f 72 69  74 68 6d 73 20 74 6f 20  |e algorithms to |
00000780  64 69 74 68 65 72 20 74  68 65 20 69 6d 61 67 65  |dither the image|
00000790  20 64 75 72 69 6e 67 20  63 6f 6e 76 65 72 73 69  | during conversi|
000007a0  6f 6e 20 67 69 76 69 6e  67 0a 65 78 63 65 6c 6c  |on giving.excell|
000007b0  65 6e 74 20 72 65 73 75  6c 74 73 2e 0a 0a 0a 2f  |ent results..../|
000007c0  2a 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |* --------------|
000007d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000800  2d 2d 20 2a 2f 0a 0a 48  61 72 64 77 61 72 65 2f  |-- */..Hardware/|
00000810  53 6f 66 74 77 61 72 65  20 52 65 71 75 69 72 65  |Software Require|
00000820  6d 65 6e 74 73 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ments.==========|
00000830  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000840  3d 3d 3d 3d 0a 0a 44 65  65 70 65 72 20 69 73 20  |====..Deeper is |
00000850  66 6f 72 20 75 73 65 20  6f 6e 20 41 63 6f 72 6e  |for use on Acorn|
00000860  20 41 72 63 68 69 6d 65  64 65 73 20 74 79 70 65  | Archimedes type|
00000870  20 63 6f 6d 70 75 74 65  72 73 3a 0a 0a 65 67 2e  | computers:..eg.|
00000880  20 41 72 63 68 69 6d 65  64 65 73 2c 20 41 33 30  | Archimedes, A30|
00000890  30 30 2c 20 41 33 30 31  30 2c 20 41 34 30 30 30  |00, A3010, A4000|
000008a0  2c 20 41 35 30 30 30 2c  20 41 34 2e 0a 0a 44 65  |, A5000, A4...De|
000008b0  65 70 65 72 20 72 65 71  75 69 72 65 73 20 52 49  |eper requires RI|
000008c0  53 43 20 4f 53 20 33 2e  31 2c 20 61 6e 64 20 43  |SC OS 3.1, and C|
000008d0  6f 6c 6f 75 72 54 72 61  6e 73 20 31 2e 35 37 2e  |olourTrans 1.57.|
000008e0  0a 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000008f0  20 20 20 20 20 20 20 20  20 20 20 20 2a 2a 2a 2a  |            ****|
00000900  20 49 6d 70 6f 72 74 61  6e 74 20 2a 2a 2a 2a 2a  | Important *****|
00000910  0a 20 54 68 65 20 43 6f  6c 6f 75 72 54 72 61 6e  |. The ColourTran|
00000920  73 20 6d 6f 64 75 6c 65  20 28 31 2e 30 37 29 20  |s module (1.07) |
00000930  69 6e 20 74 68 65 20 52  49 53 43 20 4f 53 20 52  |in the RISC OS R|
00000940  4f 4d 53 20 6d 61 79 20  67 69 76 65 20 70 72 6f  |OMS may give pro|
00000950  62 6c 65 6d 73 21 0a 0a  2f 2a 20 2d 2d 2d 2d 2d  |blems!../* -----|
00000960  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000990  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 20 2a 2f 0a 0a  |----------- */..|
000009a0  46 65 61 74 75 72 65 73  0a 3d 3d 3d 3d 3d 3d 3d  |Features.=======|
000009b0  3d 0a 0a 44 65 65 70 65  72 20 77 69 6c 6c 20 61  |=..Deeper will a|
000009c0  6c 6c 6f 77 20 6d 61 6e  79 20 61 70 70 73 20 74  |llow many apps t|
000009d0  6f 20 64 69 73 70 6c 61  79 20 6e 65 77 20 66 6f  |o display new fo|
000009e0  72 6d 61 74 20 73 70 72  69 74 65 73 20 77 69 74  |rmat sprites wit|
000009f0  68 6f 75 74 20 61 6e 79  0a 28 6f 72 20 6f 6e 6c  |hout any.(or onl|
00000a00  79 20 6d 69 6e 6f 72 29  20 6d 6f 64 69 66 69 63  |y minor) modific|
00000a10  61 74 69 6f 6e 2e 0a 0a  4e 6f 6e 2d 64 65 65 70  |ation...Non-deep|
00000a20  2c 20 6e 65 77 20 66 6f  72 6d 61 74 20 73 70 72  |, new format spr|
00000a30  69 74 65 73 20 61 72 65  20 6d 6f 64 69 66 69 65  |ites are modifie|
00000a40  64 20 74 6f 20 6d 61 6b  65 20 74 68 65 6d 20 6f  |d to make them o|
00000a50  6c 64 2d 73 74 79 6c 65  2e 0a 0a 44 65 65 70 20  |ld-style...Deep |
00000a60  73 70 72 69 74 65 73 20  61 72 65 20 74 72 61 6e  |sprites are tran|
00000a70  73 6c 61 74 65 64 20 6f  6e 2d 74 68 65 2d 66 6c  |slated on-the-fl|
00000a80  79 20 74 6f 20 32 35 36  20 63 6f 6c 6f 75 72 20  |y to 256 colour |
00000a90  73 70 72 69 74 65 73 20  77 68 65 6e 0a 72 65 71  |sprites when.req|
00000aa0  75 69 72 65 64 2e 0a 0a  0a 2f 2a 20 2d 2d 2d 2d  |uired..../* ----|
00000ab0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000ae0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 20 2a 2f 0a  |------------ */.|
00000af0  0a 4c 69 6d 69 74 61 74  69 6f 6e 73 0a 3d 3d 3d  |.Limitations.===|
00000b00  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 54 68 65 72 65 20  |========..There |
00000b10  6d 75 73 74 20 62 65 20  73 75 66 66 69 63 69 65  |must be sufficie|
00000b20  6e 74 20 66 72 65 65 20  6d 65 6d 6f 72 79 20 74  |nt free memory t|
00000b30  6f 20 74 72 61 6e 73 66  6f 72 6d 20 74 68 65 20  |o transform the |
00000b40  64 65 65 70 20 73 70 72  69 74 65 20 74 6f 20 61  |deep sprite to a|
00000b50  0a 32 35 36 20 63 6f 6c  6f 75 72 20 73 70 72 69  |.256 colour spri|
00000b60  74 65 20 77 68 69 6c 73  74 20 70 6c 6f 74 74 69  |te whilst plotti|
00000b70  6e 67 2e 0a 0a 54 68 65  20 64 65 65 70 20 73 70  |ng...The deep sp|
00000b80  72 69 74 65 20 69 73 20  63 6f 6e 76 65 72 74 65  |rite is converte|
00000b90  64 20 74 6f 20 61 20 32  35 36 20 63 6f 6c 6f 75  |d to a 256 colou|
00000ba0  72 20 73 70 72 69 74 65  20 77 69 74 68 20 74 68  |r sprite with th|
00000bb0  65 20 64 65 66 61 75 6c  74 0a 38 62 70 70 20 6d  |e default.8bpp m|
00000bc0  6f 64 65 20 64 65 73 6b  74 6f 70 20 70 61 6c 65  |ode desktop pale|
00000bd0  74 74 65 2c 20 69 65 2e  20 70 61 6c 65 74 74 65  |tte, ie. palette|
00000be0  20 69 73 20 6e 6f 74 20  6f 70 74 69 6d 69 73 65  | is not optimise|
00000bf0  64 20 66 6f 72 20 74 68  65 0a 73 70 72 69 74 65  |d for the.sprite|
00000c00  2e 0a 0a 4d 61 73 6b 65  64 20 73 70 72 69 74 65  |...Masked sprite|
00000c10  73 3a 20 74 68 65 20 6d  61 73 6b 20 69 73 20 69  |s: the mask is i|
00000c20  67 6e 6f 72 65 64 2e 0a  0a 50 72 6f 67 72 61 6d  |gnored...Program|
00000c30  73 20 77 68 69 63 68 20  61 73 73 75 6d 65 20 74  |s which assume t|
00000c40  68 65 20 66 6f 72 6d 61  74 20 6f 66 20 74 68 65  |he format of the|
00000c50  20 69 6d 61 67 65 20 64  61 74 61 20 77 69 6c 6c  | image data will|
00000c60  20 6e 6f 74 20 66 75 6e  63 74 69 6f 6e 0a 63 6f  | not function.co|
00000c70  72 72 65 63 74 6c 79 2c  20 65 67 2e 20 61 75 74  |rrectly, eg. aut|
00000c80  6f 6d 61 74 65 64 20 74  72 61 63 69 6e 67 20 70  |omated tracing p|
00000c90  72 6f 67 72 61 6d 73 20  6c 69 6b 65 20 22 21 54  |rograms like "!T|
00000ca0  72 61 63 65 22 20 61 6e  64 20 74 68 65 20 54 75  |race" and the Tu|
00000cb0  72 62 6f 0a 50 72 69 6e  74 65 72 20 44 72 69 76  |rbo.Printer Driv|
00000cc0  65 72 73 2e 0a 0a 41 70  70 6c 69 63 61 74 69 6f  |ers...Applicatio|
00000cd0  6e 73 20 77 68 69 63 68  20 64 69 73 70 6c 61 79  |ns which display|
00000ce0  20 69 6e 66 6f 20 6f 6e  20 73 70 72 69 74 65 73  | info on sprites|
00000cf0  20 77 69 6c 6c 20 69 6e  63 6f 72 72 65 63 74 6c  | will incorrectl|
00000d00  79 20 73 61 79 20 74 68  65 0a 73 70 72 69 74 65  |y say the.sprite|
00000d10  20 69 73 20 69 6e 20 61  20 32 35 36 20 63 6f 6c  | is in a 256 col|
00000d20  6f 75 72 20 6d 6f 64 65  2e 0a 0a 0a 2f 2a 20 2d  |our mode..../* -|
00000d30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000d60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 20  |--------------- |
00000d70  2a 2f 0a 0a 49 6e 73 74  61 6c 6c 61 74 69 6f 6e  |*/..Installation|
00000d80  0a 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 0a 53  |.============..S|
00000d90  69 6d 70 6c 79 20 72 75  6e 20 74 68 65 20 6d 6f  |imply run the mo|
00000da0  64 75 6c 65 20 74 6f 20  69 6e 73 74 61 6c 6c 20  |dule to install |
00000db0  69 74 2e 0a 0a 44 65 65  70 65 72 20 70 72 6f 76  |it...Deeper prov|
00000dc0  69 64 65 73 20 32 20 2a  43 6f 6d 6d 61 6e 64 73  |ides 2 *Commands|
00000dd0  3a 0a 0a 2a 44 65 65 70  65 72 5f 4f 6e 0a 54 68  |:..*Deeper_On.Th|
00000de0  69 73 20 73 77 69 74 63  68 65 73 20 6f 6e 20 74  |is switches on t|
00000df0  68 65 20 6d 6f 64 75 6c  65 27 73 20 52 49 53 43  |he module's RISC|
00000e00  20 4f 53 20 70 61 74 63  68 20 72 6f 75 74 69 6e  | OS patch routin|
00000e10  65 73 2e 0a 54 68 69 73  20 69 73 20 74 68 65 20  |es..This is the |
00000e20  64 65 66 61 75 6c 74 20  73 74 61 74 65 2e 0a 0a  |default state...|
00000e30  2a 44 65 65 70 65 72 5f  4f 66 66 0a 54 68 69 73  |*Deeper_Off.This|
00000e40  20 73 77 69 74 63 68 65  73 20 6f 66 66 20 74 68  | switches off th|
00000e50  65 20 6d 6f 64 75 6c 65  27 73 20 52 49 53 43 20  |e module's RISC |
00000e60  4f 53 20 70 61 74 63 68  20 72 6f 75 74 69 6e 65  |OS patch routine|
00000e70  73 2e 0a 0a 0a 2f 2a 20  2d 2d 2d 2d 2d 2d 2d 2d  |s..../* --------|
00000e80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000eb0  2d 2d 2d 2d 2d 2d 2d 2d  20 2a 2f 0a 0a 43 6f 6d  |-------- */..Com|
00000ec0  70 61 74 69 62 69 6c 69  74 79 0a 3d 3d 3d 3d 3d  |patibility.=====|
00000ed0  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 47 65 6e 65 72 61  |========..Genera|
00000ee0  6c 6c 79 20 73 70 65 61  6b 69 6e 67 2c 20 61 6e  |lly speaking, an|
00000ef0  79 20 77 65 6c 6c 20 77  72 69 74 74 65 6e 20 61  |y well written a|
00000f00  70 70 6c 69 63 61 74 69  6f 6e 20 77 68 69 63 68  |pplication which|
00000f10  20 64 6f 65 73 6e 27 74  20 64 6f 20 61 6e 79 74  | doesn't do anyt|
00000f20  68 69 6e 67 0a 27 63 6c  65 76 65 72 27 20 6f 72  |hing.'clever' or|
00000f30  20 74 72 79 20 74 6f 20  65 64 69 74 20 74 68 65  | try to edit the|
00000f40  20 69 6d 61 67 65 20 77  69 6c 6c 20 62 65 20 63  | image will be c|
00000f50  6f 6d 70 61 74 69 62 6c  65 20 77 69 74 68 20 44  |ompatible with D|
00000f60  65 65 70 65 72 2e 0a 0a  52 49 53 43 20 4f 53 20  |eeper...RISC OS |
00000f70  57 49 4d 50 20 6d 61 6e  61 67 65 72 09 28 33 2e  |WIMP manager.(3.|
00000f80  31 36 29 0a 20 20 4e 6f  20 6b 6e 6f 77 6e 20 70  |16).  No known p|
00000f90  72 6f 62 6c 65 6d 73 2e  0a 0a 21 44 72 61 77 20  |roblems...!Draw |
00000fa0  20 20 20 20 20 20 20 20  09 09 28 30 2e 38 38 29  |        ..(0.88)|
00000fb0  0a 20 20 4e 6f 20 6b 6e  6f 77 6e 20 70 72 6f 62  |.  No known prob|
00000fc0  6c 65 6d 73 2e 0a 0a 21  50 72 69 6e 74 65 72 73  |lems...!Printers|
00000fd0  20 09 09 28 31 2e 32 32  29 0a 20 20 4e 6f 20 6b  | ..(1.22).  No k|
00000fe0  6e 6f 77 6e 20 70 72 6f  62 6c 65 6d 73 2e 20 49  |nown problems. I|
00000ff0  27 6c 6c 20 63 68 65 63  6b 20 77 69 74 68 20 6e  |'ll check with n|
00001000  65 77 65 72 20 76 65 72  73 69 6f 6e 73 20 6c 61  |ewer versions la|
00001010  74 65 72 21 0a 0a 54 65  63 68 57 72 69 74 65 72  |ter!..TechWriter|
00001020  09 09 28 32 2e 31 32 29  0a 20 20 49 63 6f 6e 20  |..(2.12).  Icon |
00001030  54 65 63 68 6e 6f 6c 6f  67 79 27 73 20 65 78 63  |Technology's exc|
00001040  65 6c 6c 65 6e 74 20 77  70 20 65 74 63 20 70 61  |ellent wp etc pa|
00001050  63 6b 61 67 65 2e 20 4e  6f 20 6b 6e 6f 77 6e 20  |ckage. No known |
00001060  70 72 6f 62 6c 65 6d 73  2e 0a 0a 44 72 61 77 46  |problems...DrawF|
00001070  69 6c 65 20 6d 6f 64 75  6c 65 09 09 28 31 2e 34  |ile module..(1.4|
00001080  33 29 0a 20 20 53 75 70  70 6c 69 65 64 20 77 69  |3).  Supplied wi|
00001090  74 68 20 41 63 6f 72 6e  27 73 20 54 6f 6f 6c 62  |th Acorn's Toolb|
000010a0  6f 78 2e 0a 0a 21 47 46  58 56 69 65 77 09 09 28  |ox...!GFXView..(|
000010b0  31 2e 32 31 29 0a 20 20  50 61 75 6c 20 46 69 65  |1.21).  Paul Fie|
000010c0  6c 64 27 73 20 65 78 63  65 6c 6c 65 6e 74 20 6f  |ld's excellent o|
000010d0  6d 6e 69 2d 66 6f 72 6d  61 74 20 64 69 73 70 6c  |mni-format displ|
000010e0  61 79 20 70 72 6f 67 72  61 6d 2e 20 4e 6f 20 6b  |ay program. No k|
000010f0  6e 6f 77 6e 20 70 72 6f  62 6c 65 6d 73 2e 0a 0a  |nown problems...|
00001100  21 47 61 6c 6c 65 72 79  09 09 28 31 2e 30 30 29  |!Gallery..(1.00)|
00001110  0a 20 20 52 65 61 6c 6c  79 20 6f 6c 64 20 70 72  |.  Really old pr|
00001120  6f 67 72 61 6d 20 66 72  6f 6d 20 52 49 53 43 20  |ogram from RISC |
00001130  55 73 65 72 2e 20 4e 6f  20 6b 6e 6f 77 6e 20 70  |User. No known p|
00001140  72 6f 62 6c 65 6d 73 2e  0a 0a 21 44 72 61 77 56  |roblems...!DrawV|
00001150  69 65 77 09 09 28 31 2e  30 30 29 0a 20 20 52 65  |iew..(1.00).  Re|
00001160  61 6c 6c 79 20 6f 6c 64  20 70 72 6f 67 72 61 6d  |ally old program|
00001170  20 66 72 6f 6d 20 52 49  53 43 20 55 73 65 72 2e  | from RISC User.|
00001180  20 4e 6f 20 6b 6e 6f 77  6e 20 70 72 6f 62 6c 65  | No known proble|
00001190  6d 73 2e 0a 0a 21 53 70  72 56 69 65 77 09 09 28  |ms...!SprView..(|
000011a0  31 2e 30 30 29 0a 20 20  52 65 61 6c 6c 79 20 6f  |1.00).  Really o|
000011b0  6c 64 20 70 72 6f 67 72  61 6d 20 66 72 6f 6d 20  |ld program from |
000011c0  52 49 53 43 20 55 73 65  72 2e 20 4e 6f 20 6b 6e  |RISC User. No kn|
000011d0  6f 77 6e 20 70 72 6f 62  6c 65 6d 73 2e 0a 0a 21  |own problems...!|
000011e0  44 72 61 77 50 6c 75 73  09 09 28 32 2e 32 34 29  |DrawPlus..(2.24)|
000011f0  0a 20 20 4c 6f 61 64 73  20 73 61 76 65 64 20 64  |.  Loads saved d|
00001200  72 61 77 66 69 6c 65 73  20 63 6f 6e 74 61 69 6e  |rawfiles contain|
00001210  69 6e 67 20 64 65 65 70  20 73 70 72 69 74 65 73  |ing deep sprites|
00001220  20 6f 6b 2c 20 62 75 74  20 64 6f 65 73 6e 27 74  | ok, but doesn't|
00001230  20 73 69 7a 65 20 69 6d  70 6f 72 74 65 64 0a 20  | size imported. |
00001240  20 64 65 65 70 20 73 70  72 69 74 65 73 20 63 6f  | deep sprites co|
00001250  72 72 65 63 74 6c 79 21  0a 0a 21 50 6f 73 74 65  |rrectly!..!Poste|
00001260  72 09 09 09 28 31 2e 32  30 3f 29 0a 20 20 54 65  |r...(1.20?).  Te|
00001270  73 74 65 72 20 73 61 69  64 20 69 74 20 77 6f 72  |ster said it wor|
00001280  6b 65 64 2c 20 62 75 74  20 68 69 73 20 64 65 73  |ked, but his des|
00001290  63 72 69 70 74 69 6f 6e  73 20 77 65 72 65 20 76  |criptions were v|
000012a0  61 67 75 65 2e 0a 0a 21  56 65 63 74 6f 72 09 09  |ague...!Vector..|
000012b0  09 28 32 34 20 4d 61 72  20 31 39 39 32 20 64 65  |.(24 Mar 1992 de|
000012c0  6d 6f 29 0a 20 20 4e 6f  20 6b 6e 6f 77 6e 20 70  |mo).  No known p|
000012d0  72 6f 62 6c 65 6d 73 2e  0a 0a 50 69 70 65 44 72  |roblems...PipeDr|
000012e0  65 61 6d 09 09 28 34 2e  3f 3f 29 0a 20 20 4e 6f  |eam..(4.??).  No|
000012f0  20 6b 6e 6f 77 6e 20 70  72 6f 62 6c 65 6d 73 20  | known problems |
00001300  61 70 70 61 72 65 6e 74  6c 79 2e 0a 0a 49 6d 70  |apparently...Imp|
00001310  72 65 73 73 69 6f 6e 20  50 75 62 6c 69 73 68 65  |ression Publishe|
00001320  72 09 28 34 2e 30 35 29  0a 20 20 55 73 65 73 20  |r.(4.05).  Uses |
00001330  69 74 27 73 20 6f 77 6e  20 64 69 73 70 6c 61 79  |it's own display|
00001340  20 72 6f 75 74 69 6e 65  73 20 73 6f 20 6e 6f 20  | routines so no |
00001350  6b 6e 6f 77 6e 20 70 72  6f 62 6c 65 6d 73 2e 0a  |known problems..|
00001360  0a 21 47 65 6e 65 73 69  73 09 09 28 3f 29 0a 20  |.!Genesis..(?). |
00001370  20 4e 6f 20 6b 6e 6f 77  6e 20 70 72 6f 62 6c 65  | No known proble|
00001380  6d 73 20 61 70 70 61 72  65 6e 74 6c 79 2e 0a 0a  |ms apparently...|
00001390  21 57 65 62 69 74 65 09  09 09 28 31 2e 32 33 20  |!Webite...(1.23 |
000013a0  44 65 6d 6f 29 0a 20 20  4e 6f 20 6b 6e 6f 77 6e  |Demo).  No known|
000013b0  20 70 72 6f 62 6c 65 6d  73 2e 0a 0a 0a 50 72 6f  | problems....Pro|
000013c0  62 6c 65 6d 73 20 77 69  74 68 3a 0a 2d 2d 2d 2d  |blems with:.----|
000013d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 21 50 61 69  |----------..!Pai|
000013e0  6e 74 09 09 09 28 31 2e  36 31 29 0a 20 20 53 6f  |nt...(1.61).  So|
000013f0  6d 65 20 65 64 69 74 69  6e 67 20 66 65 61 74 75  |me editing featu|
00001400  72 65 73 20 67 69 76 65  20 63 72 61 73 68 65 73  |res give crashes|
00001410  20 2d 20 79 6f 75 20 68  61 76 65 20 62 65 65 6e  | - you have been|
00001420  20 77 61 72 6e 65 64 21  0a 20 20 49 74 20 63 72  | warned!.  It cr|
00001430  61 73 68 65 73 20 69 66  20 74 68 65 72 65 20 69  |ashes if there i|
00001440  73 20 69 6e 73 75 66 66  69 63 69 65 6e 74 20 6d  |s insufficient m|
00001450  65 6d 6f 72 79 20 74 6f  20 64 69 73 70 6c 61 79  |emory to display|
00001460  20 69 74 2e 0a 0a 43 43  20 48 50 20 54 75 72 62  | it...CC HP Turb|
00001470  6f 20 44 72 69 76 65 72  73 09 28 34 2e 30 31 29  |o Drivers.(4.01)|
00001480  0a 20 20 53 70 72 69 74  65 73 20 70 72 69 6e 74  |.  Sprites print|
00001490  65 64 20 70 69 78 65 6c  61 74 65 64 20 2d 20 64  |ed pixelated - d|
000014a0  6f 65 73 20 69 74 27 73  20 6f 77 6e 20 69 6d 61  |oes it's own ima|
000014b0  67 65 20 70 72 6f 63 65  73 73 69 6e 67 20 66 6f  |ge processing fo|
000014c0  72 20 70 72 69 6e 74 69  6e 67 2e 0a 20 20 50 72  |r printing..  Pr|
000014d0  65 73 75 6d 61 62 6c 79  20 73 69 6d 69 61 6c 61  |esumably simiala|
000014e0  72 20 72 65 73 75 6c 74  73 20 66 6f 72 20 74 68  |r results for th|
000014f0  65 20 43 43 20 43 61 6e  6f 6e 20 54 75 72 62 6f  |e CC Canon Turbo|
00001500  20 44 72 69 76 65 72 2e  0a 0a 21 54 72 61 63 65  | Driver...!Trace|
00001510  09 09 09 28 32 2e 30 39  29 0a 20 20 44 61 76 69  |...(2.09).  Davi|
00001520  64 20 50 69 6c 6c 69 6e  67 27 73 20 73 70 72 69  |d Pilling's spri|
00001530  74 65 2d 3e 64 72 61 77  20 74 72 61 63 65 72 20  |te->draw tracer |
00001540  64 6f 65 73 6e 27 74 20  74 72 61 63 65 20 64 65  |doesn't trace de|
00001550  65 70 20 73 70 72 69 74  65 73 20 2d 20 74 72 69  |ep sprites - tri|
00001560  65 73 20 74 6f 0a 20 20  75 73 65 20 64 65 65 70  |es to.  use deep|
00001570  20 73 70 72 69 74 65 27  73 20 72 61 73 74 65 72  | sprite's raster|
00001580  20 62 75 74 20 65 78 70  65 63 74 73 20 38 62 70  | but expects 8bp|
00001590  70 20 73 70 72 69 74 65  20 72 61 73 74 65 72 2e  |p sprite raster.|
000015a0  0a 0a 31 73 74 20 57 6f  72 64 20 50 6c 75 73 09  |..1st Word Plus.|
000015b0  09 28 32 2e 3f 3f 29 0a  20 20 44 6f 65 73 20 61  |.(2.??).  Does a|
000015c0  6e 79 6f 6e 65 20 73 74  69 6c 6c 20 75 73 65 20  |nyone still use |
000015d0  74 68 69 73 20 63 25 40  70 3f 20 31 73 74 20 57  |this c%@p? 1st W|
000015e0  6f 72 64 20 50 6c 75 73  20 63 72 61 73 68 65 73  |ord Plus crashes|
000015f0  20 77 68 65 6e 20 69 6d  70 6f 72 74 20 69 73 0a  | when import is.|
00001600  20 20 61 74 74 65 6d 70  74 65 64 2e 0a 0a 21 41  |  attempted...!A|
00001610  44 54 50 09 09 09 28 31  2e 3f 3f 29 0a 20 20 41  |DTP...(1.??).  A|
00001620  6e 6f 74 68 65 72 20 63  72 61 70 20 47 53 54 20  |nother crap GST |
00001630  70 72 6f 67 72 61 6d 20  77 68 69 63 68 20 64 6f  |program which do|
00001640  65 73 6e 27 74 20 73 65  65 6d 20 74 6f 20 77 6f  |esn't seem to wo|
00001650  72 6b 20 77 69 74 68 20  64 65 65 70 20 73 70 72  |rk with deep spr|
00001660  69 74 65 73 2e 0a 0a 0a  2f 2a 20 2d 2d 2d 2d 2d  |ites..../* -----|
00001670  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000016a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 20 2a 0a 20 2a  |----------- *. *|
000016b0  2a 7c 20 41 70 70 65 6e  64 69 63 65 73 0a 20 2a  |*| Appendices. *|
000016c0  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
000016d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001700  2d 20 2a 2f 0a 0a 41 3a  20 46 65 61 74 75 72 65  |- */..A: Feature|
00001710  73 20 28 54 65 63 68 6e  69 63 61 6c 29 0a 3d 3d  |s (Technical).==|
00001720  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00001730  3d 3d 3d 3d 3d 0a 0a 44  65 65 70 65 72 20 72 65  |=====..Deeper re|
00001740  63 6f 67 6e 69 73 65 73  20 6e 65 77 20 66 6f 72  |cognises new for|
00001750  6d 61 74 20 73 70 72 69  74 65 73 20 77 69 74 68  |mat sprites with|
00001760  20 61 20 73 70 72 69 74  65 20 74 79 70 65 20 69  | a sprite type i|
00001770  6e 20 74 68 65 20 72 61  6e 67 65 20 31 0a 74 6f  |n the range 1.to|
00001780  20 36 2e 0a 0a 44 65 65  70 65 72 20 63 75 72 72  | 6...Deeper curr|
00001790  65 6e 74 6c 79 20 68 61  6e 64 6c 65 73 20 74 68  |ently handles th|
000017a0  65 20 66 6f 6c 6c 6f 77  69 6e 67 20 63 61 6c 6c  |e following call|
000017b0  73 3a 0a 0a 20 20 20 20  4f 53 5f 53 70 72 69 74  |s:..    OS_Sprit|
000017c0  65 4f 70 09 34 30 09 09  53 70 72 69 74 65 20 49  |eOp.40..Sprite I|
000017d0  6e 66 6f 0a 20 20 20 20  52 65 74 75 72 6e 73 20  |nfo.    Returns |
000017e0  6e 65 61 72 65 73 74 20  63 6f 6e 76 65 6e 74 69  |nearest conventi|
000017f0  6f 6e 61 6c 20 6d 6f 64  65 20 6e 75 6d 62 65 72  |onal mode number|
00001800  2e 0a 0a 20 20 20 20 4f  53 5f 53 70 72 69 74 65  |...    OS_Sprite|
00001810  4f 70 20 32 38 09 09 50  6c 6f 74 20 53 70 72 69  |Op 28..Plot Spri|
00001820  74 65 0a 20 20 20 20 4f  53 5f 53 70 72 69 74 65  |te.    OS_Sprite|
00001830  4f 70 20 33 34 09 09 50  6c 6f 74 20 53 70 72 69  |Op 34..Plot Spri|
00001840  74 65 20 61 74 20 55 73  65 72 20 43 6f 6f 72 64  |te at User Coord|
00001850  73 2e 0a 20 20 20 20 4f  53 5f 53 70 72 69 74 65  |s..    OS_Sprite|
00001860  4f 70 09 35 32 09 09 50  75 74 20 73 70 72 69 74  |Op.52..Put sprit|
00001870  65 20 73 63 61 6c 65 64  20 61 74 20 75 73 65 72  |e scaled at user|
00001880  20 63 6f 6f 72 64 73 2e  0a 20 20 20 20 4f 53 5f  | coords..    OS_|
00001890  53 70 72 69 74 65 4f 70  20 35 36 09 09 50 6c 6f  |SpriteOp 56..Plo|
000018a0  74 20 53 70 72 69 74 65  20 54 72 61 6e 73 66 6f  |t Sprite Transfo|
000018b0  72 6d 65 64 20 61 74 20  55 73 65 72 20 43 6f 6f  |rmed at User Coo|
000018c0  72 64 73 2e 0a 20 20 20  20 50 69 78 65 6c 73 20  |rds..    Pixels |
000018d0  74 72 61 6e 73 6c 61 74  69 6f 6e 20 74 61 62 6c  |translation tabl|
000018e0  65 20 77 69 6c 6c 20 62  65 20 69 67 6e 6f 72 65  |e will be ignore|
000018f0  64 20 66 6f 72 20 74 68  65 73 65 20 63 61 6c 6c  |d for these call|
00001900  73 2c 20 44 65 65 70 65  72 0a 20 20 20 20 75 73  |s, Deeper.    us|
00001910  65 73 20 69 74 27 73 20  6f 77 6e 21 0a 0a 20 20  |es it's own!..  |
00001920  20 20 4f 53 5f 53 70 72  69 74 65 4f 70 20 34 31  |  OS_SpriteOp 41|
00001930  09 09 52 65 61 64 20 50  69 78 65 6c 20 43 6f 6c  |..Read Pixel Col|
00001940  6f 75 72 0a 20 20 20 20  4f 53 5f 53 70 72 69 74  |our.    OS_Sprit|
00001950  65 4f 70 20 34 32 09 09  57 72 69 74 65 20 50 69  |eOp 42..Write Pi|
00001960  78 65 6c 20 43 6f 6c 6f  75 72 0a 0a 20 20 20 20  |xel Colour..    |
00001970  4f 53 5f 52 65 61 64 4d  6f 64 65 56 61 72 69 61  |OS_ReadModeVaria|
00001980  62 6c 65 09 09 28 72 30  3d 73 70 72 69 74 65 20  |ble..(r0=sprite |
00001990  6d 6f 64 65 20 77 6f 72  64 29 0a 20 20 20 20 4f  |mode word).    O|
000019a0  6e 6c 79 20 72 65 73 70  6f 6e 64 73 20 74 6f 20  |nly responds to |
000019b0  76 61 72 69 61 62 6c 65  73 3a 0a 20 20 20 20 20  |variables:.     |
000019c0  20 30 20 20 28 4d 6f 64  65 20 56 61 72 69 61 62  | 0  (Mode Variab|
000019d0  6c 65 73 29 09 52 65 74  75 72 6e 73 20 30 0a 20  |les).Returns 0. |
000019e0  20 20 20 20 20 33 20 20  28 43 6f 6c 6f 75 72 73  |     3  (Colours|
000019f0  29 09 09 52 65 74 75 72  6e 73 20 36 33 20 69 66  |)..Returns 63 if|
00001a00  20 64 65 65 70 0a 20 20  20 20 20 20 34 20 20 28  | deep.      4  (|
00001a10  58 20 45 69 67 29 09 09  52 65 74 75 72 6e 73 20  |X Eig)..Returns |
00001a20  6e 65 61 72 65 73 74 20  6d 6f 64 65 73 20 58 20  |nearest modes X |
00001a30  45 69 67 0a 20 20 20 20  20 20 35 20 20 28 59 20  |Eig.      5  (Y |
00001a40  45 69 67 29 09 09 52 65  74 75 72 6e 73 20 6e 65  |Eig)..Returns ne|
00001a50  61 72 65 73 74 20 6d 6f  64 65 73 20 59 20 45 69  |arest modes Y Ei|
00001a60  67 0a 20 20 20 20 20 20  39 20 20 28 4c 6f 67 32  |g.      9  (Log2|
00001a70  42 50 50 29 09 09 52 65  74 75 72 6e 73 20 33 20  |BPP)..Returns 3 |
00001a80  69 66 20 64 65 65 70 0a  0a 20 20 20 20 4f 53 5f  |if deep..    OS_|
00001a90  43 68 65 63 6b 4d 6f 64  65 56 61 6c 69 64 09 09  |CheckModeValid..|
00001aa0  28 72 30 3d 73 70 72 69  74 65 20 6d 6f 64 65 20  |(r0=sprite mode |
00001ab0  77 6f 72 64 29 0a 20 20  20 20 52 65 74 75 72 6e  |word).    Return|
00001ac0  73 20 77 69 74 68 20 43  20 66 6c 61 67 20 63 6c  |s with C flag cl|
00001ad0  65 61 72 20 69 66 20 72  65 63 6f 67 6e 69 73 65  |ear if recognise|
00001ae0  64 20 6e 65 77 20 66 6f  72 6d 61 74 2e 0a 0a 20  |d new format... |
00001af0  20 20 20 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 53  |   ColourTrans_S|
00001b00  65 6c 65 63 74 54 61 62  6c 65 09 28 72 30 3e 3d  |electTable.(r0>=|
00001b10  32 35 36 29 0a 20 20 20  20 52 65 74 75 72 6e 73  |256).    Returns|
00001b20  20 62 75 66 66 65 72 20  73 69 7a 65 20 6f 66 20  | buffer size of |
00001b30  32 35 36 20 62 79 74 65  73 20 28 69 65 2e 20 77  |256 bytes (ie. w|
00001b40  68 65 6e 20 63 61 6c 6c  65 64 20 77 69 74 68 20  |hen called with |
00001b50  72 34 3d 30 29 2e 0a 20  20 20 20 44 6f 65 73 6e  |r4=0)..    Doesn|
00001b60  27 74 20 66 69 6c 6c 20  73 75 70 70 6c 69 65 64  |'t fill supplied|
00001b70  20 62 75 66 66 65 72 20  77 69 74 68 20 61 6e 79  | buffer with any|
00001b80  74 68 69 6e 67 2e 0a 0a  20 20 20 20 43 6f 6c 6f  |thing...    Colo|
00001b90  75 72 54 72 61 6e 73 5f  47 65 6e 65 72 61 74 65  |urTrans_Generate|
00001ba0  54 61 62 6c 65 09 28 72  30 3e 3d 32 35 36 29 0a  |Table.(r0>=256).|
00001bb0  20 20 20 20 53 69 6d 69  6c 61 72 20 74 6f 20 43  |    Similar to C|
00001bc0  6f 6c 6f 75 72 54 72 61  6e 73 5f 53 65 6c 65 63  |olourTrans_Selec|
00001bd0  74 54 61 62 6c 65 2e 20  4e 6f 74 20 67 72 65 61  |tTable. Not grea|
00001be0  74 6c 79 20 75 73 65 64  20 73 69 6e 63 65 20 69  |tly used since i|
00001bf0  74 27 73 0a 20 20 20 20  52 49 53 43 20 4f 53 20  |t's.    RISC OS |
00001c00  33 20 6f 6e 6c 79 2e 20  49 73 20 69 74 20 64 69  |3 only. Is it di|
00001c10  66 66 65 72 65 6e 74 20  61 6e 79 77 61 79 3f 20  |fferent anyway? |
00001c20  50 52 4d 20 28 50 31 2d  31 30 33 29 20 69 73 20  |PRM (P1-103) is |
00001c30  77 65 69 72 64 21 0a 0a  20 20 20 20 4f 53 5f 53  |weird!..    OS_S|
00001c40  70 72 69 74 65 4f 70 20  33 37 09 09 43 72 65 61  |priteOp 37..Crea|
00001c50  74 65 2f 52 65 6d 6f 76  65 20 50 61 6c 65 74 74  |te/Remove Palett|
00001c60  65 0a 20 20 20 20 4e 6f  74 65 2e 20 44 65 65 70  |e.    Note. Deep|
00001c70  20 73 70 72 69 74 65 73  20 63 61 6e 27 74 20 68  | sprites can't h|
00001c80  61 76 65 20 70 61 6c 65  74 74 65 73 20 28 75 70  |ave palettes (up|
00001c90  20 74 6f 20 52 49 53 43  20 4f 53 20 33 2e 36 20  | to RISC OS 3.6 |
00001ca0  61 6e 79 77 61 79 21 29  2e 0a 0a 20 20 53 75 70  |anyway!)...  Sup|
00001cb0  70 6f 72 74 65 64 20 62  79 20 52 49 53 43 20 4f  |ported by RISC O|
00001cc0  53 20 61 75 74 6f 6d 61  74 69 63 61 6c 6c 79 3a  |S automatically:|
00001cd0  0a 20 20 20 20 4f 53 5f  53 70 72 69 74 65 4f 70  |.    OS_SpriteOp|
00001ce0  20 33 33 09 09 46 6c 69  70 20 56 65 72 74 69 63  | 33..Flip Vertic|
00001cf0  61 6c 6c 79 0a 20 20 20  20 57 69 6d 70 5f 52 65  |ally.    Wimp_Re|
00001d00  61 64 50 69 78 54 72 61  6e 73 09 09 28 74 72 61  |adPixTrans..(tra|
00001d10  6e 73 6c 61 74 69 6f 6e  20 74 61 62 6c 65 20 6f  |nslation table o|
00001d20  62 76 69 6f 75 73 6c 79  20 6e 6f 74 20 73 75 70  |bviously not sup|
00001d30  70 6f 72 74 65 64 21 29  0a 20 20 20 20 4f 53 5f  |ported!).    OS_|
00001d40  53 70 72 69 74 65 4f 70  20 33 31 09 09 49 6e 73  |SpriteOp 31..Ins|
00001d50  65 72 74 20 52 6f 77 0a  20 20 20 20 4f 53 5f 53  |ert Row.    OS_S|
00001d60  70 72 69 74 65 4f 70 20  33 32 09 09 44 65 6c 65  |priteOp 32..Dele|
00001d70  74 65 20 52 6f 77 0a 20  20 20 20 4f 53 5f 53 70  |te Row.    OS_Sp|
00001d80  72 69 74 65 4f 70 20 35  37 09 09 49 6e 73 65 72  |riteOp 57..Inser|
00001d90  74 2f 44 65 6c 65 74 65  20 52 6f 77 73 0a 20 20  |t/Delete Rows.  |
00001da0  20 20 4e 6f 74 65 20 74  68 61 74 20 21 50 61 69  |  Note that !Pai|
00001db0  6e 74 20 69 73 20 6a 75  6e 6b 20 61 6e 64 20 63  |nt is junk and c|
00001dc0  61 6e 6e 6f 74 20 61 6c  6c 6f 63 61 74 65 20 6d  |annot allocate m|
00001dd0  6f 72 65 20 6d 65 6d 6f  72 79 20 66 6f 72 20 61  |ore memory for a|
00001de0  20 72 6f 77 0a 20 20 20  20 69 6e 73 65 72 74 69  | row.    inserti|
00001df0  6f 6e 2e 0a 0a 20 20 44  65 65 70 65 72 20 6d 61  |on...  Deeper ma|
00001e00  79 20 73 75 70 70 6f 72  74 20 74 68 65 20 66 6f  |y support the fo|
00001e10  6c 6c 6f 77 69 6e 67 20  6c 61 74 65 72 3a 0a 20  |llowing later:. |
00001e20  20 20 20 4f 53 5f 53 70  72 69 74 65 4f 70 20 31  |   OS_SpriteOp 1|
00001e30  35 09 09 43 72 65 61 74  65 0a 20 20 20 20 4d 6f  |5..Create.    Mo|
00001e40  64 65 20 73 68 6f 75 6c  64 20 62 65 20 61 20 73  |de should be a s|
00001e50  70 72 69 74 65 20 6d 6f  64 65 20 77 6f 72 64 2e  |prite mode word.|
00001e60  0a 0a 4e 61 6d 65 64 20  73 70 72 69 74 65 20 6f  |..Named sprite o|
00001e70  70 65 72 61 74 69 6f 6e  73 20 28 69 65 2e 20 62  |perations (ie. b|
00001e80  69 74 20 38 20 73 65 74  20 69 6e 20 4f 53 5f 53  |it 8 set in OS_S|
00001e90  70 72 69 74 65 4f 70 29  20 61 72 65 20 73 75 70  |priteOp) are sup|
00001ea0  70 6f 72 74 65 64 2e 0a  0a 53 70 72 69 74 65 73  |ported...Sprites|
00001eb0  20 69 6e 20 74 68 65 20  57 49 4d 50 20 73 70 72  | in the WIMP spr|
00001ec0  69 74 65 20 61 72 65 61  20 61 72 65 20 73 75 70  |ite area are sup|
00001ed0  70 6f 72 74 65 64 20 69  6e 64 69 72 65 63 74 6c  |ported indirectl|
00001ee0  79 20 76 69 61 20 52 49  53 43 20 4f 53 0a 63 61  |y via RISC OS.ca|
00001ef0  6c 6c 69 6e 67 20 4f 53  5f 53 70 72 69 74 65 4f  |lling OS_SpriteO|
00001f00  70 20 77 69 74 68 20 62  69 74 20 38 20 6f 72 20  |p with bit 8 or |
00001f10  39 20 73 65 74 2e 0a 0a  44 65 65 70 65 72 20 74  |9 set...Deeper t|
00001f20  72 61 70 73 20 4f 53 5f  53 70 72 69 74 65 4f 70  |raps OS_SpriteOp|
00001f30  20 63 61 6c 6c 73 20 77  68 69 63 68 20 63 61 75  | calls which cau|
00001f40  73 65 20 70 72 6f 62 6c  65 6d 73 20 66 6f 72 20  |se problems for |
00001f50  73 6f 6d 65 20 61 70 70  73 3a 0a 69 65 2e 20 4f  |some apps:.ie. O|
00001f60  53 5f 53 70 72 69 74 65  4f 70 20 36 30 2c 20 36  |S_SpriteOp 60, 6|
00001f70  31 20 28 53 77 69 74 63  68 20 6f 75 74 70 75 74  |1 (Switch output|
00001f80  20 74 6f 20 73 70 72 69  74 65 2f 6d 61 73 6b 29  | to sprite/mask)|
00001f90  2c 0a 20 20 20 20 4f 53  5f 53 70 72 69 74 65 4f  |,.    OS_SpriteO|
00001fa0  70 20 35 34 20 28 52 65  6d 6f 76 65 20 4c 65 66  |p 54 (Remove Lef|
00001fb0  74 20 48 61 6e 64 20 57  61 73 74 61 67 65 29 2e  |t Hand Wastage).|
00001fc0  0a 0a 0a 2f 2a 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.../* ----------|
00001fd0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002000  2d 2d 2d 2d 2d 2d 20 2a  2f 0a 0a 42 3a 20 4c 69  |------ */..B: Li|
00002010  6d 69 74 61 74 69 6f 6e  73 0a 3d 3d 3d 3d 3d 3d  |mitations.======|
00002020  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 4e 6f 6e 2d 64 65  |========..Non-de|
00002030  65 70 20 6e 65 77 20 66  6f 72 6d 61 74 20 73 70  |ep new format sp|
00002040  72 69 74 65 73 20 63 61  6e 6e 6f 74 20 62 65 20  |rites cannot be |
00002050  69 6e 20 72 65 61 64 2d  6f 6e 6c 79 20 6d 65 6d  |in read-only mem|
00002060  6f 72 79 21 0a 0a 52 65  64 69 72 65 63 74 69 6f  |ory!..Redirectio|
00002070  6e 20 6f 66 20 56 44 55  20 65 74 63 2e 20 6f 75  |n of VDU etc. ou|
00002080  74 70 75 74 20 74 6f 20  64 65 65 70 20 73 70 72  |tput to deep spr|
00002090  69 74 65 73 20 77 69 6c  6c 20 6e 6f 74 20 62 65  |ites will not be|
000020a0  20 73 75 70 70 6f 72 74  65 64 0a 5f 65 76 65 72  | supported._ever|
000020b0  5f 21 0a 0a 4f 53 5f 53  70 72 69 74 65 4f 70 20  |_!..OS_SpriteOp |
000020c0  35 33 20 28 50 75 74 20  47 72 65 79 20 53 63 61  |53 (Put Grey Sca|
000020d0  6c 65 64 29 20 77 69 6c  6c 20 6e 6f 74 20 62 65  |led) will not be|
000020e0  20 73 75 70 70 6f 72 74  65 64 2e 20 28 52 49 53  | supported. (RIS|
000020f0  43 20 4f 53 20 33 2e 36  0a 64 6f 65 73 20 6e 6f  |C OS 3.6.does no|
00002100  74 20 73 75 70 70 6f 72  74 20 69 74 20 61 6e 79  |t support it any|
00002110  77 61 79 29 2e 0a 0a 54  72 61 6e 73 66 65 72 20  |way)...Transfer |
00002120  66 75 6e 63 74 69 6f 6e  73 20 75 73 65 64 20 77  |functions used w|
00002130  69 74 68 20 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |ith ColourTrans_|
00002140  53 65 6c 65 63 74 54 61  62 6c 65 20 61 72 65 20  |SelectTable are |
00002150  6e 6f 74 0a 73 75 70 70  6f 72 74 65 64 2e 0a 0a  |not.supported...|
00002160  4f 53 5f 53 70 72 69 74  65 4f 70 20 33 31 20 61  |OS_SpriteOp 31 a|
00002170  6e 64 20 35 37 3a 0a 21  50 61 69 6e 74 20 69 73  |nd 57:.!Paint is|
00002180  20 69 6e 63 72 65 64 69  62 6c 79 20 74 68 69 63  | incredibly thic|
00002190  6b 20 61 6e 64 20 63 61  6e 27 74 20 75 70 64 61  |k and can't upda|
000021a0  74 65 20 74 68 65 20 73  69 7a 65 20 6f 66 20 74  |te the size of t|
000021b0  68 65 20 61 72 65 61 20  74 6f 0a 73 61 79 20 74  |he area to.say t|
000021c0  68 61 74 20 74 68 65 72  65 20 69 73 20 65 6e 6f  |hat there is eno|
000021d0  75 67 68 20 66 72 65 65  20 73 70 61 63 65 2e 20  |ugh free space. |
000021e0  48 65 6e 63 65 20 69 74  20 63 6f 6d 70 6c 61 69  |Hence it complai|
000021f0  6e 73 20 74 68 61 74 20  74 68 65 72 65 20 69 73  |ns that there is|
00002200  0a 6e 6f 74 20 65 6e 6f  75 67 68 20 6d 65 6d 6f  |.not enough memo|
00002210  72 79 20 74 6f 20 69 6e  73 65 72 74 20 6e 65 77  |ry to insert new|
00002220  20 72 6f 77 73 2e 0a 0a  0a 2f 2a 20 2d 2d 2d 2d  | rows..../* ----|
00002230  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002260  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 20 2a 2f 0a  |------------ */.|
00002270  0a 43 3a 20 49 64 65 61  73 20 66 6f 72 20 66 75  |.C: Ideas for fu|
00002280  74 75 72 65 20 45 78 70  61 6e 73 69 6f 6e 0a 3d  |ture Expansion.=|
00002290  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000022a0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 0a 53 75  |============..Su|
000022b0  70 70 6f 72 74 20 66 6f  72 20 6d 61 73 6b 73 20  |pport for masks |
000022c0  69 6e 20 64 65 65 70 20  73 70 72 69 74 65 2e 20  |in deep sprite. |
000022d0  43 6f 6d 70 6c 69 63 61  74 65 73 20 74 68 69 6e  |Complicates thin|
000022e0  67 73 20 69 6d 6d 65 6e  73 65 6c 79 2c 20 73 6f  |gs immensely, so|
000022f0  20 49 0a 68 61 76 65 20  6e 6f 74 20 69 6d 70 6c  | I.have not impl|
00002300  65 6d 65 6e 74 65 64 20  74 68 69 73 20 79 65 74  |emented this yet|
00002310  2e 0a 0a 53 75 70 70 6f  72 74 20 66 6f 72 20 74  |...Support for t|
00002320  68 65 20 66 6f 6c 6c 6f  77 69 6e 67 20 63 61 6c  |he following cal|
00002330  6c 73 3a 0a 20 20 4f 53  5f 53 70 72 69 74 65 4f  |ls:.  OS_SpriteO|
00002340  70 20 32 39 09 09 43 72  65 61 74 65 20 4d 61 73  |p 29..Create Mas|
00002350  6b 0a 20 20 4f 53 5f 53  70 72 69 74 65 4f 70 20  |k.  OS_SpriteOp |
00002360  33 30 09 09 52 65 6d 6f  76 65 20 4d 61 73 6b 0a  |30..Remove Mask.|
00002370  20 20 4f 53 5f 53 70 72  69 74 65 4f 70 20 33 35  |  OS_SpriteOp 35|
00002380  09 09 41 70 70 65 6e 64  20 53 70 72 69 74 65 0a  |..Append Sprite.|
00002390  20 20 4f 53 5f 53 70 72  69 74 65 4f 70 20 34 33  |  OS_SpriteOp 43|
000023a0  09 09 52 65 61 64 20 50  69 78 65 6c 20 4d 61 73  |..Read Pixel Mas|
000023b0  6b 0a 20 20 4f 53 5f 53  70 72 69 74 65 4f 70 20  |k.  OS_SpriteOp |
000023c0  34 34 09 09 57 72 69 74  65 20 50 69 78 65 6c 20  |44..Write Pixel |
000023d0  4d 61 73 6b 0a 20 20 4f  53 5f 53 70 72 69 74 65  |Mask.  OS_Sprite|
000023e0  4f 70 20 34 35 09 09 49  6e 73 65 72 74 20 43 6f  |Op 45..Insert Co|
000023f0  6c 75 6d 6e 0a 20 20 4f  53 5f 53 70 72 69 74 65  |lumn.  OS_Sprite|
00002400  4f 70 20 34 36 09 09 44  65 6c 65 74 65 20 43 6f  |Op 46..Delete Co|
00002410  6c 75 6d 6e 0a 20 20 4f  53 5f 53 70 72 69 74 65  |lumn.  OS_Sprite|
00002420  4f 70 20 34 37 09 09 46  6c 69 70 20 48 6f 69 7a  |Op 47..Flip Hoiz|
00002430  6f 6e 74 61 6c 6c 79 0a  20 20 4f 53 5f 53 70 72  |ontally.  OS_Spr|
00002440  69 74 65 4f 70 20 34 38  09 09 50 6c 6f 74 20 4d  |iteOp 48..Plot M|
00002450  61 73 6b 0a 20 20 4f 53  5f 53 70 72 69 74 65 4f  |ask.  OS_SpriteO|
00002460  70 20 34 39 09 09 50 6c  6f 74 20 4d 61 73 6b 20  |p 49..Plot Mask |
00002470  61 74 20 55 73 65 72 20  43 6f 6f 72 64 73 2e 0a  |at User Coords..|
00002480  20 20 4f 53 5f 53 70 72  69 74 65 4f 70 20 35 30  |  OS_SpriteOp 50|
00002490  09 09 50 6c 6f 74 20 4d  61 73 6b 20 53 63 61 6c  |..Plot Mask Scal|
000024a0  65 64 20 61 74 20 55 73  65 72 20 43 6f 6f 72 64  |ed at User Coord|
000024b0  73 2e 0a 20 20 4f 53 5f  53 70 72 69 74 65 4f 70  |s..  OS_SpriteOp|
000024c0  20 35 35 09 09 50 6c 6f  74 20 4d 61 73 6b 20 54  | 55..Plot Mask T|
000024d0  72 61 6e 73 66 6f 72 6d  65 64 20 61 74 20 55 73  |ransformed at Us|
000024e0  65 72 20 43 6f 6f 72 64  73 2e 0a 20 20 4f 53 5f  |er Coords..  OS_|
000024f0  53 70 72 69 74 65 4f 70  20 35 38 09 09 49 6e 73  |SpriteOp 58..Ins|
00002500  65 72 74 2f 44 65 6c 65  74 65 20 43 6f 6c 75 6d  |ert/Delete Colum|
00002510  6e 73 0a                                          |ns.|
00002513