Home » Archimedes archive » Acorn User » AU 1997-11 B.adf » Regulars » StarInfo/spooky/AdcSpenc/!Spook/!Help

StarInfo/spooky/AdcSpenc/!Spook/!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 » Archimedes archive » Acorn User » AU 1997-11 B.adf » Regulars
Filename: StarInfo/spooky/AdcSpenc/!Spook/!Help
Read OK:
File size: 0CB6 bytes
Load address: 0000
Exec address: 0000
File contents
           !Spook
(*INFO Spooky Challenge entry)
------------------------------ 

By Mark Adcock and Ben Spencer

  Code: MA+BS 
 Sound: BS        
Grafix: MA
           
"What is more spooky than a spook?"

This program simulates several floating apparitions haunting a derelict hilltop castle by the light of a full moon.

Details
=======

The application !Spook contains nine files

!Boot and !Run - obvious
!Help - this file!
!Sprites - !Spook's icon
Blood - The blood red intro text
Haunt - spooky tune by BS
QTMModule - THE Player (Thanx to Phoenix/QUANTUM)
Spook - the main program
Sprites - the hill, ghost and moon sprites

Blood
-----

This uses a PROCedure [PROCBlood_Text(text$,X,Y,Xtextsize,Ytextsize,t�,t�,t�)] which plots the string text$ centred around X at height Y
The text (size: Xtextsize,Ytextsize) is plotted, blurred t� times, then, after a pause of t��centiseconds, is blurred another t� times.

Spook
-----

All routines in ARMCode unless otherwise specified

i) Static sprites: the moon and the hill

These are plotted using two custom sized sprite plotters

ii) Reflection

This takes every fourth line of the top 4/5ths of the screen and reproduces it in the bottom fifth. To add movement to the reflection, tables of vertical offsets are used.

iii) Stars

Special Features: Stars are only plotted over a blank pixel, which  means the sprite plotters in i) don't have to use transparent.
The locations in screen memory of the stars are not calculated every time they are plotted: stars start off in random positions and move along the screen memory until they hit the end. When this happens they are put back to the start (thanks to the AU Demo writing series for the technique - but NOT the code. All code (apart from QTMPlayer) is original)

iv) FastCLS

This is an ARMCode routine to clear the necessary part of the screen (ie the top 4/5thS)

And Finally, but most importantly...

v) Ghost

Before the mainloop begins, the ghost sprite from the file "Sprites" is rotated and scaled according to the variables NumberOfSteps% and NumberOfSpooks%. For <NumberOfSpooks%> different sizes of ghost <NumberOfSteps%> copies are made, each one rotated 360/NumberOfSteps% degrees more than the previous one.

During the mainloop:

Each ghost is moved (using a BASIC procedure) and plotted (using an ARMCode one). There are two versions of the Spookplotter (See below...). The fast one simply increase the tint of pixels it is "plotting" over, whereas the slower one increase the red, green and blue elements of the pixel. How much they are increased by depends upon the colour of the sprite at that particular point, which is why the sprite is composed of colours 0-3 only.

Customisation
=============

You can change the following to suite your machine's speed/memory *and* your preference. 

NumberOfSteps% -  see above
NumberOfSpooks% - see above
fast% -           if TRUE, then use the faster sprite plotter (see above)
GN% -             the number of ghosts haunting your screen 
ReflectionSpeed-  how fast the water ripples (I have included this because when you increase the number of ghosts, the ripple speed decrease - this, at least, gives you some control)

***see the PROCedure PROCChangableVariables***

   



    

00000000  20 20 20 20 20 20 20 20  20 20 20 21 53 70 6f 6f  |           !Spoo|
00000010  6b 0a 28 2a 49 4e 46 4f  20 53 70 6f 6f 6b 79 20  |k.(*INFO Spooky |
00000020  43 68 61 6c 6c 65 6e 67  65 20 65 6e 74 72 79 29  |Challenge entry)|
00000030  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00000040  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 20  |--------------- |
00000050  0a 0a 42 79 20 4d 61 72  6b 20 41 64 63 6f 63 6b  |..By Mark Adcock|
00000060  20 61 6e 64 20 42 65 6e  20 53 70 65 6e 63 65 72  | and Ben Spencer|
00000070  0a 0a 20 20 43 6f 64 65  3a 20 4d 41 2b 42 53 20  |..  Code: MA+BS |
00000080  0a 20 53 6f 75 6e 64 3a  20 42 53 20 20 20 20 20  |. Sound: BS     |
00000090  20 20 20 0a 47 72 61 66  69 78 3a 20 4d 41 0a 20  |   .Grafix: MA. |
000000a0  20 20 20 20 20 20 20 20  20 20 0a 22 57 68 61 74  |          ."What|
000000b0  20 69 73 20 6d 6f 72 65  20 73 70 6f 6f 6b 79 20  | is more spooky |
000000c0  74 68 61 6e 20 61 20 73  70 6f 6f 6b 3f 22 0a 0a  |than a spook?"..|
000000d0  54 68 69 73 20 70 72 6f  67 72 61 6d 20 73 69 6d  |This program sim|
000000e0  75 6c 61 74 65 73 20 73  65 76 65 72 61 6c 20 66  |ulates several f|
000000f0  6c 6f 61 74 69 6e 67 20  61 70 70 61 72 69 74 69  |loating appariti|
00000100  6f 6e 73 20 68 61 75 6e  74 69 6e 67 20 61 20 64  |ons haunting a d|
00000110  65 72 65 6c 69 63 74 20  68 69 6c 6c 74 6f 70 20  |erelict hilltop |
00000120  63 61 73 74 6c 65 20 62  79 20 74 68 65 20 6c 69  |castle by the li|
00000130  67 68 74 20 6f 66 20 61  20 66 75 6c 6c 20 6d 6f  |ght of a full mo|
00000140  6f 6e 2e 0a 0a 44 65 74  61 69 6c 73 0a 3d 3d 3d  |on...Details.===|
00000150  3d 3d 3d 3d 0a 0a 54 68  65 20 61 70 70 6c 69 63  |====..The applic|
00000160  61 74 69 6f 6e 20 21 53  70 6f 6f 6b 20 63 6f 6e  |ation !Spook con|
00000170  74 61 69 6e 73 20 6e 69  6e 65 20 66 69 6c 65 73  |tains nine files|
00000180  0a 0a 21 42 6f 6f 74 20  61 6e 64 20 21 52 75 6e  |..!Boot and !Run|
00000190  20 2d 20 6f 62 76 69 6f  75 73 0a 21 48 65 6c 70  | - obvious.!Help|
000001a0  20 2d 20 74 68 69 73 20  66 69 6c 65 21 0a 21 53  | - this file!.!S|
000001b0  70 72 69 74 65 73 20 2d  20 21 53 70 6f 6f 6b 27  |prites - !Spook'|
000001c0  73 20 69 63 6f 6e 0a 42  6c 6f 6f 64 20 2d 20 54  |s icon.Blood - T|
000001d0  68 65 20 62 6c 6f 6f 64  20 72 65 64 20 69 6e 74  |he blood red int|
000001e0  72 6f 20 74 65 78 74 0a  48 61 75 6e 74 20 2d 20  |ro text.Haunt - |
000001f0  73 70 6f 6f 6b 79 20 74  75 6e 65 20 62 79 20 42  |spooky tune by B|
00000200  53 0a 51 54 4d 4d 6f 64  75 6c 65 20 2d 20 54 48  |S.QTMModule - TH|
00000210  45 20 50 6c 61 79 65 72  20 28 54 68 61 6e 78 20  |E Player (Thanx |
00000220  74 6f 20 50 68 6f 65 6e  69 78 2f 51 55 41 4e 54  |to Phoenix/QUANT|
00000230  55 4d 29 0a 53 70 6f 6f  6b 20 2d 20 74 68 65 20  |UM).Spook - the |
00000240  6d 61 69 6e 20 70 72 6f  67 72 61 6d 0a 53 70 72  |main program.Spr|
00000250  69 74 65 73 20 2d 20 74  68 65 20 68 69 6c 6c 2c  |ites - the hill,|
00000260  20 67 68 6f 73 74 20 61  6e 64 20 6d 6f 6f 6e 20  | ghost and moon |
00000270  73 70 72 69 74 65 73 0a  0a 42 6c 6f 6f 64 0a 2d  |sprites..Blood.-|
00000280  2d 2d 2d 2d 0a 0a 54 68  69 73 20 75 73 65 73 20  |----..This uses |
00000290  61 20 50 52 4f 43 65 64  75 72 65 20 5b 50 52 4f  |a PROCedure [PRO|
000002a0  43 42 6c 6f 6f 64 5f 54  65 78 74 28 74 65 78 74  |CBlood_Text(text|
000002b0  24 2c 58 2c 59 2c 58 74  65 78 74 73 69 7a 65 2c  |$,X,Y,Xtextsize,|
000002c0  59 74 65 78 74 73 69 7a  65 2c 74 b9 2c 74 b2 2c  |Ytextsize,t.,t.,|
000002d0  74 b3 29 5d 20 77 68 69  63 68 20 70 6c 6f 74 73  |t.)] which plots|
000002e0  20 74 68 65 20 73 74 72  69 6e 67 20 74 65 78 74  | the string text|
000002f0  24 20 63 65 6e 74 72 65  64 20 61 72 6f 75 6e 64  |$ centred around|
00000300  20 58 20 61 74 20 68 65  69 67 68 74 20 59 0a 54  | X at height Y.T|
00000310  68 65 20 74 65 78 74 20  28 73 69 7a 65 3a 20 58  |he text (size: X|
00000320  74 65 78 74 73 69 7a 65  2c 59 74 65 78 74 73 69  |textsize,Ytextsi|
00000330  7a 65 29 20 69 73 20 70  6c 6f 74 74 65 64 2c 20  |ze) is plotted, |
00000340  62 6c 75 72 72 65 64 20  74 b9 20 74 69 6d 65 73  |blurred t. times|
00000350  2c 20 74 68 65 6e 2c 20  61 66 74 65 72 20 61 20  |, then, after a |
00000360  70 61 75 73 65 20 6f 66  20 74 b2 a0 63 65 6e 74  |pause of t..cent|
00000370  69 73 65 63 6f 6e 64 73  2c 20 69 73 20 62 6c 75  |iseconds, is blu|
00000380  72 72 65 64 20 61 6e 6f  74 68 65 72 20 74 b3 20  |rred another t. |
00000390  74 69 6d 65 73 2e 0a 0a  53 70 6f 6f 6b 0a 2d 2d  |times...Spook.--|
000003a0  2d 2d 2d 0a 0a 41 6c 6c  20 72 6f 75 74 69 6e 65  |---..All routine|
000003b0  73 20 69 6e 20 41 52 4d  43 6f 64 65 20 75 6e 6c  |s in ARMCode unl|
000003c0  65 73 73 20 6f 74 68 65  72 77 69 73 65 20 73 70  |ess otherwise sp|
000003d0  65 63 69 66 69 65 64 0a  0a 69 29 20 53 74 61 74  |ecified..i) Stat|
000003e0  69 63 20 73 70 72 69 74  65 73 3a 20 74 68 65 20  |ic sprites: the |
000003f0  6d 6f 6f 6e 20 61 6e 64  20 74 68 65 20 68 69 6c  |moon and the hil|
00000400  6c 0a 0a 54 68 65 73 65  20 61 72 65 20 70 6c 6f  |l..These are plo|
00000410  74 74 65 64 20 75 73 69  6e 67 20 74 77 6f 20 63  |tted using two c|
00000420  75 73 74 6f 6d 20 73 69  7a 65 64 20 73 70 72 69  |ustom sized spri|
00000430  74 65 20 70 6c 6f 74 74  65 72 73 0a 0a 69 69 29  |te plotters..ii)|
00000440  20 52 65 66 6c 65 63 74  69 6f 6e 0a 0a 54 68 69  | Reflection..Thi|
00000450  73 20 74 61 6b 65 73 20  65 76 65 72 79 20 66 6f  |s takes every fo|
00000460  75 72 74 68 20 6c 69 6e  65 20 6f 66 20 74 68 65  |urth line of the|
00000470  20 74 6f 70 20 34 2f 35  74 68 73 20 6f 66 20 74  | top 4/5ths of t|
00000480  68 65 20 73 63 72 65 65  6e 20 61 6e 64 20 72 65  |he screen and re|
00000490  70 72 6f 64 75 63 65 73  20 69 74 20 69 6e 20 74  |produces it in t|
000004a0  68 65 20 62 6f 74 74 6f  6d 20 66 69 66 74 68 2e  |he bottom fifth.|
000004b0  20 54 6f 20 61 64 64 20  6d 6f 76 65 6d 65 6e 74  | To add movement|
000004c0  20 74 6f 20 74 68 65 20  72 65 66 6c 65 63 74 69  | to the reflecti|
000004d0  6f 6e 2c 20 74 61 62 6c  65 73 20 6f 66 20 76 65  |on, tables of ve|
000004e0  72 74 69 63 61 6c 20 6f  66 66 73 65 74 73 20 61  |rtical offsets a|
000004f0  72 65 20 75 73 65 64 2e  0a 0a 69 69 69 29 20 53  |re used...iii) S|
00000500  74 61 72 73 0a 0a 53 70  65 63 69 61 6c 20 46 65  |tars..Special Fe|
00000510  61 74 75 72 65 73 3a 20  53 74 61 72 73 20 61 72  |atures: Stars ar|
00000520  65 20 6f 6e 6c 79 20 70  6c 6f 74 74 65 64 20 6f  |e only plotted o|
00000530  76 65 72 20 61 20 62 6c  61 6e 6b 20 70 69 78 65  |ver a blank pixe|
00000540  6c 2c 20 77 68 69 63 68  20 20 6d 65 61 6e 73 20  |l, which  means |
00000550  74 68 65 20 73 70 72 69  74 65 20 70 6c 6f 74 74  |the sprite plott|
00000560  65 72 73 20 69 6e 20 69  29 20 64 6f 6e 27 74 20  |ers in i) don't |
00000570  68 61 76 65 20 74 6f 20  75 73 65 20 74 72 61 6e  |have to use tran|
00000580  73 70 61 72 65 6e 74 2e  0a 54 68 65 20 6c 6f 63  |sparent..The loc|
00000590  61 74 69 6f 6e 73 20 69  6e 20 73 63 72 65 65 6e  |ations in screen|
000005a0  20 6d 65 6d 6f 72 79 20  6f 66 20 74 68 65 20 73  | memory of the s|
000005b0  74 61 72 73 20 61 72 65  20 6e 6f 74 20 63 61 6c  |tars are not cal|
000005c0  63 75 6c 61 74 65 64 20  65 76 65 72 79 20 74 69  |culated every ti|
000005d0  6d 65 20 74 68 65 79 20  61 72 65 20 70 6c 6f 74  |me they are plot|
000005e0  74 65 64 3a 20 73 74 61  72 73 20 73 74 61 72 74  |ted: stars start|
000005f0  20 6f 66 66 20 69 6e 20  72 61 6e 64 6f 6d 20 70  | off in random p|
00000600  6f 73 69 74 69 6f 6e 73  20 61 6e 64 20 6d 6f 76  |ositions and mov|
00000610  65 20 61 6c 6f 6e 67 20  74 68 65 20 73 63 72 65  |e along the scre|
00000620  65 6e 20 6d 65 6d 6f 72  79 20 75 6e 74 69 6c 20  |en memory until |
00000630  74 68 65 79 20 68 69 74  20 74 68 65 20 65 6e 64  |they hit the end|
00000640  2e 20 57 68 65 6e 20 74  68 69 73 20 68 61 70 70  |. When this happ|
00000650  65 6e 73 20 74 68 65 79  20 61 72 65 20 70 75 74  |ens they are put|
00000660  20 62 61 63 6b 20 74 6f  20 74 68 65 20 73 74 61  | back to the sta|
00000670  72 74 20 28 74 68 61 6e  6b 73 20 74 6f 20 74 68  |rt (thanks to th|
00000680  65 20 41 55 20 44 65 6d  6f 20 77 72 69 74 69 6e  |e AU Demo writin|
00000690  67 20 73 65 72 69 65 73  20 66 6f 72 20 74 68 65  |g series for the|
000006a0  20 74 65 63 68 6e 69 71  75 65 20 2d 20 62 75 74  | technique - but|
000006b0  20 4e 4f 54 20 74 68 65  20 63 6f 64 65 2e 20 41  | NOT the code. A|
000006c0  6c 6c 20 63 6f 64 65 20  28 61 70 61 72 74 20 66  |ll code (apart f|
000006d0  72 6f 6d 20 51 54 4d 50  6c 61 79 65 72 29 20 69  |rom QTMPlayer) i|
000006e0  73 20 6f 72 69 67 69 6e  61 6c 29 0a 0a 69 76 29  |s original)..iv)|
000006f0  20 46 61 73 74 43 4c 53  0a 0a 54 68 69 73 20 69  | FastCLS..This i|
00000700  73 20 61 6e 20 41 52 4d  43 6f 64 65 20 72 6f 75  |s an ARMCode rou|
00000710  74 69 6e 65 20 74 6f 20  63 6c 65 61 72 20 74 68  |tine to clear th|
00000720  65 20 6e 65 63 65 73 73  61 72 79 20 70 61 72 74  |e necessary part|
00000730  20 6f 66 20 74 68 65 20  73 63 72 65 65 6e 20 28  | of the screen (|
00000740  69 65 20 74 68 65 20 74  6f 70 20 34 2f 35 74 68  |ie the top 4/5th|
00000750  53 29 0a 0a 41 6e 64 20  46 69 6e 61 6c 6c 79 2c  |S)..And Finally,|
00000760  20 62 75 74 20 6d 6f 73  74 20 69 6d 70 6f 72 74  | but most import|
00000770  61 6e 74 6c 79 2e 2e 2e  0a 0a 76 29 20 47 68 6f  |antly.....v) Gho|
00000780  73 74 0a 0a 42 65 66 6f  72 65 20 74 68 65 20 6d  |st..Before the m|
00000790  61 69 6e 6c 6f 6f 70 20  62 65 67 69 6e 73 2c 20  |ainloop begins, |
000007a0  74 68 65 20 67 68 6f 73  74 20 73 70 72 69 74 65  |the ghost sprite|
000007b0  20 66 72 6f 6d 20 74 68  65 20 66 69 6c 65 20 22  | from the file "|
000007c0  53 70 72 69 74 65 73 22  20 69 73 20 72 6f 74 61  |Sprites" is rota|
000007d0  74 65 64 20 61 6e 64 20  73 63 61 6c 65 64 20 61  |ted and scaled a|
000007e0  63 63 6f 72 64 69 6e 67  20 74 6f 20 74 68 65 20  |ccording to the |
000007f0  76 61 72 69 61 62 6c 65  73 20 4e 75 6d 62 65 72  |variables Number|
00000800  4f 66 53 74 65 70 73 25  20 61 6e 64 20 4e 75 6d  |OfSteps% and Num|
00000810  62 65 72 4f 66 53 70 6f  6f 6b 73 25 2e 20 46 6f  |berOfSpooks%. Fo|
00000820  72 20 3c 4e 75 6d 62 65  72 4f 66 53 70 6f 6f 6b  |r <NumberOfSpook|
00000830  73 25 3e 20 64 69 66 66  65 72 65 6e 74 20 73 69  |s%> different si|
00000840  7a 65 73 20 6f 66 20 67  68 6f 73 74 20 3c 4e 75  |zes of ghost <Nu|
00000850  6d 62 65 72 4f 66 53 74  65 70 73 25 3e 20 63 6f  |mberOfSteps%> co|
00000860  70 69 65 73 20 61 72 65  20 6d 61 64 65 2c 20 65  |pies are made, e|
00000870  61 63 68 20 6f 6e 65 20  72 6f 74 61 74 65 64 20  |ach one rotated |
00000880  33 36 30 2f 4e 75 6d 62  65 72 4f 66 53 74 65 70  |360/NumberOfStep|
00000890  73 25 20 64 65 67 72 65  65 73 20 6d 6f 72 65 20  |s% degrees more |
000008a0  74 68 61 6e 20 74 68 65  20 70 72 65 76 69 6f 75  |than the previou|
000008b0  73 20 6f 6e 65 2e 0a 0a  44 75 72 69 6e 67 20 74  |s one...During t|
000008c0  68 65 20 6d 61 69 6e 6c  6f 6f 70 3a 0a 0a 45 61  |he mainloop:..Ea|
000008d0  63 68 20 67 68 6f 73 74  20 69 73 20 6d 6f 76 65  |ch ghost is move|
000008e0  64 20 28 75 73 69 6e 67  20 61 20 42 41 53 49 43  |d (using a BASIC|
000008f0  20 70 72 6f 63 65 64 75  72 65 29 20 61 6e 64 20  | procedure) and |
00000900  70 6c 6f 74 74 65 64 20  28 75 73 69 6e 67 20 61  |plotted (using a|
00000910  6e 20 41 52 4d 43 6f 64  65 20 6f 6e 65 29 2e 20  |n ARMCode one). |
00000920  54 68 65 72 65 20 61 72  65 20 74 77 6f 20 76 65  |There are two ve|
00000930  72 73 69 6f 6e 73 20 6f  66 20 74 68 65 20 53 70  |rsions of the Sp|
00000940  6f 6f 6b 70 6c 6f 74 74  65 72 20 28 53 65 65 20  |ookplotter (See |
00000950  62 65 6c 6f 77 2e 2e 2e  29 2e 20 54 68 65 20 66  |below...). The f|
00000960  61 73 74 20 6f 6e 65 20  73 69 6d 70 6c 79 20 69  |ast one simply i|
00000970  6e 63 72 65 61 73 65 20  74 68 65 20 74 69 6e 74  |ncrease the tint|
00000980  20 6f 66 20 70 69 78 65  6c 73 20 69 74 20 69 73  | of pixels it is|
00000990  20 22 70 6c 6f 74 74 69  6e 67 22 20 6f 76 65 72  | "plotting" over|
000009a0  2c 20 77 68 65 72 65 61  73 20 74 68 65 20 73 6c  |, whereas the sl|
000009b0  6f 77 65 72 20 6f 6e 65  20 69 6e 63 72 65 61 73  |ower one increas|
000009c0  65 20 74 68 65 20 72 65  64 2c 20 67 72 65 65 6e  |e the red, green|
000009d0  20 61 6e 64 20 62 6c 75  65 20 65 6c 65 6d 65 6e  | and blue elemen|
000009e0  74 73 20 6f 66 20 74 68  65 20 70 69 78 65 6c 2e  |ts of the pixel.|
000009f0  20 48 6f 77 20 6d 75 63  68 20 74 68 65 79 20 61  | How much they a|
00000a00  72 65 20 69 6e 63 72 65  61 73 65 64 20 62 79 20  |re increased by |
00000a10  64 65 70 65 6e 64 73 20  75 70 6f 6e 20 74 68 65  |depends upon the|
00000a20  20 63 6f 6c 6f 75 72 20  6f 66 20 74 68 65 20 73  | colour of the s|
00000a30  70 72 69 74 65 20 61 74  20 74 68 61 74 20 70 61  |prite at that pa|
00000a40  72 74 69 63 75 6c 61 72  20 70 6f 69 6e 74 2c 20  |rticular point, |
00000a50  77 68 69 63 68 20 69 73  20 77 68 79 20 74 68 65  |which is why the|
00000a60  20 73 70 72 69 74 65 20  69 73 20 63 6f 6d 70 6f  | sprite is compo|
00000a70  73 65 64 20 6f 66 20 63  6f 6c 6f 75 72 73 20 30  |sed of colours 0|
00000a80  2d 33 20 6f 6e 6c 79 2e  0a 0a 43 75 73 74 6f 6d  |-3 only...Custom|
00000a90  69 73 61 74 69 6f 6e 0a  3d 3d 3d 3d 3d 3d 3d 3d  |isation.========|
00000aa0  3d 3d 3d 3d 3d 0a 0a 59  6f 75 20 63 61 6e 20 63  |=====..You can c|
00000ab0  68 61 6e 67 65 20 74 68  65 20 66 6f 6c 6c 6f 77  |hange the follow|
00000ac0  69 6e 67 20 74 6f 20 73  75 69 74 65 20 79 6f 75  |ing to suite you|
00000ad0  72 20 6d 61 63 68 69 6e  65 27 73 20 73 70 65 65  |r machine's spee|
00000ae0  64 2f 6d 65 6d 6f 72 79  20 2a 61 6e 64 2a 20 79  |d/memory *and* y|
00000af0  6f 75 72 20 70 72 65 66  65 72 65 6e 63 65 2e 20  |our preference. |
00000b00  0a 0a 4e 75 6d 62 65 72  4f 66 53 74 65 70 73 25  |..NumberOfSteps%|
00000b10  20 2d 20 20 73 65 65 20  61 62 6f 76 65 0a 4e 75  | -  see above.Nu|
00000b20  6d 62 65 72 4f 66 53 70  6f 6f 6b 73 25 20 2d 20  |mberOfSpooks% - |
00000b30  73 65 65 20 61 62 6f 76  65 0a 66 61 73 74 25 20  |see above.fast% |
00000b40  2d 20 20 20 20 20 20 20  20 20 20 20 69 66 20 54  |-           if T|
00000b50  52 55 45 2c 20 74 68 65  6e 20 75 73 65 20 74 68  |RUE, then use th|
00000b60  65 20 66 61 73 74 65 72  20 73 70 72 69 74 65 20  |e faster sprite |
00000b70  70 6c 6f 74 74 65 72 20  28 73 65 65 20 61 62 6f  |plotter (see abo|
00000b80  76 65 29 0a 47 4e 25 20  2d 20 20 20 20 20 20 20  |ve).GN% -       |
00000b90  20 20 20 20 20 20 74 68  65 20 6e 75 6d 62 65 72  |      the number|
00000ba0  20 6f 66 20 67 68 6f 73  74 73 20 68 61 75 6e 74  | of ghosts haunt|
00000bb0  69 6e 67 20 79 6f 75 72  20 73 63 72 65 65 6e 20  |ing your screen |
00000bc0  0a 52 65 66 6c 65 63 74  69 6f 6e 53 70 65 65 64  |.ReflectionSpeed|
00000bd0  2d 20 20 68 6f 77 20 66  61 73 74 20 74 68 65 20  |-  how fast the |
00000be0  77 61 74 65 72 20 72 69  70 70 6c 65 73 20 28 49  |water ripples (I|
00000bf0  20 68 61 76 65 20 69 6e  63 6c 75 64 65 64 20 74  | have included t|
00000c00  68 69 73 20 62 65 63 61  75 73 65 20 77 68 65 6e  |his because when|
00000c10  20 79 6f 75 20 69 6e 63  72 65 61 73 65 20 74 68  | you increase th|
00000c20  65 20 6e 75 6d 62 65 72  20 6f 66 20 67 68 6f 73  |e number of ghos|
00000c30  74 73 2c 20 74 68 65 20  72 69 70 70 6c 65 20 73  |ts, the ripple s|
00000c40  70 65 65 64 20 64 65 63  72 65 61 73 65 20 2d 20  |peed decrease - |
00000c50  74 68 69 73 2c 20 61 74  20 6c 65 61 73 74 2c 20  |this, at least, |
00000c60  67 69 76 65 73 20 79 6f  75 20 73 6f 6d 65 20 63  |gives you some c|
00000c70  6f 6e 74 72 6f 6c 29 0a  0a 2a 2a 2a 73 65 65 20  |ontrol)..***see |
00000c80  74 68 65 20 50 52 4f 43  65 64 75 72 65 20 50 52  |the PROCedure PR|
00000c90  4f 43 43 68 61 6e 67 61  62 6c 65 56 61 72 69 61  |OCChangableVaria|
00000ca0  62 6c 65 73 2a 2a 2a 0a  0a 20 20 20 0a 0a 0a 0a  |bles***..   ....|
00000cb0  20 20 20 20 0a 0a                                 |    ..|
00000cb6