---------------------------------------------------------------- T H E W 0 R X ! from Novel Soft Written by Ariel S. Frailich and David C. Ridge ---------------------------------------------------------------- Copyright 1986 NovelSoft ---------------------------------------------------------------- ---------------------------------------------------------------- DISCLAIMERS AND ACKNOWLEDGEMENTS ---------------------------------------------------------------- All rights to the program, THE WORK!, and the accompanying documentation are owned by NovelSoft, copyright 1986. All rights reserved worldwide. No part of this publication may be reproduced, transmitted, transcribed, stored in any retrieval system by any means without written permission from: Novel Soft 106 Seventh Street, Toronto, Ontario Canada M8V 3B4 Phone:416-259-8682 CompuServe I.D.:70416,1435 NovelSoft makes no warranties as to contents of this manual or software product. Further, NovelSoft specifically disclaims any implied warranties of merchantabi1ity or fitness for any particular purpose. NovelSoft reserves the right to make changes to the specifications of the software product and the contents of this manual without obligation to notify any person or organization of such changes. >ZX Spectrum, Spectrum+, ZX Printer and ZX Microdrive are registered trademarks of Sinclair Research Ltd. ---------------------------------------------------------------- >TS2068 is a registered trademark of Timex Computer Corporation. ---------------------------------------------------------------- CONTENTS ---------------------------------------------------------------- Introduction.................................................5 Overview of Functions........................................6 Installing the Program......................................10 DESCRIPTION OF FEATURES Planner.....................................................11 Notepad.....................................................14 Telephone...................................................15 Calculator..................................................17 Decision....................................................18 Biorhythm...................................................19 Time........................................................20 System I/O..................................................21 Filer.......................................................22 TUTORIAL Start Up....................................................23 P1anner.....................................................24 Notepad.....................................................26 Telephone...................................................28 <4> Calculator..................................................29 Decision....................................................32 Biorhythm...................................................33 Time........................................................34 System I/O..................................................35 APPLICATION NOTES Planner.....................................................37 Notepad.....................................................39 Telephone...................................................39 Calculator..................................................40 Decision....................................................42 Time........................................................44 Filer.......................................................45 System I/O..................................................48 Quit........................................................49 APPENDICES Appendix A - Design Philosophy..............................50 Appendix B - Customization Notes............................51 <5> ---------------------------------------------------------------- INTRODUCTION ---------------------------------------------------------------- Congratulations on choosing THE WORX!. At NovelSoft we are very proud of this product, and are confident that you will enjoy it to the fullest. To the best of our knowledge, THE WORX! represents a new category of program for the Sinclair user. Although personal organization programs of this type are very popular for many other brands of computers, it wasn't until THE WORX! became a reality that the Sinclair user could also enjoy the benefits of this useful program. The Spectrum/TS2068 has many inherent design restrictions which make implementation of this type of program extremely difficult. However, by utilizing novel and efficient programming techniques, we have created a package which we are confident you will find indispensable. ---------------------------------------------------------------- NovelSoft has decided not to shackle you with complicated and clumsy copy-protection schemes. In fact, we have provided a single button backup facility. We believe that you, as a customer, have the right to make all the backup copies you need for your own use. Please do not violate this trust by giving away copies of this program and documentation to others. YOUR THOUGHT FOR THE DAY WHEN SOFTWARE PIRACY BECOMES SO WIDESPREAD THAT PROGRAMMERS NO LONGER FIND THE REWARDS ADEQUATE, THEN PROGRAMS LIKE THIS WILL NOT EXIST. PLAIN ENGLISH VERSION PLEASE BUY - DON'T STEAL. <6> ---------------------------------------------------------------- OVERVIEW OF FUNCTIONS ---------------------------------------------------------------- PLANNER The Planner keeps track of appointments on a day-to-day basis. Up to 40 entries may be stored at any time. It starts by displaying a calendar of the current month and the menu of options. Activities: Allows the entries for the day to be viewed. Options to add/delete/file. Find: Requests a string and scans the entire planner file for a match, ignoring case. There is also an option to lock into the date of the currently retrieved record. Change date/Return to today: Changes the planner date. All activities referred to will be for the newly selected date. The date remains in effect until changed by this option, a Lock command is issued in the Find option, option to return to today is selected or upon return to the main menu. NOTEPAD The Notepad uses a 20 by 32 character note file for things to do, reminders, messages, lists, etc. It starts by displaying the contents of the work file and the list of options. Edit: Provides a full-screen editor. Includes line insert/delete, cursor control, insert characters, etc. Sort: Allows the work file to be sorted in ascending lexicographical order. Useful for lists, names, etc. Filer: Used to store/recall/clear work file using a RAMdisk (called Virtual Files here). Up to 5 files may be stored for later saving to mass storage or for printing. <7> TELEPHONE Allows up to 50 entries to be stored. Each entry allows for 2 lines of 32 characters each: enough for a name, telephone number and short description. Find: Same as the Planner Find option. A string is requested and the telephone file is searched for a match on that string. Ignoring case. Every matching entry will be displayed, one at a time, with options to edit the entry (using notepad editor), delete it from the file or retrieve the next matching entry. Add: Uses the notepad editor to add a new entry to the telephone file. List: Lists every non-blank entry to the screen with option to list the next page or to Invoke the Filer. CALCULATOR The Calculator works like a hand-held calculator. It allows the four basic functions plus exponentiation, square root extraction, absolute value, natural log, signum and e functions. It starts by displaying the calculator. All functions directly available. A menu can be invoked to allow the following: Program: Allows editing/entering of a calculator program for later execution. Execute: The calculator commands in the work file are executed as if the input came from the keyboard. This makes the calculator full.y programmable. Filer: Invoke the filer to store/retrieve work file. L I <8> DECISION Allows up to 20 factors to be weighed against each other. It produces a list of factors in order of their relative importance. Decision uses the notepad editor as input medium (1 factor per line). Topics: Invokes the editor to create a list of considerations. Execute: Start the factoring process. Filer: Invoke the filer to store/retrieve the list. BIORHYTHMS This feature displays a set of biorhythm charts for evaluating personal performance on a daily basis. See the DESCRIPTION OF FEATURES section for details on Biorhythms. TIME Displays option menu. Clock: Initiates display of real-time clock on every screen. The clock can be started at 00:00:00 for activity timing or at any other start-time to function as a watch. Timer: Same as the clock, but it starts with a non-zero time and counts backward. It beeps when zero is reached. Zones: Displays a world map showing local time zones, based on Greenwich Standard Time. <9> SYSTEM I/O Options 2: Load/Save Virtual, Planner and Telephone files; Print individual virtual files; List a Microdrive Catalogue; Delete a Microdrive file. QUIT Stops the program without the need to power the system down - see appendix B. <10> ---------------------------------------------------------------- INSTALLING THE PROGRAM ---------------------------------------------------------------- No installation is necessary, although THE WORX! must be customized for hardware other than tape or Microdrive. After entering LOAD "", the title screen is loaded, followed by The Worx! itself. You then have the option to make a backup. The program starts by requesting today's date which may be entered as DD/MM/YY or DD/MM/YYYY. If you enter a two-digit year, 1900 will be added to it. Note that dates prior to 1600 will be rejected, as the Julian calendar didn't start until then. The date is verified for numeric range, then confirmation is requested. The second check is then made for the number of days in the month and leap year adjustment. Finally, the date is accepted and stored. Note that an error during either check or a "" reply to the confirmation request restarts the whole date input procedure. <11> ---------------------------------------------------------------- DESCRIPTION OF FEATURES ---------------------------------------------------------------- PLANNER The PLANNER starts by displaying a calendar of the current month and a menu. Today's date is highlighted. Activities Copies all entries with today's date into the work file, then sorts the entries in lexicographical order, so that time entries are in ascending sequence. Activities Sub-Options: Add There will be an error report if 20 entries are already on file for today or if the planner file itself is full. You are then prompted for the time or an identifier. The time must be 5 characters long, with character positions 1,2,4 and 5 numeric. Characters 1 and 2 must be in the range 00 to 24 (to allow 00:00 or 24:00 as midnight) and characters 4 and S must be in range 00 to 59. The UORX will accept 24-hour time only. If the first character is numeric, a time is assumed. There will be an error report if time input does not conform to above rules. If the first character is not numeric, no checking is done, but the input is truncated/expanded to 5 chars. Anything may be used: we recommend a colon followed by 1 to 4 meaningful characters. For instance, to remind yourself to make a phone call, use ":CALx", where "x" represents a number. To write a letter or memo, use ":WRTx", again using "x" as a sequencer. Once the time/id entry is made. The Worx! checks for duplicates and generates an error message if one is found and returns to the time/id input request. <12> Assuming no error has occurred, the subject should be entered next{ a null entry stops the request. Only the first 17 characters will be significant, the rest being truncated. Finally, the entry is added to the planner file and the work file will be sorted and re- displayed. Delete Prompts for time/id of entry to be deleted. Under this option, the id must be entered exactly as on the display, for it would be dangerous to make any assumptions and risk deleting the wrong entry. Only trailing spaces may be omitted from these entries. There will be an error report if the entry is not found. Otherwise the entry is deleted from both work and plan files. t Filer Please refer to the Filer section. STOP Entering the keyword STOP (symbol shift A) will take you up one level, in this case to the calendar/planner menu display. Find Starts by requesting a string to be found. This string can be anything and of any length, although a null entry will return to the previous level (calendar/planner menu display). If the string is too long (i.e., longer than 17 characters), no warning message will appear, but nothing will be found. <13> Note that spaces are significant but case is not{ if a file entry contains "Dr. Doollttle", you can successfully find the entry by requesting "doolittle", "doo", or even "dr", "do" or just "d". A warning message appears if no matching entry is found. Otherwise, the entry is displayed and an option menu appears. Find Sub-options; Next Searches for next entry containing a matching entry. Displays warning message if none found. Pressing any key after the message will return to the calendar/planner menu display. Lock This option will substitute the date associated with the entry currently on screen for today's date. All subsequent work will be based on this date, until another find/lock is issued, return to today is selected, the date is explicitly changed (option 3) or the planner is terminated by returning to the main menu. STOP Once again, STOP will return immediately to the calendar/planner menu display. Change Date/Return to Today This option simply requests an alternate date and replaces today's date: the new date remains in effect until changed by a Find/Lock, another Change date or Return to Today is selected. This allows future dating an entry. The same restrictions that apply to entering today's date at the start of the program apply here too. A null entry (pressing 'Enter' with nothing else) returns to the Calendar/Planner menu display. STOP STOP keyword returns to main menu. <14> NOTEPAD The Notepad function is like a mini text editor, allowing the composition of notes, lists, reminders, etc. It starts by displaying the contents of the work file and the sub-options menu. Edit This is the editor used in many other areas, as applicable. The cursor starts at the top left position of the screen. The various commands follow: ENTER - goes to start of next line. Beeps and stops if at last line (20). Cursor keys (caps shift 5, 6, 7 and 8) - moves the cursor according to the arrows above these keys. Stops at ,top and bottom edges of screen and wraps around right and left edges of screen. Symbol shift I (equivalent to the AT keyword) - inserts a blank line where the cursor is, moving all lines - from the one the cursor is on to the end - down by one. Beeps and stops if the last line is not blank. Symbol shift D (equivalent to the STEP keyword) - deletes the current line, bumping all lines after the cursor line up by one. Delete character (Caps shift 0) - will erase the character under the cursor, moving subsequent characters on the line (if any) to the left. Any other keypress must be an ASCII symbol I if it's a keyword, it'll be Ignored. This character will be Inserted in the current line, at cursor position, pushing any subsequent characters to the right and off the line (lost). Remember, this is not a word processor. Just a simple notepad editor! Sort Sorts all lines in ASCII order Filer Invokes the filer menu <15> TELEPHONE The telephone book allows up to SO entries to be maintained, two lines each. Find Prompts for a string to be searched, exactly the same as the Find function in the Planner system. "No match" will be indicated by a warning, otherwise the record is copied to the work file and the sub-options menu is displayed. Find Sub-Options: Next Simply tries to find the next matching entryl prints a warning message if no match found. Delete Allows the record to be physically removed from the telephone file. Edit Invokes the editor to modify the entry. Limited to two lines, as this is what the telephone file can handle. Upon returning from the editor, the user is requested to confirm the modification. A 'N' answer returns to the telephone menu; a 'Y' answer updates the telephone file and the program goes back to the telephone menu. STOP Returns to telephone menu. <16> Add Error message if telephone file is full- Invokes the editor (2 lines only) to create a new entry. Upon completion, the user is requested to confirm the addition. "N" returns to the telephone menu; "Y" adds the entry to the telephone file, then returns to the telephone menu. List Displays all entries on file, in the order they were entered. Warning message if file is empty. List Sub-Options: Next Displays the next page of entries unless there aren't any, in which case a warning message is issued and the program returns to the telephone menu. Filer Invokes the filer. STOP You guessed it - STOP returns to the telephone menu! <17> CALCULATOR A simple but powerful hand-held calculator - powerful because it's programmable! It works just like a hand-held calculator, except that certain functions require two keystrokes instead of one. Numbers: digits 0 through 9, decimal point, unary minus (negative numbers) Operators: * - » / - - (same as BASIC) Functions: LN SON ABS SQR EXP - these are similar to their BASIC counterparts. They are entered in full in the file, but only the letter is entered from the keyboard; to get the square root of 14, you'd press '1', '4' and 'h'. Also available is the % function, which is simply a convenience - it divides the current value by 100. Commands: M - displays calculator menu - options are: Program - to edit work file Execute - execute the program stored in file Filer - invoke filer STOP - returns to main menu <18> DECISION This is a simple tool to help you make decisions based on the relative importance of up to 20 different considerations. It has you rate every entry against all other entries, then sorts the list in order of most important to least important. It starts by displayins the contents of the work file and the options menu. Topics Invoke the editor to enter up to 20 considerations - one entry per line. Keep this as simple as possibles the file can always be embellished after the factoring. Execute Initiates the factoring. Starting with the first two entries, you will be asked to pick the most important one of the two displayed. This will continue for every entry against every entry, for a total of (n-l)+ BIORHYTHM This option charts your personal performance on a day-by-day basis, allowing you to make decisions on whether you should or should not do a specific activity on that day. The biorhythm concept is, in fact, a measure of ener9y input/output. This means that output days (plotting in the positive area of the chart) are best for action, while input days (plotting in the negative area) are best for learning/studying, etc. Transition days are best left for non-stressful, harmless activities. The evaluation covers the physical, intellectual and emotional aspects of one's being. It is based on 23, 28 and 33- day cycles which start at birth and continue throughout one's life. Do blorhythms work? We're not sure... but consider that Japanese pilots have - for several years - accepted or refused to take on a flight, based on their biorhythm, and claim an increase in safety due to a decrease in human error! The program starts by asking for the date of birth in the same way as today's date is requested at the start of The Worx!. A null entry returns to the main menu. Then the date for the which the chart is to be displayed is requested (note that the actual start day is the first of the month). A null entry here will assume today's date is to be used. The charts will then be plotted, one for each of the intellectual, physical and emotional cycles. Pick a day and look at the three entries for that day (aligned vertically). For each of the three cycles, if the point is above the base line, it's an output day. Below the base line, an input day. And when the curve crosses the line, this is called a transition day, where the body adjusts from input to output or vice versa. Finally, a day is termed 'high' (for a specific cycle) if its curve is at the highest point in the cycle, or a 'low' if it's at the bottom. One sometimes hears of 'double highs' or 'triple lows' as well. Once the charts are drawn, pressing any key returns to the main menu. ^ <20> TIME This option controls the real-time clock/Stopwatch and the world time zones display. It starts with the option menu. Clock This option will initiate the printing of the current time on every screen in The Worx!. It can be used either as a clock or as a timer, depending on the input. This is a request for a start time, but entering '0' will set it to 00:00:00. From now on, the time display - counting upwards from the time input or from zero, will be displayed in the centre of the top line of every screen. Note that all time functions are interrupted during file I/O. The program then returns to the Timer menu. Stopwatch This option is similar to the timer function, but it requires a non-zero input and counts down - not up - until 00:00:00 is reached. At that point, it will beep for a few seconds, then disengage itself. The program will then return to the time functions menu. Note: to allow for precise timing, a message is displayed when the timer is readyi pressing any key then starts the timer. Cancel This turns the Clock or Stopwatch off and returns to the timer menu. Time zones This option simply displays a map of the world, showing the different time zones based on Greenwich Standard Time (GST). Pressing any key returns to the timer menu. STOP - returns to main menu. <21> SYSTEM INPUT/OUTPUT This option allows manipulation of the virtual files as well as mass-storage options. There are two sets of functions: the ones which apply to the work files and the ones which apply to the mass-storage system. Note that the Spectrum version of THE WORK! will prompt for cassette or Microdrive as the device. LOAD PLAN FILE - Loads a previously saved Plan file. SAVE PLAN FILE - Saves the current Plan file. LOW FONE FILE - Loads a previously saved Fone file. SAVE FONE FILE - Saves the current Fone file. LOAD A VIRTUAL FILE - Loads a previously saved virtual file. SAVE A VIRTUAL FILE - Saves a virtual file of your cho'ice. PRINT A VIRTUAL FILE - Sends a virtual file to a printer. CATALOGUE - Gives a catalogue of a Microdrive. DELETE A FILE - Deletes a file from a Microdrive. <22> FILER This option allows you to store files for later Saving and/or printing. It always works in conjunction with the work file (see design philosophy) and the system I/O section. Save Stores the work file in the first empty slot. Warning message if non available. Clear Empties the work file. Recall Copies the file you select into the work file. Delete Makes the selected slot available for storage. Note that the contents of that file are not erased. View Displays the contents of the selected file. <23> ---------------------------------------------------------------- TUTORIAL ---------------------------------------------------------------- STARTUP Type LOAD"" or LOAD "WORX" - program is loaded Backup? - enter "y" and insert a blank tape or microdrive cartridge (drive N1) to record a backup copy of The Worx! program; enter "n" to skip making a backup. Date
- type in today's date - 2 or 4 digits are acceptable for the year. The date is validated and an error message issued if the date is not valid. dd/mm/yyyy - OK? - allows you to re-enter the date if you enter a "n"- a "y" will accept the date and further validate it. Error message if invalid. MAIN MENU The Worx! now waits for you to press a key corresponding to one of the options available. Press "I" now. i. i / <24> PLANNER Planner menu and current month's calendar appear. Press •1" for Activities. Note about commands and menus: 1. The Main Menu accepts digits 1 through 9 only. 2. Subsequent menus accept digits as indicated as well as the keyword STOP (obtained by pressing Symbol-shift A [SS/A]) to return to the previous menu. 3. Screens which display a menu at the bottom of the screen accept only those options as well as STOP to go back one level. 4. Screens without any form of menu accept any key to return to the previous level. Any other key is ignored, including the Break key, except within System I/O and Termination - these options are left in BASIC so you can customize these functions to your hardware. Press "A" - Time/ID (HH:MM) - ready to add an entry Enter "10:00" (no quotes!) - entry accepted for 10:00 a.m. The Worx! searches for a duplicate entry and gives you an error message if it finds one; if no duplicate is found, the entry is validated: if the first symbol is a digit, it's considered a time entry and must be 5 characters long and within the range 00:00 to 24:59. Otherwise an ID entry is assumed - anything goes, 5 characters maximum. Subject - enter "Dr. Doolittle" as the subject of your entry - only 17 characters are stored. You have now made an entry in the Planner File - anytime you like, you can find out whether you have an outstanding appointment with the good doctor by simply consulting your Planner file. <25> Things to try - add an entry for 10:00 (rejected as duplicate) - add an entry with ID ":call" and subject "Aunt Harriet" (ID entry stored - not associated with a particular time) - add a few more entries - try whatever you like - press "d" to delete an entry. The time/id prompt comes up: you must type that in exactly as it is on file. Try deleting a non-existent entry (rejected - not found). Final notes on Activities; once a transaction is completed, nothing else need be done (except saving the file at termination). The Filer option is discussed separately. From Planner menu, press "2" - you are asked for a string - enter "do". The first entry containing the string "do", "Do", "dO" or "DO" will be shown on the screen together with its time and date. Press "N" - if another matching entry exists, it will be found and displayed: warning message if none found. Press "L" - the date of the entry shown on the screen temporarily replaces today's date - if you now go to option 1 from the planner menu, al1.activities for day will be shown and any addition will be associated with that date. Press STOP - back to the calendar/menu display. Press 3 - and enter another date - all entries will be dated for the new date. Press 4 - today's date (the one entered at start up) is restored. Press 3 again and enter any valid date. Press STOP - returns to main menu - today's date is restored. <26> NOTEPAD Press 2 from main Menu - the notepad menu and the contents of the work file are displayed with a sub-options menu. Note that the work file is not cleared. Press E - full screen edit mode. Things to try: - press ENTER repeatedly (cursor moves to first column of next line until the last line is reached) - try the cursor keys (caps-shift S/6/7/8 - the cursor moves in the direction of the arrow printed above these keys until a margin is reached - note wrap around) - move cursor to a blank line and type away (keywords and other tokens are Ignored; at end of line, the last character is overwritten) - move the cursor to the middle of the line and press the delete key (CS/0) (the character at the cursor, not before it, is deleted. Repeat) - Keep typing on that line (note that the characters to the right are shifted off the screenj they are lost) - move the cursor to a non-blank line surrounded by other non- blank lines. Press symbol-shift I (the line containing the cursor and all subsequent lines are moved down by one. Keep doing this until you get a message that the last line is not empty and so another line cannot be inserted press any key to return to edit model) - press symbol-shift D repeatedly (the current line is deleted and all subsequent lines are moved up by one) - press STOP to exit Edit mode (returns to notepad sub-options menu; nothing is lost, as pressing E will show) <27> - insert arbitrary numbers at the left end of each line (align the numbers at their right edge so that the units are vertically aligned). Now press STOP then S (after a few moments the screen will be updated showing the lines in ascending order by number) Final note on Notepad: the Filer option will be covered in detail later on, but you can (from the Notepad sub-options menu) press P, then C, then STOP to instantly clear the notepad file. <28> TELEPHONE From Main menu, press J - the Telephone menu appears. Press 2 to add a new entry; you are now in edit mode, same as the notepad editor, with the difference that, under the telephone option, the maximum number of lines available is two, not twenty. Type in an entry - we recommend the name and number on the top line followed by a brief description on the second line. Press STOP to stop editing then press Y or N at the 'OK to add? (Y/N)' prompt to add or not add the new entry to the telephone file. Add a few more entries and press STOP to get back to Telephone menu. Press 2 - you are asked for a string to find in the telephone file. Pressing ENTER here will return to the menu (same as for Planner). The search procedure is identical to the Planner's search option. Things to try: - keep requesting a match until you have one. Then try the options available (D deletes the recordi E goes to edit mode and lets you cancel the changes once you're done; F invokes the Filer (see below) and N attempts to find the next entry which matches the string) From the Telephone menu, press J - all entries are displayed on the screen, one page at a time. Pressing N will go to the next page; F will invoke the Filer and STOP will return to the menu. <29> CALCULATOR From Main menu, press 4 - the Calculator screen appears. Press 1, then + then 1 again - as the numbers are pressed, the calculator's window is updated; the plus sign is symbol-shift k. Every keypress causes the corresponding calculator key to be highlighted until the next keypress. Press = - Voila! Einstein! The answer is in the window. The Calculator works exactly like a hand-held calculator. A few options require two keypresses instead of the usual single keypress: to get CE (clear last entry), press C then E. Keys available: - digits 0 through 9, decimal point (SS/M) and minus ,sign for negative numbers (same as the subtraction symbol) - operations: + - / * ^% = these are obtained as in BASIC: SS/K, SS/J, SS/V, SS/B, SS/H, SS/5 and SS/L, respectively - functions: EXP SQR LN SON ABS these are equivalent to their BASIC counterparts but require only the key under which they are written to be pressed - no shifting required, i.e., SQR is obtained by pressing H Commands: CE - Clear last Entry - press C then E CA - Clear All entries - press C then A CM - Clear Memories - press C then M Sn - Store window value into memory n - press S then a digit from 1 to 9 Rn - Recall memory value n into window - press R then a digit from 1 to 9 Pressing any other key or key sequence results in a beep to warn you that a wrong key was pressed. /- <30> Calculator Errors - these occur when a number is longer than 13 characters; when an Error Report "6 - Number too big" or "A invalid argument" would occur in BASIC. Regardless, the program will beep and a row of "E.E." will appear in the window. We recommend using CA to clear the window and previous value (memories and file are left intact) and restart the computation. Note that very large or very small numbers will be displayed in E-notation (equivalent to scientific notation - 5E3 is the same as 5.0*10^3) but cannot be entered that way. Things to try - anything you like! You'll soon get used to the feel of the calculator. Now clear everything (CA and CM) and press M to get to the Calculator Menu. Press 1 for Program - you can now enter a program for later execution using the editor you already know from the Notepad option. If the file is not empty, use SS/D to clear all(lines or use the Filer, although here it's a menu option, not a sub- option; this means: press STOP to exit the editor; press 3 to get to the Filer menu; press C to clear and STOP to return to the calculator menu and, finally, press 1 again to re-enter the editor. Type 1 + 2 * 3 + 16 sqr = then press STOP - you've entered one line of calculator program. Press 2 to execute the program - if you're fast enough, you'll see what's happening: the window contains 1 (and the 1 key will be highlighted), then the + key lights up; the window contains 2, then the * lights up as the window changes to 3, only to be replaced by another 3; when the + key lights up, the window contains 9 and then 16; then SQR lights up and the window contains 4. Finally, the = key lights up and the window contains 13, the correct result of the calculation, while a message appears at the bottom of the screen to Inform you that the end of file has been reached. Press any key to return to calculator mode - the result in the window remains there until another value replaces it. Press CA after the result is jotted down, etc., then continue. Remember that STOP will always return to the main menu (or to the calculator screen if you're in the calculator menu). <31> Differences between keyboard and file input modes: - space is valid in file mode (not mandatory, though) - functions must be spelled out in file mode: H means SQR in keyboard mode but sqr must be used in the file (but case doesn't matter) - M (menu) is not a valid option in file input mode - semicolons may be used for comments. As soon as a semi-colon is encountered in a line, the remainder of that line is skipped and execution resumes with the next line (unless it's at EOF-End Of File) Note about file input: whatever is in the window and the memories, stays when you select Execute. This allows you to enter values and have the program act upon them. But remember to CA and CM if that is not what you intended! <32> DECISION From main menu, press 5 - the Decision sub-options menu appears, as well as the contents of the work file. Clear the work file if necessary and press T for Topics - this is another name for the Notepad editor again. Type in a few things to keep in mind when buying a computer: price, software, BASIC, etc., one item per line. Then press STOP to return to the Decision menu. Press P to start processing - every entry will be displayed in turn and you will be asked to pick the most important of the two; the process is then repeated until each line has been matched against every other line in the file. Then the list will reappear on the screen but in a different order - in order of relative Importance as per your selections. Not terribly sOphisticated but VERY useful! <33> BIORHYTHM Press 6 in Main Menu and a screen will come up as well as a request for a date of birth - enter the date in the same manner as for all previously entered dates. The same rules apply. Then the chart date is requested: this tells The Worx! for which month and year the chart is to be plotted. Note that the chart is always plotted starting at the first day of the selected month. Pressing ENTER at date of birth returns to the Main menu; pressing ENTER at chart date assumes the current month is to be used. After a few moments, the three charts will be drawn - see the Description of Features section for more information. Once the charts are drawn, pressing any key will return to the Main menu. <34> TIME Press 7 from main menu - the Time -functions menu appears. Press 1 and enter 0 at the prompt - the timer starts counting up from 00:00:00 as soon as you press ENTER after the READY message appears; you can use this to time a telephone call, etc. Pressing ENTER instead of 0 returns to the Time menu; 0 is a convenience for 00:00:00. If you enter anything in the range 00:00:01 to 23: 259: 59, that value will be used to start the timer so you can use it as a clock. Press 1 again and you will get a message informing you that a timer is already active; to restart, turn it off first by pressing 3 - do so now. Press 2 and enter 00:00:05 at the prompt — then press ENTER at the READY message. The stopwatch will start counting backwards from the time you entered. When it reaches 00:00:00, it beeps for 1 second. Press 4 - and you'll get a world-wide time zones map, with hours relative to GMT. Press any key to return to the Time menu. Notes: - Either timer stays on until turned off by selectin9 option 3 and during actual file load/save operations. - A timer must be active before you can turn it off and must be inactive before you turn it on. - If the timers aren't accurate, they can be adjusted (see appendix B) <35> SYSTEM INPUT/OUTPUT Return to Main menu by pressing STOP and press 8 to get the System I/O menu. The options available are simply BASIC functions for loading, saving, and printing files. If you have a Microdrive or disk-drive system, you can also view a catalogue listing or erase a file on your drive. Quit Press 9 from Main Menu - this is the end! The program stops. See the Customization Notes for more information. Filer The Filer is central to the functionality that The Worx! affords. It's a mechanism to allow passing files to/from various options in the program without having to save the file on tape/disk/cartridge first. First of all, have a look at the Design Philosophy section - it explains how the Filer system fits in with the other options of The Worx!. Most - but not all - options use the work file as a scratchpad area or for storage of information. If you start with an empty work file (option C in the Filer menu), use any function and then select Notepad; if the file no longer is empty, the previously used option has used the work file. In other words, if you use any of notepad, decision, calculator (in file input mode) and you want to keep that file for future use, use the Filer to store the work file first; the planner and telephone options corrupt the work file as soon as an entry is made or even viewed. <36> Let's quickly run through the Filer's options. Assuming you're in Notepad sub-options menu and you have a non-blank work file, do the following: Press F - the Filer menu appears. Press S - enter TEST1 when prompted for a file name and the Filer will store a copy of the work file in the first available slot. Press C - the work file is now cleared. Verify by pressing STOP (you should see a blank screen with header and footers) and return to the Filer. Press V and enter 1 at the prompt - you'll see the contents of file 1 and its name at the bottom. Press any key to return to the Filer menu. Press R and enter 1 at the prompt - the contents of file number 1 are copied to the work file. Verify this to be so by pressing STOP to see the work file, then return to the Filer menu. Press D and enter 1 at the prompt - the screen will be updated to show an empty space next to file number 1. It's still there, so you can still view and recall it, but it's in danger of being overwritten if you select Store, even if the work file is empty. <37> ---------------------------------------------------------------- A P P L I C A T I O N N O T E S ---------------------------------------------------------------- What follows is a list of things you can do with The Worx! which are not explicitly mentioned in the corresponding sections. PLANNER Not much to add here. The Planner is straightforward in its use and is really best suited for that purpose only. We like to use somewhat meaningful mnemonics for the non-time (id) entries, such as :CALx for telephone calls, :SEEx for visits, :WRTx for things to write, etc. Remember the x (which stands for a number), otherwise you'll get 'duplicates' errors! If you must use 12-hour rather than 24-hour times, you could totally ignore the time entries and use something like a0800 for eight in the morning and p0830 for eight-thirty in the evening, although we've found the 24-hour system to be much clearer. Using a and p also keeps the entries in correct order for the sort. Note that the calendar display at the start of the program uses a universal calendar routine. This means that you can get a calendar for any month of any year of the Julian calendar, even if you don't have (or want!) any entries for that month. To find out on what day you were born, select option 3 (change date) and enter your date of birth; a calendar for that month of that year will be displayed, with your birthday highlighted! Don't forget to select option 4 to return to today when you're finished. Finally, remember to clear out old planner entries as needed. You can print out a day's entries by storing the activities using the filer option "S". <38> NOTEPAD The notepad is very useful in many ways. A few examples: - leave messages to someone else in your home/office by creating a "file with the name of the intended recipient. That person can reply by leavlns a message with your name. You could actually name not just a file but the whole virtual file block that way; this allows for easier retrieval (a catalogue listing will display the name) and up to 5 of text. Imagine your own messaging system! The Worx! opens the door to home/office automation!!! - use the notepad for outlines of letters, etc., that you want to write. Or even programs! - create a virtual file block named TODO, and use one virtual file per month, to get a 5-month planner. - Generally, any long-term information can be handled in the same way: vacations, television specials, hobby events, things to do, family birthdays, books to read, people to see...Be creative! The Sort option: the more you think about it, the more uses you'll find for this option. A few simple examples: prioritizing activities (put an importance rating at the beginning of each line); planning an Itinerary or chopping trip (group by areas or by stores); brainstorming (especially in conjunction with the outlining concept mentioned above); anything which must be ordered. Note how the sort works: it considers the whole line as its key and compares each line left to right, in ASCII values. Remember that a space is the lowest ASCII character and will come before anything else. <39> TELEPHONE Again, this is best suited to its original purpose. We recommend using the first line for the name and telephone number and the second line for key information, such as: SMITH Joe 111-2222 plumber - does house calls!!! However, you may find a more convenient setup. Note that the first line must contain something to be recognized as & non- blank entry. <41> Explanation: title/function -> memory requirements and (last entry) window contents. Once this is done, the user calls up the menu and requests the Execute option. s4 - store x into m4 * r4 - multiply x (in window) by contents of m4 (x) * r1 - multiply x*x (in window) by contents of m1 (a) = - forces the evaluation - window now contains a*x*x s1 - store in m1 r4 - recall x (into window, replacing what was there before) * r2 - multiply by b (in m2) + r1 - add a*x*x + r3 - add c = - force evaluation Since the remainder of the file is spaces, no other activity takes place. The program ends with the result in the window and waiting for keyboard entry. The only limitation is file size. Spaces are not required but recommended for legibility. If you have many small, related functions, set them all up in a single file with semicolons at the beginning of each line. When you want to use a specific function, edit the file and remove the semicolons for the lines of interest. Remember that keyboard input requires a single keypress for functions but file input requires a keyword to be spelled out. <42> DECISION Very straightforward. Does exactly what Is required of it. Here's an example: Let's buy a computer. We want to consider: graphics, colour, sound, size, software availability. We create the file using Topics to contain; price colour sound graphics software Now we select E for Execute. We get the following questions and answer as follows: question response (a or b) ------------------------- ------------------------------- price or colour colour price or sound price price or graphics graphics price or software software colour or sound colour colour or graphics graphics colour or software colour sound or graphics graphics sound or software software graphics or software graphics We now have (internally): colour: 3 price: 1 sound: 0 graphics: 4 software: 2 After sorting, we get: graphics colour software price sound <43> These are the things we must consider when making the purchase, IN THAT ORDER. Clearly, this makes the Spectrum the ideal machine! Note: the modification of the file is transparent to the user - most of the time. The ratings are stored in the work file itself, in position 32. If you have an entry that uses column 32, you'll lose the last character. We recommend, however, that the entries be kept simple for the rating process and, if needed, the file can be edited after the rating process - only 20 chars are printed during the rating procedure. <44> TIME Clock The timer can act as a clock, keeping time as long as your computer is running. It can also be used as a timer to time the duration of some event (long distance telephone call, time required to make one widget, etc...). Once the Cancel option is selected, the time remains on the screen until you return to the main menu. Stopwatch To remind yourself to do something when the computer beeps. Set the countdown timer to three minutes and start it. When the machine beeps, you'll have perfect soft-boiled eggs! Time Zones This is, of course, most useful for long-distance telephone calls and to check international travel times - dear old Aunt Grace arrives in Athens at 14:00 local time, which means you'll hear from her in... at least three hours time, then you can ask her to pick you up come grecian urn... or the latest Ancient Greek Adventure for 2X Spectrums... (written by Aristotle himself)... <45> FILER The filer is central to the functionality of The Worx! and merits a full explanation. Every activity which uses some kind of stored data uses the-work file to function. Therefore, it would be useful to be able to shuttle that information to/from various functions without having to re-enter it all. It would also be nice to be able to store and retrieve the contents of the work file at various times. Hence, the filer. In order to simplify the porting of The Worx! to different mass storage systems and to save time by eliminating a lot of the loading and saving, an area of memory has been set aside to allow storage of S workflles. This area is called the Virtual Storage area, meaning that it functions like a RAMdisk - input and output to/from memory, but, as far as the program is concerned, it works like a random-access disk. If you look at the Design Philosophy section, you'll see how all the parts fit together. Here's an example to set up your bill payments: - Start a notepad entry called BILLSMAR to contain all payables for the month of March. Every entry should start with a space or two, followed by the amount, a semi-colon and a very short description (and/or date due). Save the file. - Make an entry (in the planner file) under the date of the earliest date due to look into that file (actually a few days earlier for the postal delay). - Every time you receive another invoice, update the BILLSMAR file and, if the due date is earlier than your earliest one, make a Planner entry for that day. - One day, looking at that day's activities, you'll see the entry to take a look at the BILLSMAR file. Go to it, write out a check for the amount due and place, say, a "p" at the end of the line containing that entry. Get rid of the planner entry and make a new one for the next date on which a bill is due. - Do the same for every bill encountered and, for invoices dated the following month, create a new file and start all over. <46> - At the end of the month, all your bills will have been paid. You can now go back to the BILLSMAR file, add a "+" in the first column of each entry but the first one and an equal sign after the last entry. Go to the calculator, clear everything and select the Execute option from the calculator memory. All bills will be added up and the month's total will be displayed in the calculator window. You can now enter edit mode and recall a file called, say, BILLS86 and add a new line for the month of March, containing the total you got from the calculator. If this file is structured the same way as the monthly file, you can, at year end, total it in the same way and voila - a very simple expenditure tracking system! Needless to say, you can apply the same concept to credit cards, bank accounts, etc. Or to bubble gum cards, or to... well, you can track anything you want this way. Just make sure to group related files into one virtual file block so that they can be saved together (with five files, you can store a quarter year's information plus a synopsis and a note file) and you won't have to go looking through all your disks/microdrives/etc. to find the important stuff. Now, the filer's operation. The work file is structured as 20 lines, 32 characters each. Each virtual file in the virtual file block is the same size plus one line to contain the file name. When the filer is invoked, it displays a list of files currently in use and blanks if the file is empty. In other words, if a name does not appear in the filer listing, the program considers it empty. You can now do several things: - Clear the work file: the workfile is not cleared automatically so that you can transfer & file from one area to another without going through the filer to save the file first and restore it later. Whatever was in the work file remains there unless you edit the workfile or use the C option in the filer (or overwrite the work file by issuing a "R"ecall. - Save the work file. The filer will see If any files are empty. If so, it will copy the work file to the first empty virtual file. If all are used, it will warn you that there are no empty files left and send you back to the filer menu (for instance, to delete a file, etc.). The work file is not changed. <47> - Restore a file. If a particular file exists in virtual memory, it can be copied to the work file by selecting this option and requesting the specific file number. If the file number is not in the range 0 to 5, a warning message is printed. Note that you are allowed to Recall an empty file in case you deleted something accidentally. To prevent such a file from being overwritten, restore the work file from that virtual file and Save it again. - Delete a file. Any virtual file can be deleted by selecting this option and a valid file number. The slot is then free to receive another file via the Save option. - View a file. Before deleting or restoring a file, it's worthwhile to view its contents... use this first if you're not sure. <48> SYSTEM INPUT/OUTPUT Once all work is completed, it may be desirable to save some files and/or load others, or perhaps to print out a few files. The System I/O option handles this. The system I/O option works on two media: the virtual files and the mass storage system of your computer. You may save the virtual files (as a single block, with a name) or load a new one. You can Load or Save Planner and telephone files. You can print out individual virtual files on your printer (full size or 2040). You can get a listing of which files are on your Microdrive; you can also delete a Microdrive file, all without leaving The Worx!. All these options are left in BASIC, so you can modify them to suit your own system. Any other function desired can be added to the System I/O menu to accomodate your hardware system, providing there's enough space for the BASIC lines to fit. You could, for instance, allow for both a full-size and the 2040 printer to be used for printing listings. Or, you could allow the transmission of the virtual files block using Interface I; you could allow for both cassette and disk/microdrive saving/loading, or set up anything you please that's specific to your system). <49> QUIT Once all work is done, select option 9 to leave The Worx!. Please see the note under Customization for this section. To restart the program, type RUN. To restart with a new date, type GO TO 9900. <50> ---------------------------------------------------------------- A P P E N D I X A - D E S I G N P H I L O S O P H Y ---------------------------------------------------------------- +--------+ +--------+ +--------+ +----------+ +--------+ | PLAN | | NOTE | | CALC | | DECIDE | | FONE | +--------+ +--------+ +--------+ +----------+ +--------+ ^ ^ | | | | ^ | | | | | | | | v__________v___________v______________v__________v | | | | v v v +--------+ +--------+ +--------+ | PLAN | | WORK | | FONE | | FILE | | FILE | | FILE | +--------+ +--------+ +--------+ ^ | v +---------+ | FILER | +---------+ ^ | v +-----------+ | VIRTUAL | | FILES | +-----------+ ^ +-----------+ | +-->| PRINTER | v | +-----------+ +---------+ | | SYSTEM |<-------->| +-----------+ | I/O | | | MASS | +---------+ +<->| STORAGE | +-----------+ Planner: entries are stored in plan file; display, additions and deletions done in work file before updating Plan file. Notepad: all done in work file Telephone: entries stored in telephone file; additions, deletions, display done in work file before updating tone file. Calculator: no files used in keyboard mode; work file used for program storage and execution. Decision: all work done in work file Biorhythm: no files used Time: no files used. Filer: shuttles work file to and from virtual file block. <51> ---------------------------------------------------------------- A P P E N D I X B - C U S T O M I Z A T I O N N O T E S ---------------------------------------------------------------- The BASIC portion of The Worx!, which handles all input/output (including printing) can be customized. 1. Change the load/save statements to reflect your hardware system. This includes loading/saving the planner, telephone and virtual files block. 2. Change the print statements to reflect your printer setup. No changes required if you use the (2040) ZX printer or if your system understands the LPRINT keywords. 3. Further customization. Depending on your hardware setup, you may take this a step further. Right now, The Worx! ends by simply stopping. This can be altered to first clear RAMTOP to its normal value (xxxxx) by entering a CLEAR xxxxx before the STOP statement. This will allow you to chain to another program without having to power the system down. You can also load another program Instead of STOPping, Just replace the STOP with a 'LOAD "pgmname"'. Remember to clear RAMTOP first, as there probably won't be enough room left over to load even a small BASIC program when RAMTOP is set for The Worx!. Alternatively, you can set up your system to be entirely menu- driven. First, write a BASIC program along the lines of the following: 10 cls:print "Martin's Main Menu" "I. Run TasWord3"'"2. Run The Worx!"'"3. Run GobbledyGook"'''"Enter selection number:" 20 let a$"=inkey$: if a$="" then goto 20 30 if a$="l" then load "TASWORD" 40 if a$="2" then load "THE WORX!" 50 if a$="3" then load "GOBBLEDYGOOK" 60 goto 20 Now save it with the name "MENU" or something like it. If your hardware supports it, call it "RUN" or "START" or whatever. <52> Now, change the STOP statement in The Worx! to 'LOAD "MENU"', and you're in business! When you start up, run the MENU program and select whatever program you want. When The Worx! terminates, it'll automatically get you back to the menu and you can continue from there. Remember to change all other programs in the Menu listing to reset RAMTOP and load the Menu program back in! Final note concerning a menu-driven system: if your mass storage system doesn't allow for very much space, don't forget to change the appropriate lines in the menu program to something like: 30 if a$="l" then print at 15,0;"Insert disk 'TASWORD' In drive A and disk 'TASFILES' in drive B, then press ENTER.':pause 0:load "TASWORD" Now you won't run into "Program not found" type of errors! Another customization: the timer. Currently, the timer delay is set to 50(60 for North America), which means (for the technically inclined) that the timer display is updated every 50(60) interrupts. This may not be 100% correct for your situation. To adjust the timer, insert: 9905 POKE 65293,dd to change the number of Interrupts counted before an update takes place. Poke a value higher than 50(60) if the timer is fast, or lower if it's slow. ----------------------------------------------------------------