================================= ! SoftWorks (v4.1) ! ! ! ! This program is FREEWARE ! ! ! ! Copyright (c) 1989, Mark Munz ! | All Rights Reserved ! ================================= What SoftWorks (v4.1) does -------------------------- SoftWorks is an ampersand driven interface-utility. With SoftWorks, you can write programs that use the AppleWorks(tm) type interface. With SoftWorks, you can do windows, filecards, numbered and question menus, and more. The Legal Stuff --------------- This program is freeware. That means you are free to distribute copies of SoftWorks to anyone, but you may not sell them. You may not use SoftWorks (v4.1) on commercial software without the author's written permission. If you are interested in commercial development, you can write me to learn about the upcoming EnterFace II project. EnterFace II will be a commercial product similar to SoftWorks (but much more powerful) and has a reasonable licensing fee for commercial developers. Previous SoftWorks users might notice that the 'legal' status of SoftWorks has changed a bit. Previous versions have been in the public domain and available for all kinds of destruction by whoever wishes. SoftWorks (v4.1) is now under the copyrighted, but freeware, title which gives me a bit more control. I've found that SoftWorks is extremely popular, and feel that I can best support users this way. One of my favorite features of SoftWorks is the price. It has been, and will continue to be at the best price available: FREE (that's $0.00 for those that need numeric representation). However, if you like this program and want to show your appreciation I do accept gratuities. [ My address is given later in these docs ] Again, you are under no obligation to pay anything for SoftWorks. SoftWorks prior to version 4.0 ------------------------------ SoftWorks (v4.0+) contains a few new and powerful features from previous versions. Be sure to read the entire docs for the changes. Changes from SoftWorks (v4.0) ----------------------------- The most important change was in the documentation of the "Load Once" protocol. The listing given for the BASIC.SYSTEM environment can occassionally cause problems. Adding a POKE 222,0 before the ONERR GOTO statement will fix that problem. The updated protocol is given later in this document. When drawing family-type filecards on versions prior to 4.1 on a IIc, the lines connecting 2 of the four cards would not align properly. This bug,which seems to have shown up only on the Apple IIc, has been fixed. There are now no known bugs. How Does SoftWorks work ? ------------------------- SoftWorks is a collection of Ampersand (&) routines which perform a variety of tasks. SoftWorks will work with most other Ampersand (&) utilities, provided that the APPLESOFT TOKENS used are different. SoftWorks Routines ------------------ A word on Syntax. A - This indicates a number or numeric variable. All values must be AT least less than 255. In most cases, they are even more restricted (see each command). A$ - indicates a String. The syntax used is that of an equation. Thus no semi-colons are allowed. Some Examples: "Literal Value" "Literal Value" + A$ "Literal" + str$ (A) + "another Literal" [ ] Anything inside these brackets is optional. You can put the values in if you wish, or you can use the default values SoftWorks provides. If the item is NOT in brackets, it is required in the syntax. Returned Value -------------- If a Command returns a value, that value will be at location 0. To get the return value, perform a PEEK (0) after calling the routine. & GET 10,12 : A=PEEK (0) : REM Get a key via flashing cursor Both Numbered and Question Menus return a numeric value indicating which item was selected. The item will be in the range from (0-N) where N is the max number of Menu Items defined. If Escape was pressed at the menu, a value of 0 is returned. Key Reading has been expanded. SoftWorks now also passes back information in regard to whether the Open-Apple and/or Solid-Apple (Option Key on the GS) was pressed with the normal key. The results of this information is passed back in locations 1 and 2. These locations contain a 0 if the special keys (OA/SA) were not pressed and a 1 if they were. PEEK (1) Open-Apple Key PEEK (2) Solid-Apple Key (Option Key on GS) It's up to you to decide how to use it. Commands Available ------------------- Syntax: & CALL This command rings a Soft Bell (alot nicer than chr$(7) ). ------------------- Syntax: & HOME [X,Y] This command clears the area between line 2 and line 23. Default border = "_" (optional) X indicates the ascii of the char for the border at line 2. Y indicates the ascii of the char for the border at line 23. ------------------- Syntax: & WAIT This command Prints "Press Spacebar to continue" on the bottom line and waits for either a Space or Return. ------------------- Syntax: & DRAW X,A$ Draws Filecard # X with a title of A$. X is a number between (1-4). ------------------- Syntax: & STEP X This command determines the type of Filecard to be drawn. A Family Card is joined if its number is (2-4). X=0, family cards (these cards are joined at top right) X=1, individual cards (these are not joined) ------------------- Syntax: & GET X [,Y] This command gets a Key with a Flashing cursor ("_"). If a Y is not given, or is not legal (1-24) it will default to Y=24. A PEEK (0) afterward returns hi-bit ascii of the key. ------------------- Syntax: & AT X,Y,A$ Prints Menu Item A$ at position X,Y. This command is used to create your Numbered Menus. Each Item requires a seperate call to this command. You may call this routine up to 30 times in a row . ------------------- Syntax: & FN X Obsolete command. (left in for compatibilty with older SoftWorks using programs) This command would let you create "Question like" menus using the & AT X,Y,A$ (see above). This could still be used if you would like to show a non-numbered list of items (you may put these questions anywhere on the screen, not just the bottom). X=0, Numbered Menus (1-30) X=1, Question-like menus ------------------- Syntax: & CLEAR This command clears any previous menu items setup with the & AT command. Note: This simply clears SoftWorks' internal information areas, it does not remove the item(s) from the screen. ------------------- Syntax: & READ X Reads the current Menu as setup by the various & AT command calls. This command returns the Menu number chosen in location 0. A result of 0 indicates Escape was pressed. X equals the indicated start item. Note: Menu Items are automatically cleared after this call. ------------------- Syntax: & DEF X,Y,W,L Defines a bordered window with top-left at X,Y and w/ width of W and L lines long. The inside of the window is cleared. The contents behind the window are NOT SAVED. ------------------- Syntax: & POS X,Y Positions cursor at X,Y. range of parameters X= (1-80) Y= (1-24) ------------------- Syntax: & PRINT X,Y,A$ Prints A$ at X,Y. No Carriage Return is printed range of parameters X= (1-80) Y= (1-24) if Y=24 (bottom line), entire line is cleared. ------------------- Syntax: & TRACE A$,B$ [,C$] Prints top line information. A$ corresponds to "Disk location" in Awks B$ corresponds to "Current Function" C$ corresponds to "Escape Map" Note: C$ should not include "Escape:", this is added by the & TRACE routine automatically. For no Escape map, leave the C$ parameter out. ------------------- Syntax: & ASC A$ Will ask a Yes/No Question. A$ is question. This is very similar to Appleworks YES/NO questions. A "?" is automatically appended onto A$. "No" is the first option, "Yes" is the second. Results in Location 0 : PEEK(0)=0 Escape was pressed PEEK(0)=1 "No" was chosen PEEK(0)=2 "Yes" was chosen ------------------- Syntax: & INPUT A$ [,L] Input a string. A CR is not generated, so this may be used on the bottom line (see example) to similuate Appleworks input command. The input length is set at a default of 70 characters. However, you may specify a length (optionally) of up to 254 if you wish. & PRINT 1,24,"Your Name:": REM Prompt & INPUT A$,20 : REM Get a name (20 char max) ------------------- Syntax: & MID$ A$ Prints A$ centered. Uses current VTAB position. ------------------- Syntax: & LIST N,P$,A$,B$ [,C$..J$] This new command lets you quickly write Bottom-Line Question Menus. The Variables defined are: N - Number of Items in Menu (2-9) P$ - Prompt string (do not include "?") A$ - First Item string B$ - Second Item string [ C$..J$ ] - More menu choices (optionally up to 9 max) Items may be chosen with either the Arrow keys and a Return or by pressing the First Letter of the choice. Result is a numeric value (0-N) in locaiton 0. If Escape was press, the result is 0. ------------------- & POP This command simply clears the last key left in the Keyboard STROBE. It essentially performs the same job as POKE -16368,0.. you decide which is easier. The command should be used right before a key reading command (& WAIT, & READ, & GET, & ASC, & LIST). This will clear out any key that was pressed before the actual call was made. If you would like to have the KEYBOARD STROBE cleared regardless of the command used, please let me know. New FEATURES ------------ SoftWorks (v4.1) has a few new features. 1. SoftWorks (v4.1) works with both BASIC.SYSTEM *and* the new alternative to BASIC.SYSTEM, MicroDot (written by Jerry Kindall). SoftWorks (v4.1) automatically recognizes which environment you are working under and acts appropriately. 2. SoftWorks (v4.1) will automatically initialize the 80-column card if it hasn't been already. Previous versions presented you with an error message telling you to 'TURN ON 80-COLUMN CARD' and aborted the load. Note: SoftWorks does (and always has) required an 80-column card, but that's certainly not a limitation in these days of AppleWorks. 3. SoftWorks (v4.1) includes a new command which, when used with the following protocol, can avoid multiple loads of itself. To make sure SoftWorks is loaded into memory only once, place the following code at the beginning of your program. Running under BASIC.SYSTEM: 10 POKE 216,0 : POKE 222,0 20 ONERR GOTO 40 30 & IF "SOFTWORKS" CONT 40 POKE 216,0 50 IF PEEK (222)<>0 THEN PRINT CHR$(4);"-SOFTWORKS" 60 REM rest of program Running under MicroDot: 10 POKE 216,0 : POKE 222,0 20 ONERR GOTO 40 30 & IF "SOFTWORKS" CONT 40 POKE 216,0 50 IF PEEK (222)<>0 THEN &.BX,"SOFTWORKS" 60 REM rest of program ======== MicroDot ======== MicroDot is an alternative to BASIC.SYSTEM written by Jerry Kindall. (there Jerry, I gave you proper credit!) That is, it lets you do what BASIC.SYSTEM did, but uses 6k LESS room. It does this by using the Ampersand (&) to handle command processing. This dramatically decreases the size of code needed to parse (get filenames, etc) a command. SoftWorks is designed to recognize which system it is running under, BASIC.SYSTEM or MicroDot and act accordingly. If interested in MicroDot, contact: Kitchen Sink Software 903 Knebworth Ct. Westerville, OH 43081 (614) 891-2111 ============ TECH SUPPORT ============ With previous the SoftWorks, I wasn't up to giving direct support, considering that SoftWorks (v1.0-3.2) are in the public domain. I have since decided to change its status with SoftWorks (v4.1). It is now FreeWare (meaning it costs just as much as the public domain version -- $0.00). This means I still hold the rights to the program, but you may give it to anyone (for non-commercial use) freely. If you have any questions or comments on SoftWorks (v4.1), please feel free to write me at: Mark Munz 8310 Milwaukee Fort Lewis, WA 98433 or if you're the E-mail sort, you can reach me at: User #/id Board Name Phone --------- ---------------- ------------------ #9 Unicorn BBS (206)-472-9331 #408 NAUG BBS (313)-482-8090 mmunz Pro-Lakes (206)-756-8347 mmunz Pro-Beagle (619)-452-5565 MMunz AppleLink And if you can't find me on one of the above, you're just not looking hard enough. ========================= ! --------------------- ! ! ! NOW FOR THE PLUGS ! ! ! --------------------- ! ========================= If you'd like to get one of the best little Patch Programs available for your Appleworks, read on: LATE NITE PATCHES ================= Late Nite Patches is an AppleWorks 2.0 (or higher) enhancement disk by Mark Munz. (That's me!) It features a Text Loader patch which alters the "Make a new file from Text, DIF, or VisiCalc" menus to provide a list of text files on the current disk so you can simply select the desired file from the list instead of typing in a pathname. No more trying to remember text file pathnames! You can also do the following with Late Nite Patches: o change the IIgs Enter key to a Down arrow when in spreadsheets o change the default Tab pattern o change where the OA-Q Menu appears o change the default "Category 1" label for new DB files o learn from handy tips and more Late Nite Patches also has some bonuses for TimeOut users: o Directory Manager keeps track of up to 12 path/disk names o Vital Stats shows clipboard data type, # files, etc o Bell Changer allows experimenting with error bell tones o powerful UltraMacros enhance AppleWorks Send $20 ($17.50 + $2.50 s/h) to JEM SOFTWARE P.O. Box 20920 El Cajon, CA 92021 And Late Nite Patches is incredibly easy to use. If you can use AppleWorks, you can use Late Nite Patches. Project: ENTERFACE II ===================== EnterFace II is the son of SoftWorks, sort of. It is what happens when you decide to dramatically improve all the SoftWorks routines and add a whole host of others. EnterFace II is not finished yet, but I'm not keeping any secrets and talk openly about the project. I hope to have the project finished or in it's final stages before I head south to California (that's APRIL 1989), but won't make any promises just yet. To give you some idea of what the DIFFERENCES are between SoftWorks and EnterFace II, here is a list of likely changes and additions to SoftWorks (that is, EF2 includes most or all of features of SOFTWORKS plus more): Likely features in EnterFace II (beyond what SoftWorks does): o Places result into variables directly o True Numbered menus (no more A-R selections) o Up to 50 Numbered menu items (vs. previous 30) o Built-in 6-item Escape Map stack o Better input command o Set a disk drive location (like Awks Change Current Disk) o Read in filenames from a directory into an ARRAY o Scrollable listing for long list of items (using an array) o Get a directory/subdirectory with PathFinder like menu And more.... If you have any suggestions, please write me. I do promise to read the suggestions, even if I don't act upon them. AppleWorks is a trademark licensed to Claris Corp.