	 
 Module specification for simple filter modules for Luna.
 --------------------------------------------------------

 - A Luna filter module uses the file extension 'FM' or 'fm'.
 - The module is loaded and accessed directly by Luna (straight to the 
   text segment, without pexec() modes or relocation).
 - Paramater passing is via the stack.
 - The module is a normal program file with a 28 byte-long header.

 Return parameters in D0, registers d0-d7 and a0-a2 may be altered. While 
 handling the block the filter module remains in memory and is called 
 once before filtering starts for initialisation, then for each line of 
 the block to be filtered, and finally once after filtering for de- 
 initialisation.

 If such a module wishes to alter the line length (e.g. by substituting 
 a character string by another one), then the Luna working buffer should 
 be used, whose address is also passed.

 A possibly altered character string (null-terminated) is read by Luna 
 from the working buffer and then,corresponding to the block markings, 
 the line in the marked text is altered.
 To inform Luna that an altered character string is present in the 
 working buffer a 1 should be returned after filtering, otherwise 0.


 ------------------------------------------------------------------------------
  Luna always calls the module with the following basic parameters:
 ------------------------------------------------------------------------------
a:  4(sp) word   Function number.
b:  6(sp) long   Address of the string to be handled.
c:  10(sp) long   Address of the working buffer.
d:  14(sp) word   Length of string to be handled.
e:  16(sp) word   Length of the working buffer (this is always 
                   the maximum line length present in the text*4.

 The values 'b' and 'd' are only valid for function number 0.

 ------------------------------------------------------------------------------
  The function numbers available to date:
 ------------------------------------------------------------------------------
  0 = Execute filter function.
  1 = Return a pointer to the info-text (see below).
      A pointer to the info-text is to be returned in D0.
  2 = Initialisation of the module.
      Return is to be Null (OK), or an error code.
    3 = Deinitialisation of the module.
      Return is to be Null (OK), or an error code.
 ------------------------------------------------------------------------------
  Exit codes to date (long):
 ------------------------------------------------------------------------------
     0 : OK.
     1 : New string in working buffer (Null-terminated).
   -32 : Invalid function number.
    <0 : TOS error-messages.
