home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / progutils / _makeappl / _help < prev    next >
Encoding:
Text File  |  1990-07-10  |  8.6 KB  |  196 lines

  1. !MakeAppl, version 0.97 10th July 1990
  2. =====================================
  3.  
  4. ***************************  Copyright Notice  **************************
  5. *                                                                       *
  6. *   The source code and documentation for the 'BASIC -> Application'    *
  7. *   utility are the exclusive copyright of Michael Ben-Gershon and are  *
  8. *   freely distributable, provided this notice is left intact and all   *
  9. *   of the files listed below are included, UNALTERED.                  *
  10. *                                                                       *
  11. *************************************************************************
  12.  
  13.  
  14. Included :-
  15.            !Boot
  16.            !Run
  17.            !RunImage
  18.            !Sprites
  19.            !Help (this file!)
  20.            !Config
  21.            Templates
  22.  
  23.  
  24. Introduction:
  25. =============
  26.  
  27. This program is a RISC OS utility that adds a header to BASIC files which
  28. then lets them be treated as if they were 'Applications'.  The main reason
  29. for wanting to do this is that Applications may be 'squeezed' - if you
  30. possess the Acorn 'squeeze' utility.  It is supplied with C release 3 and the
  31. Software Developer's Toolbox.  You may have discovered that a few of the
  32. Acorn-supplied programs on the RISC OS distribution discs were treated in
  33. this way - for example, !Help.
  34.  
  35. There are many good reasons for doing this.  Firstly, as Acorn point out in
  36. their documentation, squeezed programs take up less space on disc.  For
  37. example, the !RunImage file supplied with this application is reduced from
  38. 25k to 18k.  Secondly, the Archimedes can 'unsqueeze' a 'squeezed' file
  39. faster than it can be loaded off a disc (even a hard disc).  Unsqueezing
  40. happens at about 1Mb per second on a standard Archimedes.  With BASIC
  41. programs there is a third advantage - prevention of 'hacking'.  Many users
  42. like to hack about at programs they have bought.  The problem with this is
  43. that they often get into a mess, through inexperience or through
  44. misunderstanding the style of the original programmer.  At this stage, they
  45. either blame the author, or realise that they have lost the original
  46. version!  Either way they will find it difficult to get support from the
  47. author as the program has been modified by them.  All of this is eliminated
  48. with compiled languages as the source is no longer visible to the user.  By
  49. putting interpreted BASIC programs through !MakeAppl with the squeeze option
  50. set, the user will assume that the program was generated by a compiled
  51. language, and unless they are pretty expert they will be unable to do any
  52. damage!  An expert user will probably know how to get round this, but they
  53. will probably know what they are doing anyway...
  54.  
  55.  
  56.  
  57. Limitation:
  58. ===========
  59.  
  60. Programs which require command-line parameters will not work when converted
  61. to this format, as they will fail to find their command-line parameters.
  62. This is a shame, as the !RunImage file in !Maestro would be reduced from 93k
  63. to 69k.
  64.  
  65.  
  66.  
  67. Installation and use:
  68. =====================
  69.  
  70. Double-clicking on the !MakeAppl icon will install the application on the
  71. icon bar in the usual manner.  The mouse's centre 'menu' button gives a
  72. choice of various options.  Clicking on 'Squeeze' will ensure that any BASIC
  73. program processed by the application is squeezed before saving.  THIS
  74. REQUIRES THE PRESENCE OF THE 'SQUEEZE' UTILITY IN THE LIBRARY (or somewhere
  75. else pointed to by Run$Path).  Clicking on 'Save status' will save the
  76. current 'squeeze' status (on or off) in the !Config file in the !MakeAppl
  77. directory.  This file is essential to the workings of the program, and must
  78. never be removed!
  79.  
  80. Dragging a BASIC file icon to the !MakeAppl icon on the icon bar will result
  81. in a standard save box appearing, with a modified version of the filename in
  82. it.  This icon must be dragged to wherever it is to be saved to (usually
  83. some filer window).  !MakeAppl supports both memory and Wimp$Scrap transfer
  84. protocols, and allocates the memory it requires from the RMA (or next/free
  85. slots).  For example, the application !B_to_T converts a text file to
  86. tokenised BASIC (and back).  It supports memory-memory transfers.  A text
  87. file containing a BASIC program may be dragged to its icon, then 'saved'
  88. into !MakeAppl and then 'saved' into !Edit - all without ever saving an
  89. intermediate file!  (Note that some early versions of !B_to_T are riddled
  90. with bugs, so this may not work with them!)  Why anyone would ever want to
  91. do such a thing is another question, but it is interesting...
  92.  
  93.  
  94.  
  95. Technical details:
  96. ==================
  97.  
  98. This program was written in BASIC, only because I haven't written a RISC OS
  99. interface to ISO-Pascal yet!  As a result, it has not been written like most
  100. BASIC programs, but is as near as possible in its layout to a Pascal-like
  101. program.  Long procedure/variable names, plenty of indentation and lots of
  102. blank space.  Unfortunately, BASIC does not allow the creation of
  103. user-defined data structures, so that area is a bit of a mess.  It should be
  104. more-or-less self-documenting, but I haven't had the time to comment it more
  105. fully.  I know that I ought to, but the original, non-desktop version was
  106. only about 50 lines long and the desktop interface for it is just ENORMOUS!
  107. I tend to be a bit of a perfectionist, so I just had to support both memory
  108. and Wimp$Scrap protocols...
  109.  
  110. Having seen plenty of BASIC desktop source code, I am now convinced that
  111. !MakeAppl breaks new ground in terms of its readability.  It would be very
  112. easy to use parts of its structure in other programs, and if you are still
  113. confused by the memory and Wimp$Scrap transfer protocols (using messages)
  114. you might find that this helps a bit, if followed together with pages
  115. 1261-1268 of the RISC OS Programmer's Reference Manual.
  116.  
  117. If you are worried about its use of memory, you could try putting it through
  118. !Slash or something similar, but please keep the original version for
  119. reference!  I haven't tried this myself but you may be able to reduce the
  120. WimpSlot usage this way.
  121.  
  122.  
  123.  
  124.  
  125. Versions:
  126. =========
  127.  
  128.   0.90    First released version
  129.   0.91    Corrected a couple of very minor errors
  130.   0.94    Now works correctly with !Spark version 2 (and any other
  131.           RAM-transfer programs that send an initial file length of zero!
  132.   0.97    Rewritten memory management no longer uses OS_Module to allocate
  133.           memory, so doesn't crash any more with 'Not a heap block' errors.
  134.           However, the user must now set a sensible value for WimpSlot
  135.           themselves which takes into consideration the likely size of files
  136.           to be converted!
  137.  
  138.  
  139.  
  140.  
  141. Conditions of use:
  142. ==================
  143.  
  144. This software is supplied "as is"; no warranty, express or implied, of the
  145. merchantability of this software or its fitness for any particular purpose
  146. is given.  In no circumstances shall the providers of this software be
  147. liable for any damage, loss of profits, or any indirect or consequential
  148. loss arising out of the use of this software or inability to use this
  149. software.
  150.  
  151. You are free to give this application to anyone you please via any medium,
  152. provided it is delivered with ALL the supplied files, UNALTERED.  You may
  153. NOT sell this software, or use it otherwise for personal gain.  If you wish
  154. to post it on your Bulletin Board or include it in your Shareware library
  155. then that, too, is fine.
  156.  
  157.  
  158. You have permission to use any part or the whole application in a project
  159. you intend to place in the public domain, as long as I am fully credited. If
  160. you wish to use these routines in a program that is for sale (for however
  161. much and for whatever reasons) or released as copyright material then my
  162. express permission in writing must be obtained. I maintain copyright on all
  163. the material supplied and reserve the right to amend these conditions in
  164. case where I deem misuse.
  165.  
  166. A large number of hours of work have gone into the production and
  167. maintenance of this application and although I have supplied the application
  168. free, donations will be gratefully received (and if over 7 pounds I will send
  169. you a disc with updates of this and all other pd stuff I have written.
  170. Please include a letter telling me which apps of mine you use and their
  171. version numbers).
  172.  
  173. Please report any bugs you find to me, so that other users may benefit from
  174. improved versions.  I cannot guarantee to fix any bugs, but I will do my
  175. best.
  176.  
  177. My address is:
  178.  
  179. Michael Ben-Gershon
  180. 8 Linnell Drive
  181. LONDON NW11 7LT
  182.  
  183. No telephone calls please.
  184.  
  185. However, I can be contacted as:
  186. Prestel (and SID):    014554781
  187. Janet:                umace03@doc.ic.ac.uk (until September 1990)
  188. Archive BBS:          0603 745932           (mailbox 396)
  189. The World of Cryton:  0749 670030 / 679794  (mailbox 100)
  190.  
  191.  
  192. Thanks are due to Phil Colmer, David Spencer and Emmet Spier for ideas I
  193. found in the source-code of their Desktop applications.
  194.  
  195. ⌐ Michael Ben-Gershon 1990 - USE and Enjoy!
  196.