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