Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 » !AWApr95/Goodies/Draw/!Libraries/!Help

!AWApr95/Goodies/Draw/!Libraries/!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 » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95
Filename: !AWApr95/Goodies/Draw/!Libraries/!Help
Read OK:
File size: 1718 bytes
Load address: 0000
Exec address: 0000
File contents
   --------------------------------------------------------------------
                                                                      
       APPLICATION : !Libraries                                        
                                                                      
           PURPOSE : To create and handle BASIC procedure libraries   
                                                                      
           VERSION : 1.3 (June 1994)                               
                                                                      
            AUTHOR : � Joe Taylor

                     This software is in the public domain. It is
                     distributed 'as is'. No liability is accepted
                     for any damage or loss resulting from its use. 
                                                        
                                                                                  --------------------------------------------------------------------

  
  INTRODUCTION
  ------------

  One of the advantages of the language 'C' is its ability to easily call the
  procedures in powerful libraries and include them in finished programs.

  What of BASIC?

  Well, there is the command "LIBRARY" which takes the form:

                         LIBRARY "<file pathname>"

  This certainly will include the referenced procedure library at execution
  time but there are two disadvantages:

       1) Each time you move the library file to a new Filer location
          you must alter the call in your main program. (I have found this
          to be a terrible nuisance).

       2) Although your may only need to use a few of the procedures in the
          library, the entire library needs to be supplied with your program.

  It is these two deficiencies which !Libraries aims to correct.  
    
  RUNNING !LIBRARIES
  ------------------

  Double-click the !Libraries's icon in a Filer window in the usual way. This
  places !Libraries's icon on the iconbar.

  This icon only respond's to clicks with the MENU (middle) button or to
  BASIC program files dragged onto it. (It will also respond to applications
  containing a resource file called "!RunImage").

  ICONBAR MENU
  ------------

  1. "Info"
     ======
     
     Leads to the usual program info window
     
  2. "New Library"
     ============
     
     Leads to a standard save box but showing an 'intelligent' directory icon.

     Saving takes place by renaming and dragging in the usual way.

     What is saved is an 'intelligent' directory for procedure libraries. Such
     directories can be used in precisely the same way as ordinary directories
     (blue folders) - i.e. double clicking opens the directory etc.

     N.B.
     
     Each 'intelligent' directory is saved with a "!Help" file (accessible from
     the Filer window in the usual way) which explains how to reference the
     files in your LIBRARY statements. Read This!


  3. "Quit"
     ======
     
     This item causes !Libraries to exit the wimp in the usual way.


  DRAGGING BASIC FILES ONTO THE ICON
  ----------------------------------

       ===================================================================
       WARNING!

       This program works well on computers with large amounts of memory.
       Lack of memory can cause the program to "hang" and you have to
       do a CTRL-Break Reset.
       ===================================================================

     Dragging a BASIC file onto !Libraries's icon on the iconbar causes the
     "Linker" window to be opened.

     The pathname of the file so dragged will be shown at the top of this
     window. This is the "input" file for the linker and should be your
     main program containing the LIBRARY calls.

     The purpose of the Linker is to provide you with the means of making
     a new main program with the LIBRARY calls removed but with exactly those
     procedures included which are used by your program. This is easily
     achieved: 

     At the bottom right of the window is the standard save box arrangement
     with the "default" name "Linked" being shown in the name icon. When this
     file icon is dragged to a Filer window a "linked" copy of the main
     program (with LIBRARY calls removed) is saved under whatever name
     you have chosen.

     If your previous program worked then so should this "linked" version
     which will run independent of the library. It does not work if your
     LIBRARY call is inside a proceure.

     (The techniques used to perform the linking are "old-fashioned"
      command line methods which are actually quite efficient. These cause a
      command window to open. Information about each stage of the process is
       given in this window. At the end of the process you will need to press
       the space bar or click the mouse - when invited to do so.

      Notice that a RAM disc is used for intermediate storage. One will be
      created if none already exists.)

  THE LINKER OPTIONS
  ------------------

  The various option buttons in the Linker Window control how the linked
  program (the ouput file) will be CRUNCHed. I.e. whether REMs are stripped,
  blank lines removed etc.

  The linker window has a menu, consisting of only one item, which allows
  you to save your CRUNCH choices as a default.

     ===============================================================
     N.B. Stripping spaces from statements can lead to the program
          Not being linked properly. Use this option with care!
     ===============================================================

  Notice that, even for programs with no LIBRARY calls, this feature can
  still be used.

  DRAGGING DRAWBASIC FILES ONTO THE ICON
  --------------------------------------

  This opens a save box to  convert your  DrawBasic program to a BASIC
  program.
      
00000000  0a 20 20 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.   ------------|
00000010  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000040  2d 2d 2d 2d 2d 2d 2d 2d  0a 20 20 20 20 20 20 20  |--------.       |
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0a  |               .|
00000090  20 20 20 20 20 20 20 41  50 50 4c 49 43 41 54 49  |       APPLICATI|
000000a0  4f 4e 20 3a 20 21 4c 69  62 72 61 72 69 65 73 20  |ON : !Libraries |
000000b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000000d0  20 20 20 20 20 20 20 0a  20 20 20 20 20 20 20 20  |       .        |
000000e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0a 20  |              . |
00000120  20 20 20 20 20 20 20 20  20 20 50 55 52 50 4f 53  |          PURPOS|
00000130  45 20 3a 20 54 6f 20 63  72 65 61 74 65 20 61 6e  |E : To create an|
00000140  64 20 68 61 6e 64 6c 65  20 42 41 53 49 43 20 70  |d handle BASIC p|
00000150  72 6f 63 65 64 75 72 65  20 6c 69 62 72 61 72 69  |rocedure librari|
00000160  65 73 20 20 20 0a 20 20  20 20 20 20 20 20 20 20  |es   .          |
00000170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000001a0  20 20 20 20 20 20 20 20  20 20 20 20 0a 20 20 20  |            .   |
000001b0  20 20 20 20 20 20 20 20  56 45 52 53 49 4f 4e 20  |        VERSION |
000001c0  3a 20 31 2e 33 20 28 4a  75 6e 65 20 31 39 39 34  |: 1.3 (June 1994|
000001d0  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |)               |
000001e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001f0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000230  20 20 20 20 20 20 20 0a  20 20 20 20 20 20 20 20  |       .        |
00000240  20 20 20 20 41 55 54 48  4f 52 20 3a 20 a9 20 4a  |    AUTHOR : . J|
00000250  6f 65 20 54 61 79 6c 6f  72 0a 0a 20 20 20 20 20  |oe Taylor..     |
00000260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000270  54 68 69 73 20 73 6f 66  74 77 61 72 65 20 69 73  |This software is|
00000280  20 69 6e 20 74 68 65 20  70 75 62 6c 69 63 20 64  | in the public d|
00000290  6f 6d 61 69 6e 2e 20 49  74 20 69 73 0a 20 20 20  |omain. It is.   |
000002a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002b0  20 20 64 69 73 74 72 69  62 75 74 65 64 20 27 61  |  distributed 'a|
000002c0  73 20 69 73 27 2e 20 4e  6f 20 6c 69 61 62 69 6c  |s is'. No liabil|
000002d0  69 74 79 20 69 73 20 61  63 63 65 70 74 65 64 0a  |ity is accepted.|
000002e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002f0  20 20 20 20 20 66 6f 72  20 61 6e 79 20 64 61 6d  |     for any dam|
00000300  61 67 65 20 6f 72 20 6c  6f 73 73 20 72 65 73 75  |age or loss resu|
00000310  6c 74 69 6e 67 20 66 72  6f 6d 20 69 74 73 20 75  |lting from its u|
00000320  73 65 2e 20 0a 20 20 20  20 20 20 20 20 20 20 20  |se. .           |
00000330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000350  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 20 20  |             .  |
00000360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000003b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000003f0  2d 2d 2d 2d 0a 0a 20 20  0a 20 20 49 4e 54 52 4f  |----..  .  INTRO|
00000400  44 55 43 54 49 4f 4e 0a  20 20 2d 2d 2d 2d 2d 2d  |DUCTION.  ------|
00000410  2d 2d 2d 2d 2d 2d 0a 0a  20 20 4f 6e 65 20 6f 66  |------..  One of|
00000420  20 74 68 65 20 61 64 76  61 6e 74 61 67 65 73 20  | the advantages |
00000430  6f 66 20 74 68 65 20 6c  61 6e 67 75 61 67 65 20  |of the language |
00000440  27 43 27 20 69 73 20 69  74 73 20 61 62 69 6c 69  |'C' is its abili|
00000450  74 79 20 74 6f 20 65 61  73 69 6c 79 20 63 61 6c  |ty to easily cal|
00000460  6c 20 74 68 65 0a 20 20  70 72 6f 63 65 64 75 72  |l the.  procedur|
00000470  65 73 20 69 6e 20 70 6f  77 65 72 66 75 6c 20 6c  |es in powerful l|
00000480  69 62 72 61 72 69 65 73  20 61 6e 64 20 69 6e 63  |ibraries and inc|
00000490  6c 75 64 65 20 74 68 65  6d 20 69 6e 20 66 69 6e  |lude them in fin|
000004a0  69 73 68 65 64 20 70 72  6f 67 72 61 6d 73 2e 0a  |ished programs..|
000004b0  0a 20 20 57 68 61 74 20  6f 66 20 42 41 53 49 43  |.  What of BASIC|
000004c0  3f 0a 0a 20 20 57 65 6c  6c 2c 20 74 68 65 72 65  |?..  Well, there|
000004d0  20 69 73 20 74 68 65 20  63 6f 6d 6d 61 6e 64 20  | is the command |
000004e0  22 4c 49 42 52 41 52 59  22 20 77 68 69 63 68 20  |"LIBRARY" which |
000004f0  74 61 6b 65 73 20 74 68  65 20 66 6f 72 6d 3a 0a  |takes the form:.|
00000500  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000510  20 20 20 20 20 20 20 20  20 20 4c 49 42 52 41 52  |          LIBRAR|
00000520  59 20 22 3c 66 69 6c 65  20 70 61 74 68 6e 61 6d  |Y "<file pathnam|
00000530  65 3e 22 0a 0a 20 20 54  68 69 73 20 63 65 72 74  |e>"..  This cert|
00000540  61 69 6e 6c 79 20 77 69  6c 6c 20 69 6e 63 6c 75  |ainly will inclu|
00000550  64 65 20 74 68 65 20 72  65 66 65 72 65 6e 63 65  |de the reference|
00000560  64 20 70 72 6f 63 65 64  75 72 65 20 6c 69 62 72  |d procedure libr|
00000570  61 72 79 20 61 74 20 65  78 65 63 75 74 69 6f 6e  |ary at execution|
00000580  0a 20 20 74 69 6d 65 20  62 75 74 20 74 68 65 72  |.  time but ther|
00000590  65 20 61 72 65 20 74 77  6f 20 64 69 73 61 64 76  |e are two disadv|
000005a0  61 6e 74 61 67 65 73 3a  0a 0a 20 20 20 20 20 20  |antages:..      |
000005b0  20 31 29 20 45 61 63 68  20 74 69 6d 65 20 79 6f  | 1) Each time yo|
000005c0  75 20 6d 6f 76 65 20 74  68 65 20 6c 69 62 72 61  |u move the libra|
000005d0  72 79 20 66 69 6c 65 20  74 6f 20 61 20 6e 65 77  |ry file to a new|
000005e0  20 46 69 6c 65 72 20 6c  6f 63 61 74 69 6f 6e 0a  | Filer location.|
000005f0  20 20 20 20 20 20 20 20  20 20 79 6f 75 20 6d 75  |          you mu|
00000600  73 74 20 61 6c 74 65 72  20 74 68 65 20 63 61 6c  |st alter the cal|
00000610  6c 20 69 6e 20 79 6f 75  72 20 6d 61 69 6e 20 70  |l in your main p|
00000620  72 6f 67 72 61 6d 2e 20  28 49 20 68 61 76 65 20  |rogram. (I have |
00000630  66 6f 75 6e 64 20 74 68  69 73 0a 20 20 20 20 20  |found this.     |
00000640  20 20 20 20 20 74 6f 20  62 65 20 61 20 74 65 72  |     to be a ter|
00000650  72 69 62 6c 65 20 6e 75  69 73 61 6e 63 65 29 2e  |rible nuisance).|
00000660  0a 0a 20 20 20 20 20 20  20 32 29 20 41 6c 74 68  |..       2) Alth|
00000670  6f 75 67 68 20 79 6f 75  72 20 6d 61 79 20 6f 6e  |ough your may on|
00000680  6c 79 20 6e 65 65 64 20  74 6f 20 75 73 65 20 61  |ly need to use a|
00000690  20 66 65 77 20 6f 66 20  74 68 65 20 70 72 6f 63  | few of the proc|
000006a0  65 64 75 72 65 73 20 69  6e 20 74 68 65 0a 20 20  |edures in the.  |
000006b0  20 20 20 20 20 20 20 20  6c 69 62 72 61 72 79 2c  |        library,|
000006c0  20 74 68 65 20 65 6e 74  69 72 65 20 6c 69 62 72  | the entire libr|
000006d0  61 72 79 20 6e 65 65 64  73 20 74 6f 20 62 65 20  |ary needs to be |
000006e0  73 75 70 70 6c 69 65 64  20 77 69 74 68 20 79 6f  |supplied with yo|
000006f0  75 72 20 70 72 6f 67 72  61 6d 2e 0a 0a 20 20 49  |ur program...  I|
00000700  74 20 69 73 20 74 68 65  73 65 20 74 77 6f 20 64  |t is these two d|
00000710  65 66 69 63 69 65 6e 63  69 65 73 20 77 68 69 63  |eficiencies whic|
00000720  68 20 21 4c 69 62 72 61  72 69 65 73 20 61 69 6d  |h !Libraries aim|
00000730  73 20 74 6f 20 63 6f 72  72 65 63 74 2e 20 20 0a  |s to correct.  .|
00000740  20 20 20 20 0a 20 20 52  55 4e 4e 49 4e 47 20 21  |    .  RUNNING !|
00000750  4c 49 42 52 41 52 49 45  53 0a 20 20 2d 2d 2d 2d  |LIBRARIES.  ----|
00000760  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
00000770  20 20 44 6f 75 62 6c 65  2d 63 6c 69 63 6b 20 74  |  Double-click t|
00000780  68 65 20 21 4c 69 62 72  61 72 69 65 73 27 73 20  |he !Libraries's |
00000790  69 63 6f 6e 20 69 6e 20  61 20 46 69 6c 65 72 20  |icon in a Filer |
000007a0  77 69 6e 64 6f 77 20 69  6e 20 74 68 65 20 75 73  |window in the us|
000007b0  75 61 6c 20 77 61 79 2e  20 54 68 69 73 0a 20 20  |ual way. This.  |
000007c0  70 6c 61 63 65 73 20 21  4c 69 62 72 61 72 69 65  |places !Librarie|
000007d0  73 27 73 20 69 63 6f 6e  20 6f 6e 20 74 68 65 20  |s's icon on the |
000007e0  69 63 6f 6e 62 61 72 2e  0a 0a 20 20 54 68 69 73  |iconbar...  This|
000007f0  20 69 63 6f 6e 20 6f 6e  6c 79 20 72 65 73 70 6f  | icon only respo|
00000800  6e 64 27 73 20 74 6f 20  63 6c 69 63 6b 73 20 77  |nd's to clicks w|
00000810  69 74 68 20 74 68 65 20  4d 45 4e 55 20 28 6d 69  |ith the MENU (mi|
00000820  64 64 6c 65 29 20 62 75  74 74 6f 6e 20 6f 72 20  |ddle) button or |
00000830  74 6f 0a 20 20 42 41 53  49 43 20 70 72 6f 67 72  |to.  BASIC progr|
00000840  61 6d 20 66 69 6c 65 73  20 64 72 61 67 67 65 64  |am files dragged|
00000850  20 6f 6e 74 6f 20 69 74  2e 20 28 49 74 20 77 69  | onto it. (It wi|
00000860  6c 6c 20 61 6c 73 6f 20  72 65 73 70 6f 6e 64 20  |ll also respond |
00000870  74 6f 20 61 70 70 6c 69  63 61 74 69 6f 6e 73 0a  |to applications.|
00000880  20 20 63 6f 6e 74 61 69  6e 69 6e 67 20 61 20 72  |  containing a r|
00000890  65 73 6f 75 72 63 65 20  66 69 6c 65 20 63 61 6c  |esource file cal|
000008a0  6c 65 64 20 22 21 52 75  6e 49 6d 61 67 65 22 29  |led "!RunImage")|
000008b0  2e 0a 0a 20 20 49 43 4f  4e 42 41 52 20 4d 45 4e  |...  ICONBAR MEN|
000008c0  55 0a 20 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |U.  ------------|
000008d0  0a 0a 20 20 31 2e 20 22  49 6e 66 6f 22 0a 20 20  |..  1. "Info".  |
000008e0  20 20 20 3d 3d 3d 3d 3d  3d 0a 20 20 20 20 20 0a  |   ======.     .|
000008f0  20 20 20 20 20 4c 65 61  64 73 20 74 6f 20 74 68  |     Leads to th|
00000900  65 20 75 73 75 61 6c 20  70 72 6f 67 72 61 6d 20  |e usual program |
00000910  69 6e 66 6f 20 77 69 6e  64 6f 77 0a 20 20 20 20  |info window.    |
00000920  20 0a 20 20 32 2e 20 22  4e 65 77 20 4c 69 62 72  | .  2. "New Libr|
00000930  61 72 79 22 0a 20 20 20  20 20 3d 3d 3d 3d 3d 3d  |ary".     ======|
00000940  3d 3d 3d 3d 3d 3d 0a 20  20 20 20 20 0a 20 20 20  |======.     .   |
00000950  20 20 4c 65 61 64 73 20  74 6f 20 61 20 73 74 61  |  Leads to a sta|
00000960  6e 64 61 72 64 20 73 61  76 65 20 62 6f 78 20 62  |ndard save box b|
00000970  75 74 20 73 68 6f 77 69  6e 67 20 61 6e 20 27 69  |ut showing an 'i|
00000980  6e 74 65 6c 6c 69 67 65  6e 74 27 20 64 69 72 65  |ntelligent' dire|
00000990  63 74 6f 72 79 20 69 63  6f 6e 2e 0a 0a 20 20 20  |ctory icon...   |
000009a0  20 20 53 61 76 69 6e 67  20 74 61 6b 65 73 20 70  |  Saving takes p|
000009b0  6c 61 63 65 20 62 79 20  72 65 6e 61 6d 69 6e 67  |lace by renaming|
000009c0  20 61 6e 64 20 64 72 61  67 67 69 6e 67 20 69 6e  | and dragging in|
000009d0  20 74 68 65 20 75 73 75  61 6c 20 77 61 79 2e 0a  | the usual way..|
000009e0  0a 20 20 20 20 20 57 68  61 74 20 69 73 20 73 61  |.     What is sa|
000009f0  76 65 64 20 69 73 20 61  6e 20 27 69 6e 74 65 6c  |ved is an 'intel|
00000a00  6c 69 67 65 6e 74 27 20  64 69 72 65 63 74 6f 72  |ligent' director|
00000a10  79 20 66 6f 72 20 70 72  6f 63 65 64 75 72 65 20  |y for procedure |
00000a20  6c 69 62 72 61 72 69 65  73 2e 20 53 75 63 68 0a  |libraries. Such.|
00000a30  20 20 20 20 20 64 69 72  65 63 74 6f 72 69 65 73  |     directories|
00000a40  20 63 61 6e 20 62 65 20  75 73 65 64 20 69 6e 20  | can be used in |
00000a50  70 72 65 63 69 73 65 6c  79 20 74 68 65 20 73 61  |precisely the sa|
00000a60  6d 65 20 77 61 79 20 61  73 20 6f 72 64 69 6e 61  |me way as ordina|
00000a70  72 79 20 64 69 72 65 63  74 6f 72 69 65 73 0a 20  |ry directories. |
00000a80  20 20 20 20 28 62 6c 75  65 20 66 6f 6c 64 65 72  |    (blue folder|
00000a90  73 29 20 2d 20 69 2e 65  2e 20 64 6f 75 62 6c 65  |s) - i.e. double|
00000aa0  20 63 6c 69 63 6b 69 6e  67 20 6f 70 65 6e 73 20  | clicking opens |
00000ab0  74 68 65 20 64 69 72 65  63 74 6f 72 79 20 65 74  |the directory et|
00000ac0  63 2e 0a 0a 20 20 20 20  20 4e 2e 42 2e 0a 20 20  |c...     N.B..  |
00000ad0  20 20 20 0a 20 20 20 20  20 45 61 63 68 20 27 69  |   .     Each 'i|
00000ae0  6e 74 65 6c 6c 69 67 65  6e 74 27 20 64 69 72 65  |ntelligent' dire|
00000af0  63 74 6f 72 79 20 69 73  20 73 61 76 65 64 20 77  |ctory is saved w|
00000b00  69 74 68 20 61 20 22 21  48 65 6c 70 22 20 66 69  |ith a "!Help" fi|
00000b10  6c 65 20 28 61 63 63 65  73 73 69 62 6c 65 20 66  |le (accessible f|
00000b20  72 6f 6d 0a 20 20 20 20  20 74 68 65 20 46 69 6c  |rom.     the Fil|
00000b30  65 72 20 77 69 6e 64 6f  77 20 69 6e 20 74 68 65  |er window in the|
00000b40  20 75 73 75 61 6c 20 77  61 79 29 20 77 68 69 63  | usual way) whic|
00000b50  68 20 65 78 70 6c 61 69  6e 73 20 68 6f 77 20 74  |h explains how t|
00000b60  6f 20 72 65 66 65 72 65  6e 63 65 20 74 68 65 0a  |o reference the.|
00000b70  20 20 20 20 20 66 69 6c  65 73 20 69 6e 20 79 6f  |     files in yo|
00000b80  75 72 20 4c 49 42 52 41  52 59 20 73 74 61 74 65  |ur LIBRARY state|
00000b90  6d 65 6e 74 73 2e 20 52  65 61 64 20 54 68 69 73  |ments. Read This|
00000ba0  21 0a 0a 0a 20 20 33 2e  20 22 51 75 69 74 22 0a  |!...  3. "Quit".|
00000bb0  20 20 20 20 20 3d 3d 3d  3d 3d 3d 0a 20 20 20 20  |     ======.    |
00000bc0  20 0a 20 20 20 20 20 54  68 69 73 20 69 74 65 6d  | .     This item|
00000bd0  20 63 61 75 73 65 73 20  21 4c 69 62 72 61 72 69  | causes !Librari|
00000be0  65 73 20 74 6f 20 65 78  69 74 20 74 68 65 20 77  |es to exit the w|
00000bf0  69 6d 70 20 69 6e 20 74  68 65 20 75 73 75 61 6c  |imp in the usual|
00000c00  20 77 61 79 2e 0a 0a 0a  20 20 44 52 41 47 47 49  | way....  DRAGGI|
00000c10  4e 47 20 42 41 53 49 43  20 46 49 4c 45 53 20 4f  |NG BASIC FILES O|
00000c20  4e 54 4f 20 54 48 45 20  49 43 4f 4e 0a 20 20 2d  |NTO THE ICON.  -|
00000c30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000c50  2d 0a 0a 20 20 20 20 20  20 20 3d 3d 3d 3d 3d 3d  |-..       ======|
00000c60  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000c90  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0a 20 20  |=============.  |
00000ca0  20 20 20 20 20 57 41 52  4e 49 4e 47 21 0a 0a 20  |     WARNING!.. |
00000cb0  20 20 20 20 20 20 54 68  69 73 20 70 72 6f 67 72  |      This progr|
00000cc0  61 6d 20 77 6f 72 6b 73  20 77 65 6c 6c 20 6f 6e  |am works well on|
00000cd0  20 63 6f 6d 70 75 74 65  72 73 20 77 69 74 68 20  | computers with |
00000ce0  6c 61 72 67 65 20 61 6d  6f 75 6e 74 73 20 6f 66  |large amounts of|
00000cf0  20 6d 65 6d 6f 72 79 2e  0a 20 20 20 20 20 20 20  | memory..       |
00000d00  4c 61 63 6b 20 6f 66 20  6d 65 6d 6f 72 79 20 63  |Lack of memory c|
00000d10  61 6e 20 63 61 75 73 65  20 74 68 65 20 70 72 6f  |an cause the pro|
00000d20  67 72 61 6d 20 74 6f 20  22 68 61 6e 67 22 20 61  |gram to "hang" a|
00000d30  6e 64 20 79 6f 75 20 68  61 76 65 20 74 6f 0a 20  |nd you have to. |
00000d40  20 20 20 20 20 20 64 6f  20 61 20 43 54 52 4c 2d  |      do a CTRL-|
00000d50  42 72 65 61 6b 20 52 65  73 65 74 2e 0a 20 20 20  |Break Reset..   |
00000d60  20 20 20 20 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |    ============|
00000d70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000da0  3d 3d 3d 3d 3d 3d 3d 0a  0a 20 20 20 20 20 44 72  |=======..     Dr|
00000db0  61 67 67 69 6e 67 20 61  20 42 41 53 49 43 20 66  |agging a BASIC f|
00000dc0  69 6c 65 20 6f 6e 74 6f  20 21 4c 69 62 72 61 72  |ile onto !Librar|
00000dd0  69 65 73 27 73 20 69 63  6f 6e 20 6f 6e 20 74 68  |ies's icon on th|
00000de0  65 20 69 63 6f 6e 62 61  72 20 63 61 75 73 65 73  |e iconbar causes|
00000df0  20 74 68 65 0a 20 20 20  20 20 22 4c 69 6e 6b 65  | the.     "Linke|
00000e00  72 22 20 77 69 6e 64 6f  77 20 74 6f 20 62 65 20  |r" window to be |
00000e10  6f 70 65 6e 65 64 2e 0a  0a 20 20 20 20 20 54 68  |opened...     Th|
00000e20  65 20 70 61 74 68 6e 61  6d 65 20 6f 66 20 74 68  |e pathname of th|
00000e30  65 20 66 69 6c 65 20 73  6f 20 64 72 61 67 67 65  |e file so dragge|
00000e40  64 20 77 69 6c 6c 20 62  65 20 73 68 6f 77 6e 20  |d will be shown |
00000e50  61 74 20 74 68 65 20 74  6f 70 20 6f 66 20 74 68  |at the top of th|
00000e60  69 73 0a 20 20 20 20 20  77 69 6e 64 6f 77 2e 20  |is.     window. |
00000e70  54 68 69 73 20 69 73 20  74 68 65 20 22 69 6e 70  |This is the "inp|
00000e80  75 74 22 20 66 69 6c 65  20 66 6f 72 20 74 68 65  |ut" file for the|
00000e90  20 6c 69 6e 6b 65 72 20  61 6e 64 20 73 68 6f 75  | linker and shou|
00000ea0  6c 64 20 62 65 20 79 6f  75 72 0a 20 20 20 20 20  |ld be your.     |
00000eb0  6d 61 69 6e 20 70 72 6f  67 72 61 6d 20 63 6f 6e  |main program con|
00000ec0  74 61 69 6e 69 6e 67 20  74 68 65 20 4c 49 42 52  |taining the LIBR|
00000ed0  41 52 59 20 63 61 6c 6c  73 2e 0a 0a 20 20 20 20  |ARY calls...    |
00000ee0  20 54 68 65 20 70 75 72  70 6f 73 65 20 6f 66 20  | The purpose of |
00000ef0  74 68 65 20 4c 69 6e 6b  65 72 20 69 73 20 74 6f  |the Linker is to|
00000f00  20 70 72 6f 76 69 64 65  20 79 6f 75 20 77 69 74  | provide you wit|
00000f10  68 20 74 68 65 20 6d 65  61 6e 73 20 6f 66 20 6d  |h the means of m|
00000f20  61 6b 69 6e 67 0a 20 20  20 20 20 61 20 6e 65 77  |aking.     a new|
00000f30  20 6d 61 69 6e 20 70 72  6f 67 72 61 6d 20 77 69  | main program wi|
00000f40  74 68 20 74 68 65 20 4c  49 42 52 41 52 59 20 63  |th the LIBRARY c|
00000f50  61 6c 6c 73 20 72 65 6d  6f 76 65 64 20 62 75 74  |alls removed but|
00000f60  20 77 69 74 68 20 65 78  61 63 74 6c 79 20 74 68  | with exactly th|
00000f70  6f 73 65 0a 20 20 20 20  20 70 72 6f 63 65 64 75  |ose.     procedu|
00000f80  72 65 73 20 69 6e 63 6c  75 64 65 64 20 77 68 69  |res included whi|
00000f90  63 68 20 61 72 65 20 75  73 65 64 20 62 79 20 79  |ch are used by y|
00000fa0  6f 75 72 20 70 72 6f 67  72 61 6d 2e 20 54 68 69  |our program. Thi|
00000fb0  73 20 69 73 20 65 61 73  69 6c 79 0a 20 20 20 20  |s is easily.    |
00000fc0  20 61 63 68 69 65 76 65  64 3a 20 0a 0a 20 20 20  | achieved: ..   |
00000fd0  20 20 41 74 20 74 68 65  20 62 6f 74 74 6f 6d 20  |  At the bottom |
00000fe0  72 69 67 68 74 20 6f 66  20 74 68 65 20 77 69 6e  |right of the win|
00000ff0  64 6f 77 20 69 73 20 74  68 65 20 73 74 61 6e 64  |dow is the stand|
00001000  61 72 64 20 73 61 76 65  20 62 6f 78 20 61 72 72  |ard save box arr|
00001010  61 6e 67 65 6d 65 6e 74  0a 20 20 20 20 20 77 69  |angement.     wi|
00001020  74 68 20 74 68 65 20 22  64 65 66 61 75 6c 74 22  |th the "default"|
00001030  20 6e 61 6d 65 20 22 4c  69 6e 6b 65 64 22 20 62  | name "Linked" b|
00001040  65 69 6e 67 20 73 68 6f  77 6e 20 69 6e 20 74 68  |eing shown in th|
00001050  65 20 6e 61 6d 65 20 69  63 6f 6e 2e 20 57 68 65  |e name icon. Whe|
00001060  6e 20 74 68 69 73 0a 20  20 20 20 20 66 69 6c 65  |n this.     file|
00001070  20 69 63 6f 6e 20 69 73  20 64 72 61 67 67 65 64  | icon is dragged|
00001080  20 74 6f 20 61 20 46 69  6c 65 72 20 77 69 6e 64  | to a Filer wind|
00001090  6f 77 20 61 20 22 6c 69  6e 6b 65 64 22 20 63 6f  |ow a "linked" co|
000010a0  70 79 20 6f 66 20 74 68  65 20 6d 61 69 6e 0a 20  |py of the main. |
000010b0  20 20 20 20 70 72 6f 67  72 61 6d 20 28 77 69 74  |    program (wit|
000010c0  68 20 4c 49 42 52 41 52  59 20 63 61 6c 6c 73 20  |h LIBRARY calls |
000010d0  72 65 6d 6f 76 65 64 29  20 69 73 20 73 61 76 65  |removed) is save|
000010e0  64 20 75 6e 64 65 72 20  77 68 61 74 65 76 65 72  |d under whatever|
000010f0  20 6e 61 6d 65 0a 20 20  20 20 20 79 6f 75 20 68  | name.     you h|
00001100  61 76 65 20 63 68 6f 73  65 6e 2e 0a 0a 20 20 20  |ave chosen...   |
00001110  20 20 49 66 20 79 6f 75  72 20 70 72 65 76 69 6f  |  If your previo|
00001120  75 73 20 70 72 6f 67 72  61 6d 20 77 6f 72 6b 65  |us program worke|
00001130  64 20 74 68 65 6e 20 73  6f 20 73 68 6f 75 6c 64  |d then so should|
00001140  20 74 68 69 73 20 22 6c  69 6e 6b 65 64 22 20 76  | this "linked" v|
00001150  65 72 73 69 6f 6e 0a 20  20 20 20 20 77 68 69 63  |ersion.     whic|
00001160  68 20 77 69 6c 6c 20 72  75 6e 20 69 6e 64 65 70  |h will run indep|
00001170  65 6e 64 65 6e 74 20 6f  66 20 74 68 65 20 6c 69  |endent of the li|
00001180  62 72 61 72 79 2e 20 49  74 20 64 6f 65 73 20 6e  |brary. It does n|
00001190  6f 74 20 77 6f 72 6b 20  69 66 20 79 6f 75 72 0a  |ot work if your.|
000011a0  20 20 20 20 20 4c 49 42  52 41 52 59 20 63 61 6c  |     LIBRARY cal|
000011b0  6c 20 69 73 20 69 6e 73  69 64 65 20 61 20 70 72  |l is inside a pr|
000011c0  6f 63 65 75 72 65 2e 0a  0a 20 20 20 20 20 28 54  |oceure...     (T|
000011d0  68 65 20 74 65 63 68 6e  69 71 75 65 73 20 75 73  |he techniques us|
000011e0  65 64 20 74 6f 20 70 65  72 66 6f 72 6d 20 74 68  |ed to perform th|
000011f0  65 20 6c 69 6e 6b 69 6e  67 20 61 72 65 20 22 6f  |e linking are "o|
00001200  6c 64 2d 66 61 73 68 69  6f 6e 65 64 22 0a 20 20  |ld-fashioned".  |
00001210  20 20 20 20 63 6f 6d 6d  61 6e 64 20 6c 69 6e 65  |    command line|
00001220  20 6d 65 74 68 6f 64 73  20 77 68 69 63 68 20 61  | methods which a|
00001230  72 65 20 61 63 74 75 61  6c 6c 79 20 71 75 69 74  |re actually quit|
00001240  65 20 65 66 66 69 63 69  65 6e 74 2e 20 54 68 65  |e efficient. The|
00001250  73 65 20 63 61 75 73 65  20 61 0a 20 20 20 20 20  |se cause a.     |
00001260  20 63 6f 6d 6d 61 6e 64  20 77 69 6e 64 6f 77 20  | command window |
00001270  74 6f 20 6f 70 65 6e 2e  20 49 6e 66 6f 72 6d 61  |to open. Informa|
00001280  74 69 6f 6e 20 61 62 6f  75 74 20 65 61 63 68 20  |tion about each |
00001290  73 74 61 67 65 20 6f 66  20 74 68 65 20 70 72 6f  |stage of the pro|
000012a0  63 65 73 73 20 69 73 0a  20 20 20 20 20 20 20 67  |cess is.       g|
000012b0  69 76 65 6e 20 69 6e 20  74 68 69 73 20 77 69 6e  |iven in this win|
000012c0  64 6f 77 2e 20 41 74 20  74 68 65 20 65 6e 64 20  |dow. At the end |
000012d0  6f 66 20 74 68 65 20 70  72 6f 63 65 73 73 20 79  |of the process y|
000012e0  6f 75 20 77 69 6c 6c 20  6e 65 65 64 20 74 6f 20  |ou will need to |
000012f0  70 72 65 73 73 0a 20 20  20 20 20 20 20 74 68 65  |press.       the|
00001300  20 73 70 61 63 65 20 62  61 72 20 6f 72 20 63 6c  | space bar or cl|
00001310  69 63 6b 20 74 68 65 20  6d 6f 75 73 65 20 2d 20  |ick the mouse - |
00001320  77 68 65 6e 20 69 6e 76  69 74 65 64 20 74 6f 20  |when invited to |
00001330  64 6f 20 73 6f 2e 0a 0a  20 20 20 20 20 20 4e 6f  |do so...      No|
00001340  74 69 63 65 20 74 68 61  74 20 61 20 52 41 4d 20  |tice that a RAM |
00001350  64 69 73 63 20 69 73 20  75 73 65 64 20 66 6f 72  |disc is used for|
00001360  20 69 6e 74 65 72 6d 65  64 69 61 74 65 20 73 74  | intermediate st|
00001370  6f 72 61 67 65 2e 20 4f  6e 65 20 77 69 6c 6c 20  |orage. One will |
00001380  62 65 0a 20 20 20 20 20  20 63 72 65 61 74 65 64  |be.      created|
00001390  20 69 66 20 6e 6f 6e 65  20 61 6c 72 65 61 64 79  | if none already|
000013a0  20 65 78 69 73 74 73 2e  29 0a 0a 20 20 54 48 45  | exists.)..  THE|
000013b0  20 4c 49 4e 4b 45 52 20  4f 50 54 49 4f 4e 53 0a  | LINKER OPTIONS.|
000013c0  20 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |  --------------|
000013d0  2d 2d 2d 2d 0a 0a 20 20  54 68 65 20 76 61 72 69  |----..  The vari|
000013e0  6f 75 73 20 6f 70 74 69  6f 6e 20 62 75 74 74 6f  |ous option butto|
000013f0  6e 73 20 69 6e 20 74 68  65 20 4c 69 6e 6b 65 72  |ns in the Linker|
00001400  20 57 69 6e 64 6f 77 20  63 6f 6e 74 72 6f 6c 20  | Window control |
00001410  68 6f 77 20 74 68 65 20  6c 69 6e 6b 65 64 0a 20  |how the linked. |
00001420  20 70 72 6f 67 72 61 6d  20 28 74 68 65 20 6f 75  | program (the ou|
00001430  70 75 74 20 66 69 6c 65  29 20 77 69 6c 6c 20 62  |put file) will b|
00001440  65 20 43 52 55 4e 43 48  65 64 2e 20 49 2e 65 2e  |e CRUNCHed. I.e.|
00001450  20 77 68 65 74 68 65 72  20 52 45 4d 73 20 61 72  | whether REMs ar|
00001460  65 20 73 74 72 69 70 70  65 64 2c 0a 20 20 62 6c  |e stripped,.  bl|
00001470  61 6e 6b 20 6c 69 6e 65  73 20 72 65 6d 6f 76 65  |ank lines remove|
00001480  64 20 65 74 63 2e 0a 0a  20 20 54 68 65 20 6c 69  |d etc...  The li|
00001490  6e 6b 65 72 20 77 69 6e  64 6f 77 20 68 61 73 20  |nker window has |
000014a0  61 20 6d 65 6e 75 2c 20  63 6f 6e 73 69 73 74 69  |a menu, consisti|
000014b0  6e 67 20 6f 66 20 6f 6e  6c 79 20 6f 6e 65 20 69  |ng of only one i|
000014c0  74 65 6d 2c 20 77 68 69  63 68 20 61 6c 6c 6f 77  |tem, which allow|
000014d0  73 0a 20 20 79 6f 75 20  74 6f 20 73 61 76 65 20  |s.  you to save |
000014e0  79 6f 75 72 20 43 52 55  4e 43 48 20 63 68 6f 69  |your CRUNCH choi|
000014f0  63 65 73 20 61 73 20 61  20 64 65 66 61 75 6c 74  |ces as a default|
00001500  2e 0a 0a 20 20 20 20 20  3d 3d 3d 3d 3d 3d 3d 3d  |...     ========|
00001510  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001540  3d 3d 3d 3d 3d 3d 3d 0a  20 20 20 20 20 4e 2e 42  |=======.     N.B|
00001550  2e 20 53 74 72 69 70 70  69 6e 67 20 73 70 61 63  |. Stripping spac|
00001560  65 73 20 66 72 6f 6d 20  73 74 61 74 65 6d 65 6e  |es from statemen|
00001570  74 73 20 63 61 6e 20 6c  65 61 64 20 74 6f 20 74  |ts can lead to t|
00001580  68 65 20 70 72 6f 67 72  61 6d 0a 20 20 20 20 20  |he program.     |
00001590  20 20 20 20 20 4e 6f 74  20 62 65 69 6e 67 20 6c  |     Not being l|
000015a0  69 6e 6b 65 64 20 70 72  6f 70 65 72 6c 79 2e 20  |inked properly. |
000015b0  55 73 65 20 74 68 69 73  20 6f 70 74 69 6f 6e 20  |Use this option |
000015c0  77 69 74 68 20 63 61 72  65 21 0a 20 20 20 20 20  |with care!.     |
000015d0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001600  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
00001610  0a 20 20 4e 6f 74 69 63  65 20 74 68 61 74 2c 20  |.  Notice that, |
00001620  65 76 65 6e 20 66 6f 72  20 70 72 6f 67 72 61 6d  |even for program|
00001630  73 20 77 69 74 68 20 6e  6f 20 4c 49 42 52 41 52  |s with no LIBRAR|
00001640  59 20 63 61 6c 6c 73 2c  20 74 68 69 73 20 66 65  |Y calls, this fe|
00001650  61 74 75 72 65 20 63 61  6e 0a 20 20 73 74 69 6c  |ature can.  stil|
00001660  6c 20 62 65 20 75 73 65  64 2e 0a 0a 20 20 44 52  |l be used...  DR|
00001670  41 47 47 49 4e 47 20 44  52 41 57 42 41 53 49 43  |AGGING DRAWBASIC|
00001680  20 46 49 4c 45 53 20 4f  4e 54 4f 20 54 48 45 20  | FILES ONTO THE |
00001690  49 43 4f 4e 0a 20 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ICON.  ---------|
000016a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000016b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 20  |-------------.. |
000016c0  20 54 68 69 73 20 6f 70  65 6e 73 20 61 20 73 61  | This opens a sa|
000016d0  76 65 20 62 6f 78 20 74  6f 20 20 63 6f 6e 76 65  |ve box to  conve|
000016e0  72 74 20 79 6f 75 72 20  20 44 72 61 77 42 61 73  |rt your  DrawBas|
000016f0  69 63 20 70 72 6f 67 72  61 6d 20 74 6f 20 61 20  |ic program to a |
00001700  42 41 53 49 43 0a 20 20  70 72 6f 67 72 61 6d 2e  |BASIC.  program.|
00001710  0a 20 20 20 20 20 20 0a                           |.      .|
00001718