(this is the Ascii version of DESKPAC.DOC) DeskPac User Manual Advanced Environments March 1987 Advanced Environments is a company composed of computer software professionals dedicated to creating the highest quality GEM products. Our products are written exclusively for the GEM environment, and make full use of its capabilities so that we may offer the consumer functional products at a reasonable price. We believe that the way to end software piracy is to sell software at a fair price. We also believe that consumers should be able to make back up copies of their software. DeskPac is provided on an unprotected disk so that you can make back up copies for your own use. We ask you not to sell, give, or loan copies of this software to anyone else. (C) COPYRIGHT 1987 ADVANCED ENVIRONMENTS, INC. All rights reserved. Reproduction or use in any manner without the express permission of Advanced Environments is prohibited. While every precaution has been taken to ensure the correctness of this product, no responsibility or liability is assumed for any loss or damages resulting from the use of the product or the information it contains. DeskPac Plus was developed using TDI Modula-2/ST, 0272-742796 (UK), (214)340-4942 (USA). GEM is a registered trademark of Digital Research, Inc. CONTENTS 1. DeskPac Plus : An Overview ............................... 5 2. Installing DeskPac ....................................... 6 3. Booting the System ....................................... 7 4. Invoking DeskPac ......................................... 7 5. The Clock ................................................ 8 5.1 Invoking the clock ................................... 8 5.2 Setting the time ..................................... 9 5.3 Setting the date ..................................... 9 5.4 Setting the alarm .................................... 9 5.5 GEM bugs affecting the clock ......................... 10 6. The Calendar ............................................. 10 6.1 Displaying other months .............................. 10 6.2 Showing appointments ................................. 11 7. The Phone Book ........................................... 11 7.1 Adding a name to the directory ....................... 12 7.2 Modifying an entry ................................... 12 7.3 Deleting a name ...................................... 12 7.4 Dialing a number ..................................... 12 7.4.1 Leaving a reminder to call back .................... 13 7.4.2 Hanging up ......................................... 13 7.5 Timing a call ........................................ 13 7.6 Call Later ........................................... 13 8. The Calculator ........................................... 14 8.1 Invoking the calendar ................................ 14 8.2 Modes of operation ................................... 14 8.3 Performing a calculation ............................. 15 8.3.1 Entering a number .................................. 15 8.3.2 Selecting an operator .............................. 16 8.3.3 Clearing an error .................................. 17 8.3.4 Operator precedence ................................ 17 8.4 Memories ............................................. 18 8.5 Programming the calculator ........................... 19 8.5.1 Entering a program ................................. 19 8.5.1.1 Changing the flow of control ..................... 19 8.5.1.2 Editing a program ................................ 20 8.5.1.3 Saving the program ............................... 21 8.5.2 Loading a program .................................. 21 8.5.3 Printing a program ................................. 22 8.5.4 Running a program .................................. 22 9. The Appointment Book ..................................... 22 9.1 Adding an appointment ................................ 23 9.2 Deleting an appointment .............................. 23 9.3 Rescheduling an appointment .......................... 23 9.4 Erasing old appointments ............................. 23 10. Free RAM Indicator ....................................... 23 11. Note Pad ................................................. 24 11.1 Entering Text ....................................... 24 11.2 Switching between notes ............................. 24 11.3 Saving the note ..................................... 25 11.4 Deleting a note ..................................... 25 11.5 Printing the contents of the notepad ................ 25 12. File Copy Tool ........................................... 25 12.1 Entering the name of the file to be copied .......... 25 12.2 Entering the name of the destination file ........... 26 12.3 GEM bugs affecting the File Copy tool ............... 26 13. File Delete Tool ......................................... 27 14. Desktop Icon ............................................. 27 15. DeskPac Warranty ......................................... 27 1. DeskPac Plus : An Overview DeskPac Plus is a collection of nine integrated desk accessory tools for the Atari ST computers. The tools are available for use from the GEM Desktop and from any application that displays a menu bar. All of the DeskPac tools are available from one menu item, leaving the remaining five slots free for other desk accessories. Each of the DeskPac tools can be invoked at any time, regardless of whether or not other DeskPac tools are in use. Since full use is made of the GEM window facilities, each tool can be positioned anywhere on the screen. DeskPac Plus includes a clock, calendar, phone book, programmable scientific calculator, appointment book, free RAM indicator, note pad, and file copy and delete tools. The clock operates in one of two modes. In expanded mode, the clock displays the time and date in a separate window. In menu mode, the time is displayed in the upper right hand corner. The clock also maintains an alarm which will sound a bell when the alarm time occurs. The calendar can display any month from the year 1583 to 2299. An added feature of the calendar is that dates with appointments can be highlighted. Double-clicking on a date shown on the calendar will invoke the appointment book, showing the appoinments for that particular date. The phone book provides convenient storage and retrieval of names and phone numbers. The phone book can automatically dial numbers using a modem. It can also time and log calls, as well as keep a running total of the call's cost. A "Call Later" feature automatically invokes the appointment book so that a reminder to call a person later can be entered. The appointment book records up to 50 messages per day, any number of days (limited only by the size of the disk). The time and date of the appointment are also saved. Once the time of the appointment arrives, the appointment will be displayed in an alert box. If power is removed from the system and later reapplied, the appointment book will notify you if any appointments for the current day has passed while the computer was turned off. The appointment book is closely integrated with the calendar. The programmable calculator features both scientific and logic functions. It can operate in decimal, hexadecimal, octal and binary modes. Bit and logical operations are supported, as are base conversion operations. The calculator also provides twenty separate memories and 500 program steps. The free RAM tool displays the number of bytes of RAM currently available for use. The note pad is used to write, save, retrieve, and print any number of notes, each of which contains 10 lines. The file copy tool allows files to be copied without leaving an application program. Likewise, the file delete tool allows files to be deleted without leaving an application. 2. Installing DeskPac First Step. Make a back-up copy of the DeskPac disk. Put the original disk in a safe place. The DeskPac disk is not copy protected so that you can safeguard your investment. Second Step. Copy the file DESKPAC.ACC onto your boot disk. Third Step. Copy the DeskPac configuration file DESKPAC.CFG onto your boot disk. This file informs DeskPac where the various data files are located. Figure 1 shows the contents of the default configuration file supplied with your DeskPac disk. The first line indicates the default drive. This is mainly used as the default directory specification for the File Copy and Delete tools. The next two lines inform DeskPac where the resource files are located. Note that DeskPac contains two resource files, one monochrome and one color. Only one resource file is loaded at any given time. The next three lines specify the location of the data files used by the appointment book, phonebook directory, and phonebook logging facility, respectfully. Since the notepad maintains a separate file for each note, the next item specifies the directory containing the various note files. The remaining two lines contain the modem control characters that are sent to the modem when a number is dialed. The first control code gets the modem's attention and tells it whether to use pulse or tone dialing. The code for pulse dialing is ATDP. The last line in the file instructs the modem to hang up once the number has been dialed. A:\*.* Default Drive A:\RESOURCE\DESKPAKM.RSC Monochrome Resource File A:\RESOURCE\DESKPAKC.RSC Color Resource File A:\APPT.DAT Appointment Book Data File A:\PHONE.DAT Phone Book Directory File A:\LOG.DAT Phone Book Log File A: Notepad directory ATDT Modem Dial Prefix (tone dial) ;H0 Modem Dial Suffix (hangup) Figure 1 Sample DESKPAC.CFG File If you wish to change the locations of the various DeskPac files from that specified by the configuration file, you can change the contents of DESKPAC.CFG using a text editor such as 1st Word. The only restriction is that each filename must contain a drive identifier followed by a colon (ie. A:). Note that the English descriptions are provided as commentary only, and may be omitted. Once the system is booted, the new configuration parameters will take effect. If the boot drive doesn't contain DESKPAC.CFG, or if the configuration file contains invalid syntax, the configuration parameters will default to that shown in figure 1. Fourth Step. Copy the DeskPac resource files to the disk and/or folder indicated in the configuration file. 3. Booting the System To start using DeskPac, reboot your system with the boot disk containing both DESKPAC.ACC and DESKPAC.CFG. If an alert appears indicating the resource file wasn't found, DeskPac could not locate the resource files in the directory specified by the configuration file (DESKPAC.CFG). In this case, make sure the the resource files are located in the same place as specified by the configuration file and then reboot the system. If the resource files were loaded properly, a dialog box will appear on the screen prompting for the current time. Once the time has been entered (see the section entitled 5.2 Setting the Time), another dialog box will appear prompting for the date (see the section entitled 5.3 Setting the Date). It is important to enter these values correctly to ensure proper functioning of the appointment book, calendar, and phone book charge calculation (which is based on the time of day of the call). If the time or date is accidentally entered incorrectly, it can be changed using the clock. If any appointments have been missed for the current date, an alert box will appear reminding you to check the appointment book. Either clicking on OK or pressing the return key will acknowledge the reminder and remove the alert box from the screen. At this point, DeskPac has been loaded into memory and is ready for use. The boot disk may now be removed from the drive. In the next section we will look at how DeskPac may be invoked either from the GEM Desktop or from an application. 4. Invoking DeskPac To access the DeskPac tools, pull down the leftmost menu and select the DeskPac Plus menu item. The DeskPac main dialog box will appear, containing icons representing each of the tools (figure 2). To invoke a tool, click on its icon. The selected icon will momentarily appear darkened, and then a window containing the corresponding tool will appear. If the tool is already displayed on the screen, selecting the tool's icon will re-activate (top) the tool's window. Multiple tools can be opened at once by repeatedly selecting DeskPac Plus from the leftmost pull-down menu and clicking on the desired tool icons. If the DeskPac Plus menu item is mistakenly selected, the DeskPac dialog box can be removed from the screen by clicking on the Desktop icon. Once invoked, several of the DeskPac tools will attempt to open data files. If the files are not found, an alert will appear with three buttons - Retry, Create, and Cancel. If the file is on another disk, insert the disk and click on the Retry button. If the file doesn't exist yet, clicking Create will create the file on the disk currently mounted on the drive. The third button allows you to Cancel the operation. Once invoked, each of the tools are displayed within a GEM window. Common to each window are a title bar and close box. In addition to showing the name of the tool, the title bar allows the window to be moved anywhere on the screen. This is accomplished by moving the mouse to the title bar, pressing the left mouse button, and while holding down the left mouse button moving the window's outline to the desired screen location. Releasing the mouse button will cause the window to be redrawn at the new screen location. Each DeskPac window also contains a close box in the upper left corner. Clicking on the close box will remove the window from the screen. Note that the window still retains it's information even when closed. Invoking the tool again will redisplay the window as it was before the window was removed. 5. The Clock The clock can be displayed in one of two modes - as a window or on the menu bar. In window mode, the clock displays the current time and date, as well as an icon showing the status of the alarm. In menu mode, only the time is displayed in the upper right corner of the menu bar. 5.1 Invoking the clock The clock is invoked by clicking on the clock icon contained on the DeskPac main dialog box. The clock window will then appear, centered on the screen (figure 3). Displayed within the clock window are the current time, current date, and an alarm clock icon. Remember that the clock window can be positioned anywhere on the screen by dragging the window's title bar to the new screen location. The time shown on the clock is updated once a minute. Likewise, the date is updated when the time changes from 11:59 pm to 12:00 am. If you just wish to show the time, the time display can be moved to the menu bar by clicking on the clock's full box, located in the upper right hand corner of the clock window. After clicking on this box, a series of rectangles are drawn as the time moves to the menu bar. In menu mode, the time is displayed regardless of the current application. As new applications are invoked, the time will remain displayed on the menu bar. Note that some applications erase the menu bar when first invoked. In this case, the time will be invisible until the clock is updated with the new time, usually lasting no longer than a minute. Once the clock is placed on the menu bar, it will remain there until either 1) you select the clock icon from the DeskPac main dialog box, or 2) the alarm time occurs. In either case, the clock window will reappear centered on the screen. A series of rectangles are then drawn as the time display returns to the clock window. 5.2 Setting the time If the time shown is not correct, the correct time can be entered by double-clicking on the time display. Note that the clock must be in window mode for this to occur. If the time display is shown on the menu bar, reopen the clock window by invoking the DeskPac main dialog box and clicking on the clock icon. Once you double-click on the time display, a dialog box will appear showing the incorrect time. Clear the display by pressing the Esc key, enter the correct time, and select AM or PM as desired. Clicking on the OK box or pressing the Return key will then set the clock to the new time, removing the dialog box from the screen. 5.3 Setting the date If the date shown is not correct, the correct date can be entered by double-clicking on the date display. Note that the clock must be in window mode for this to occur. If the time display is shown on the menu bar, reopen the clock window by invoking the DeskPac main dialog box and clicking on the clock icon. Once you double-click on the date display, a dialog box will appear, showing the incorrect date. Clear the display by pressing the Esc key and enter the correct date. Clicking on the OK box or pressing the Return key will then set the date to the new value, removing the dialog box from the screen. 5.4 Setting the alarm Setting the alarm is accomplished by double-clicking on the alarm icon with the leftmost mouse button. Note that the clock must be in window mode for this to occur. If the time display is shown on the menu bar, reopen the clock window by invoking the DeskPac main dialog box and clicking on the clock icon. Once you double-click on the alarm icon, a dialog box will appear, prompting for the time that the alarm should sound. The alarm time is entered using the same procedure as setting the clock's time. Once the alarm time has been entered, clicking on OK or pressing the Return key will cause the dialog box to disappear. The alarm icon will then show "sound" coming from the alarm "bells", indicating that the alarm has been set. When the alarm time occurs, the clock window will appear as the active window. If the clock is in menu mode, the clock will change modes from menu mode to window mode, moving the time display from the menu bar to the clock window. The clock will then continually sound bells once a second until you either press a key or click the leftmost mouse button. At this point you have two options. You can either turn the alarm off completely or you can turn it off for just a minute, otherwise known as "snooze" mode. In order to turn off the alarm completely, single-click the leftmost mouse button on the alarm icon. The alarm will then turn off, indicated by the absence of "sound" coming from the alarm icon "bells". In order to enter snooze mode, click the leftmost mouse button anywhere on the desktop except the alarm icon. You can also enter snooze mode by pressing any key on the keyboard. The alarm will still be on, just silenced until a minute elapses. Once a minute elapses, the alarm will again sound consecutive bells once a second. 5.5 GEM bugs affecting the clock Due to a bug in GEM, the clock will sometimes stop updating the display. The clock will still maintain the correct time, it just won't be shown on the screen. This will also prevent the alarm from ringing. If you have any doubt that the time displayed is not the correct time, simply invoke the DeskPac main dialog box and then exit the dialog box by clicking on the Desktop icon. 6. The Calendar Based on the standard Gregorian calendar, the DeskPac Calendar can display any month from the year 1583 to 2299. After clicking on the calendar icon contained on the DeskPac main dialog box, the current month will appear centered on the screen with the current day indicated in inverse video (figure 4). The calendar also provides the option for highlighting the days with appointments. 6.1 Displaying other months Other months can be shown by: 1) Clicking on the up arrow. This will show the same month of the succeeding year. For example, if the calendar is displaying January 1986, clicking on the up arrow will display January 1987. 2) Clicking on the down arrow. This will show the same month of the previous year. For example, if the calendar is displaying January 1986, clicking on the down arrow will display January 1985. 3) Clicking on the left arrow. This will show the previous month of the current year, except if the current month is January. In this case, clicking on the left arrow will show the month of December of the previous year. 4) Clicking on the right arrow. This will show the next month of the current year, except if the current month is December. In this case, clicking on the right arrow will show the month of January of the succeeding year. 5) Finally, the horizontal scroll box may be used to show any month of the current year from January to December. Dragging the scroll box to the leftmost edge will show the month of January. Likewise, dragging the box to rightmost edge will show the month of December. Dragging the box to somewhere between these two extremes will show the month corresponding to the relative position of the box within the horizontal scroll area. For example, dragging the slider box to the middle of the scroll area will show the month of June. 6.2 Showing appointments When first invoked, the calendar displays the current month, showing the current day in inverse video. By clicking on the Show Appointments button, the calendar will also highlight the days that have appointments. On monochrome systems, the days with appointments are shown with halftone boxes. On color systems, the days with appointments are shown in red. Clicking on the Hide Appointments button will remove this indication, displaying the days with appointments the same as the days without appointments. Regardless of whether or not the Calendar is showing the days with appointments, the Appointment Book can be opened to a specific day by double-clicking on that day shown on the calendar. This feature makes it convenient to examine the appointments for a day, or to add appointments to a day. 7. The Phone Book The Phone Book maintains a directory of frequently called names and phone numbers, as well as a log of names called in the past. Other features provided by the Phone Book are the ability to dial a number through a modem, time the length of the call, and automatically calculate the call's cost. To invoke the Phone Book, click on the Phone Book icon contained on the DeskPac main dialog box. The directory window will then appear, centered on the screen (figure 5). The phone book operates similiar to a standard Rolodex¿. Along the right edge of the window are 13 tabs, each of which are labelled with two letters of the alphabet. Clicking on a tab will display an alphabetized list of names starting with one of the two letters shown on the tab. If the number of names exceeds the capacity of the window for displaying the names, the window can be scrolled by clicking on the up and down arrows located along the right side of the window. Note that scrolling is continuous over the entire directory. As the window is scrolled, the tab corresponding to the first letter of the first name in the window will be highlighted. Once the end of the directory is reached, clicking on the down arrow will sound a bell. Likewise, a bell is sounded if the up arrow is clicked when the name shown on the first line of the window is the first entry in the directory. 7.1 Adding a name to the directory To add a name to the directory, click on the Add button. A dialog box will appear, containing fields for the person's name and phone number. Additional fields are also defined for calculating the cost of long distance calls. Organized according to AT&T's three level rate structure, two fields each are defined for the day rate (8am to 5pm), evening rate (5pm to 11pm), and night rate (11pm to 8am). In each category, the first field records the cost of the first minute. The second field in each category records the cost of the remaining minutes. Note that you are not required to enter an amount in any of the rate fields. In this case, the call cost display will show zero cost during the duration of the call. Once the information has been entered into the dialog, clicking on the OK button will add the new entry into the directory. The directory window will then display the new entry as the first name in the directory window. If you change your mind and do not wish to enter the information into the directory, clicking Cancel will abort the Add operation. 7.2 Modifying an entry. A name and it's associated information may be changed at any time by clicking TWICE on the name in rapid succession. The same procedure as described in section 7.1 Adding a name to the directory is then used to enter the new information. Once the information has been entered into the dialog, clicking on the OK button will update the entry with the new information. The directory window will then display the newly modified entry as the first name in the directory window. If you change your mind and do not wish to enter the new information into the directory, clicking Cancel will abort the operation. 7.3 Deleting a name. To delete a name, you must first select the desired name by clicking ONCE on the name to be deleted. Once the entry is selected, the Delete and Dial buttons will become enabled. Clicking on the Delete button will remove the name and it's associated information from the directory. 7.4 Dialing a number This feature can be used only if there is a modem connected to the computer. To dial a number, pick up the telephone receiver, click on the desired name, and then click on the Dial button. A short delay will occur as the number being dialed is added to the log file. The directory window will then disappear, replaced by a window showing the status of the call (figure 6). Once the number is dialed, the modem will disconnect from the line, with the number indicator changing from "dialing" to "dialed". You may then proceed with the call as if you dialed manually. As the call progresses, the status window will continuously display the length of the call. If the call is long distance and the rate information has been entered, the cost of the call will also be displayed. Upon completion of the call, you must either click on the Hangup or Call Back button to inform the phone book to redisplay the directory window. Note that clicking on the window close box simply removes the window from the screen but does not terminate the call. If the window is inadvertantly closed, clicking on the Phone Book icon on the DeskPac main dialog box will redisplay the call status window. Note : If you do not hear the phone number being dialed after a short delay, the RS232 port probably has not yet been set to the speed of the modem. If the modem has not been used since the system was turned on, the RS232 port is automatically set to 9600 baud. To set the RS232 port to the speed of your modem, you will need to reboot the system with the VT52 emulator desk accessory supplied with the Atari ST. The VT52 emulator includes a menu entry allowing you to set the parameters of the RS232 port to that expected by your modem. Once the parameters are set, selecting the Save Desktop entry from the Desktop's Options menu will save the RS232 configuration for future use. Once you save the desktop, the RS232 parameters will be automatically installed each time you reboot your system without needing to invoke the VT52 accessory. 7.4.1 Leaving a reminder to call back If the person you called did not answer, clicking on the Call Back button will invoke the Appointment Book. A reminder may then be entered to try the call again at a later time. After clicking on the Call Back button, a dialog will appear prompting for the appointment information. Once the information is entered, clicking on the OK button will add an appointment on the date specified. If you decide not to leave a reminder, clicking on the Cancel button will cancel the appointment. In either case, the phone book window will switch back to directory mode. 7.4.2 Hanging up Once the call is completed, you should click on the Hangup button. This will inform the Phone Book to remove the call status window from the screen, causing the directory window to be redisplayed. 7.5 Timing a Call If you wish to dial a number manually, you can still time the call by clicking on the Time Call button. After dialing the number, clicking on the Time Call button will close the directory window and open the Call Status window. The length of the call will then be displayed as long as the call is in progress. At this point the operation of the Call Status window is the same as if the Dial button was pressed with one exception - the number dialed and call cost displays are hidden from view. Please refer to the section entitled 7.4 Dialing a number for a more complete explanation of the Call Status window. 7.6 Call Later With the Call Later feature you can record reminders to make phone calls at a later date. Clicking on the Call Later button will display the dialog for creating new appointments. Once the information for the reminder has been entered, clicking on the OK button will enter the reminder into the appointment book. If a name has been selected prior to clicking on the Call Later button, the name of the person to call will be automtically inserted into the appointment creation dialog. 8. The Calculator The DeskPac calculator is a programmable scientific calculator featuring trigonometric, exponential, and logic functions. System and assembly language programmers will appreciate the calculator's bit operations and ability to translate between different numeric bases. The calculator also features 20 separate memories as well as 10 programmable function keys. Up to 500 program steps may be allocated among the 10 function keys as desired. The resulting program may then be saved to disk for later retrieval. 8.1 Invoking the calculator The first step in calling up the calculator is to invoke the DeskPac main dialog box as described in section 4. Invoking DeskPac. Once the main dialog box is displayed on the screen, the calculator is displayed by clicking on the calculator icon. The calculator will then appear centered on the screen as shown in Figure 7. 8.2 Modes of operation Once the calculator appears on the screen, you will notice that some of the keys will appear with lighter text than other keys. These keys are currently disabled for the current mode. Clicking on these keys or pressing the corresponding key on the keyboard will sound a bell. When the calculator is first invoked, the current mode is set to DECimal. In this mode, the logic functions are disabled. The keys used for programming the calculator are also disabled. Enabled are the keys available for scientific calculations (such as SIN, COS, etc). The calculator supports four main modes of operation - DECimal, HEXadecimal, OCTal, and BINary. These modes differ in the number base used for the calculations, which are 10, 16, 8, and 2, respectfully. You can select the desired mode of operation by clicking on the desired button with the mouse. Once the button is clicked, it will be shown in reverse video until another mode is selected. In this manner, the current mode is continuously indicated. The DECimal key differs from the other modes in another aspect - the scientific keys are enabled only in DECimal mode. The other three modes disable the scientific keys and enable the keys available for logic operations. In any case, the digit keys will be enabled or disabled according to the mode (number base) currently in effect. One of the main features provided by the calculator is the ability to switch between modes at any time. This will cause the number currently shown in the readout to be converted and redisplayed in the newly selected number base. If a calculation is still in progress when the new mode is selected, the calculation will be completed first, and the result converted into the new number base. 8.3 Performing a calculation The calculator operates in a manner similar to common desk calculators. Numbers are entered with the digit, decimal point, and +/- keys. The number shown on the readout can be cleared by pressing the CE key. Expressions are entered left to right in algebraic form, and are evaluated while entered. 8.3.1 Entering a number A number is entered by either clicking on the digit keys with the mouse or pressing the corresponding digit on the keyboard. As the digits are entered, the readout is continuously updated with the new digits. Note that only the digits allowed for the current number base are enabled. For example, if the calculator is in BINary mode, only the 0 and 1 keys are enabled. Attempting to enter any other digit will sound a bell. The calculator also limits the number of digits to that allowed for the current number base. DECimal mode has a precision of 10 digits. HEXadecimal, OCTal, and BINary modes allow 8, 11, and 16 digits respectfully. Once the maximum number of digits are entered, the digit keys are disabled, indicating that an operator should be entered. Once the operation has been selected, the digit keys will then be re-enabled. In the HEXadecimal, OCTal, and BINary modes, entering a number is relatively straightforward. A number simply consists of a sequence of one or more digits. However, entering a number in DECimal mode is a little more complex. A decimal number can contain a leading sign, a number before the decimal point, a decimal point, a number after the decimal point, an exponent, an exponent sign, and finally the exponent itself. In order to make sure that a number is entered correctly, certain keys change state so that it's impossible to enter a syntactically wrong number. For example, after the first digit is entered, the E key is enabled allowing an exponent to be entered. Once a decimal point is entered, it is disabled so that two decimal points cannot be entered. As an example, let's look at how the number 6.4E-3 is entered. Before any digits are entered, the digits 0 through 9 are enabled, as well as the decimal point. Since a number can't start with an exponent, the E key is disabled. Once the 6 is entered (either by clicking on the 6 with the mouse or pressing the 6 key on the keypad), a 6 appears on the readout, and the E key is enabled. The decimal point is then entered, causing the decimal point key to become disabled. The 4 key is then entered, followed by the E key. The readout now shows 6.4E+000. At this point, any digits entered will appear in the exponent. So, pressing the 3 key will cause the readout to show 6.4E+003. Finally, the sign of the exponent is changed by pressing the +/- key. Note that if we had made an error while entering the exponent, we can fix the error by simply entering the correct digits. While the exponent is being entered, the digits scroll to the left, causing the leftmost digit to be lost. Digits can be continuously entered until the exponent shows the desired value. If an error was made before the exponent was entered, the number can be cleared by clicking on the CE key ONCE without affecting the calculation in progress. 8.3.2 Selecting an operator The DeskPac calculator supports 17 separate operators from two different categories - scientific and logic. The scientific operators are available only in DECimal Mode, with the logic operators available in HEXadecimal, OCTal, and BINary modes. The following table lists the operators supported in DECimal mode: / : Divide the first number by the second. The second number must not be zero or an error will result. * : Multiply the first number by the second. - : Subtract the second number from the first. + : Add the second number to the first. SIN : Calculate the SIN of the number shown in the readout. ASIN : Calculate the ArcSIN of the number shown in the readout. The absolute value of the number must be less than or equal to one or an error will result. COS : Calculate the COSine of the number shown in the readout. ACOS : Calculate the ArcCOSine of the number shown in the readout. The absolute value of the number must be less than or equal to one or an error will result. TAN : Calculate the TANgent of the number shown in the readout. ATAN : Calculate the ArcTANgent of the number shown in the readout. LOG : Calculate the LOGarithm of the number shown in the readout. The number must be greater than zero or an error will result. LN : Calculate the natural Logarithm of the number shown in the readout. The number must be greater than zero or an error will result. SQRT : Calculate the SQuare RooT of the number shown in the readout. The number must be greater than or equal to zero or an error will result. XtoY : Raise the first number to the power of the second number. 1/x : Calculate the reciprocal of the number shown in the readout. The number must not be equal to zero or an error will result. +/- : Calculate the two's complement of the number shown in the readout. Negative numbers are shown as the absolute value of the number prefixed with a leading minus sign. The operators valid in HEXadecimal, OCTal, and BINary modes are : / : Divide the first number by the second. The second number must not be zero or an error will result. * : Multiply the first number by the second. - : Subtract the second number from the first. + : Add the second number to the first. SHF : SHiFt the first number the number of binary positions indicated by the second number. If the second number is positive, the first number is shifted to the left. If the second number is negative, the first number is shifted to the right. AND : AND the second number to the first. OR : OR the second number to the first. XOR : eXclusive OR the second number to the first. 1s C : Calculate the One's Complement of the number shown in the readout. Note that negative numbers are shown as the absolute value of the number prefixed with a leading minus sign. +/- : Calculate the two's complement of the number shown in the readout. Negative numbers are shown as the absolute value of the number prefixed with a leading minus sign. 8.3.3 Clearing an Error If an error occurs during a calculation, the word "Error" will appear in the calculator's readout. An error can be cleared by either clicking on the CE key twice or pressing the Clr/Home key twice. The calculator will then be cleared, showing 0 on the readout. 8.3.4 Operator Precedence The DeskPac calculator uses algebraic notation. That is, an operator (such as plus or minus) appears immediately after the first number and before the second. For example, performing the calculation "one plus two" would be entered as "1 + 2 =". Once the equals key is pressed, the number three will appear on the readout. If two or more operators appear in the same equation, the equation is processed according to the precedence of the operators. For example, since the multiply and divide operators are of higher precedence than plus or minus, the expression "1 + 2 * 3" would be processed as "1 + (2 * 3)". In other words, the calculator would perform the multiply first, and then add the result to one. The following table lists the precedence of the various operators. The operators are listed by descending order of precedence, with those on the same row being of equal precedence. +/-, SIN, ASIN, COS, ACOS, TAN, ATAN, LOG, LN, SQRT, 1s C XtoY *, / +, - SHF, XOR AND OR If a different order of precedence is desired, parenthesis may be used to group operations to be performed first. Using the previous example, we can force the addition to be performed before the multiplication by entering "(1 + 2) * 3". In this example, the precedence of the multiply operator is overrode by the left parenthesis. An expression may be parenthesized up to 30 levels deep. That is, up to 30 parenthesis may be entered before a left parenthesis must be entered. To be more precise, the calculator will support up to 30 pending operations. A pending operation is simply an operation that is postponed due to either a right parenthesis or an operator of higher precedence. For example, the expression "3 * (4 + 5" has three pending operations - one for the multiply, one for the right parenthesis, and one for the addition. Exceeding the maximum number of pending operations will cause an Error to be shown on the readout. The calculator must then be cleared as mentioned in section 8.3.3 Clearing an Error. 8.4 Memories The DeskPac calculator features twenty separate memories. Of these twenty, ten are allocated for use during scientific operations (DECimal) with the other ten for use during logic operations (HEXadecimal, OCTal, and BINary). In addition to storing a number into memory for later recall, the number shown on the readout can also be SUMmed into memory. That is, the number shown on the readout can be added to the number in the specified memory cell, with the result automatically replacing the previous contents of the memory. The operation of the memory is the same regardless of which mode the calculator is in. Clicking on either the STO, RCL, or SUM keys will cause that key to be darkened. The keys 0 though 9 will then be enabled, indicating that a memory cell should be specified. Clicking on one of these digits (or pressing the corresponding key on the keyboard), will cause the selected memory operation to take place with the specified memory cell. For example, storing the number shown on the readout into memory is accomplished by first clicking on the STO key and then selecting a memory cell from 0 to 9. Likewise, recalling a number from memory is accomplished by clicking on the RCL key and then selecting the desired memory cell. Finally, the number shown on the readout may be added to the contents of a memory cell by first clicking on the SUM key, and then clicking on one of the digits 0-9. Once the memory operation has completed, the digit keys will be enabled/disabled according to the current mode of the calculator. Note that the memory cells allocated to the logic operations or physically separate from those allocated to the scientific operations, although the numbers of the cells are the same. A number stored into cell 0 during a logic operation cannot be accessed in a scientific calculation, and visa-versa. However, a number can be recalled from memory, converted to the desired base, and then restored in memory, thus effectively accomplishing the same operation. 8.5 Programming the Calculator One of the main features of the DeskPac Calculator is the ability for storing repetitious calculations to be executed at the touch of a function key. Ten function keys are provided, as well as storage for up to 500 keystrokes. Once in program entry mode, programming the calculator simply consists of pressing a function key and then pressing the keys as if you are performing a calculation. As the keys are pressed, the keystrokes are stored in successive "program steps". Once the last key has been pressed, the resulting program can be saved on disk for later execution. 8.5.1 Entering a program Before a function key can be used, it must be programmed with the series of keystrokes to be executed when the function key is pressed. In order to enter a program, click once on the PGM key. The calculator will then change from interactive mode to program entry mode, indicated by a darkened PGM key (figure 8). The program keys are then enabled, and the calculator readout is changed to show the contents of the current program step. Entering a program simply consists of pressing the function key being defined, and then entering the calculation to be performed. Pressing a key will store the keystroke in the current program step, increment the program step counter, and display the next keystroke. Once the calculation has been entered, the STOP key is then pressed to terminate the program. Note that since the calculator is still in program entry mode, you can define another function key using the same process. 8.5.1.1 Changing the flow of control For the most part, the majority of programs tend to be simply a collection of keystrokes that are later executed sequentially. However, some programs need to control the flow of execution based on the intermediate state of the accumulator. Thus, the DeskPac calculator provides the following four program control keys : STOP : Stops execution of a program. Note that this key can be used in the middle of a program for further data entry. For example, the sequence 1 + STOP = STOP will pause the program so that the second operand can be entered. Once the second operand is entered, pressing RUN will continue the program. The addition will then be performed and displayed on the readout. The second STOP will then terminate the program. GOTO : If a GOTO key is encountered while the program is executing, control is unconditionally tranfered to the step specified by the next three digits. While in program entry mode, clicking on the GOTO key will store the key in the current program step. The GOTO key will then remain darkened, indicating that a three digit step number is needed to complete the operation. After clicking on three digits with the mouse, or typing three digits on the keyboard, the GOTO key will be redisplayed normally. Note that while the GOTO key is darkened, all non-digit keys are disabled. Trying to enter a non-digit key will sound a bell. =0 : If the =0 Key is encountered while the program is executing, control is transferred to the step specified by the next three digits only if the accumulator is equal to zero. While in program entry mode, clicking on the =0 key will store the key in the current program step. The =0 key will then remain darkened, indicating that a three digit step number is needed to complete the operation. After clicking on three digits with the mouse, or typing three digits on the keyboard, the =0 key will be redisplayed normally. Note that while the =0 key is darkened, all non-digit keys are disabled. Trying to enter a non-digit key will sound a bell. >0 : If the >0 Key is encountered while the program is executing, control is transferred to the step specified by the next three digits only if the accumulator is greater than zero. While in program entry mode, clicking on the >0 key will store the key in the current program step. The >0 key will then remain darkened, indicating that a three digit step number is needed to complete the operation. After clicking on three digits with the mouse, or typing three digits on the keyboard, the >0 key will be redisplayed normally. Note that while the >0 key is darkened, all non-digit keys are disabled. Trying to enter a non-digit key will sound a bell. Note that with the exception of STOP, the program control keys use four keystrokes - one keystroke for the operation, and three keystrokes for the inline step number. If the program is later edited, care must be taken not to overwrite any of these keys with new keystrokes. Otherwise, the results will be unpredictable. 8.5.1.2 Editing a program Once a program is in memory, it may be modified by using the program edit keys. These keys allow you to step through the program either forwards or backwards, insert keystrokes, and delete keystrokes. The DeskPac calculator provides the following four program edit keys : SST : Increment the program step counter, showing the contents of the next program step location. If the step counter is at the end of the program, clicking on the SST key will sound a bell and then wrap the counter to step 000. BST : Decrement the program step counter, showing the contents of the previous program step location. If the step counter is at the beginning of the program (step 000), clicking on the BST key will sound a bell and then wrap the counter to the last step in the program. INS : Move the program memory up step location, inserting a Nop in the current program step. In this manner, space can be reserved so that additional keystrokes can be inserted into the middle of a program. Note that if the program memory is filled to capacity, clicking on the INS key will sound a bell, and the key will be ignored. DEL : Delete the contents of the current program step, moving the remainder of the program down one step location. Note that if the program step counter is at the end of the program, clicking on the DEL key will sound a bell, and the key will be ignored. In addition to using these four keys, a program can be modified by simply positioning the program step counter to the desired location (using SST and BST), and then entering the new keystrokes, overwriting the previous contents of the program memory. 8.5.1.3 Saving the program Once a program has been entered into memory, it can be saved on disk for later execution. Clicking on the SAVE button will cause a file selector to appear, prompting for the name of the file. The file name is then entered using the same procedure as described in section 12.1 Entering the name of the file to be copied. Note that the file extension should be .CAL. The entire contents of the program memory is then saved in the specified file. 8.5.2 Loading a program Programs saved to disk can be loaded into memory by clicking on the LOAD button. A file selector will then appear, prompting for the name of the file. The file name is then entered using the same procedure as described in section 12.1 Entering the name of the file to be copied. The program will then be loaded into memory, showing the first step in the readout. Note that if a non-program file is specified, an alert will be displayed. Clicking on the OK box or pressing return will remove the alert from the screen. 8.5.3 Printing a program Once a program is loaded into memory, clicking on the PRT button will print a listing of the program on the printer, one step per line. While the program is printing, the PRT button will remain darkened. Once the entire program has been printed, the PRT button will be redisplayed normally. 8.5.4 Running the program In order to run the program, the calculator must first be taken out of program entry mode. This is accomplished by clicking on the PGM key, causing the calculator to change modes from program entry mode to interactive mode. The PGM key will then be redisplayed normally. Executing the program is accomplished by pressing the desired function key. If the function key has not be programmed, an alert box will appear on the screen, indicating that the function key was not found. This actually means that the entire program memory was searched for the specified function key, but to no avail. Clicking on OK or pressing the Return key will remove the alert from the screen. If the function key has been programmed, the calculator will then execute the stored keystrokes as if you were pressing the keys yourself. As the program executes, intermediate calculations will be visible in the readout. If at any point you feel the program is caught in an infinite loop, clicking on the STOP button will stop the program. Note that if the program has not be terminated by a STOP instruction, an alert will appear on the screen indicating that the program counter exceeds the length of the program. This error can also occur if a program control key attempts to transfer to a location that has not been defined. In either case, the program will be stopped and an alert displayed. Clicking on OK or pressing the Return key will remove the alert from the screen. 9. The Appointment Book The Appointment Book maintains a collection of one line reminders for important meetings, events, tasks to be performed, etc. The appointment book records the time and a short description for each appointment. Up to 50 appointments may be entered on each day. Invoking the appointment book consists of clicking on the appointment book icon contained on the DeskPac main dialog box. The appointment book window will then appear centered on the screen (figure 9). Note that opening the appointment book in this manner shows the appointments for the current day. If you wish to see the appointments for another day, invoke the calendar and double click on the desired day. The appointment book window will then appear, showing the appointments for the selected day. Note that the appointment book can display up to 10 appointments on the screen at a time. If a day has more than 10 appointments, the appointment book window can be scrolled by either clicking on the up and down arrows or dragging the vertical slider box. 9.1 Adding an appointment. To add an appointment to a day, open the appointment book to the desired day and click on the Add button. A dialog box with fields for the time, date, and description of the appointment will appear. Enter the information and click OK. The new appointment will be added. If the calendar window is displayed on the screen and showing the month of the new appointment, the day of the appointment will be highlighted. 9.2 Deleting an appointment To delete an appointment from a day, first open the appointment book to the desired day. Click on the appointment to be deleted and then click on the Delete button. The appointment will be removed. If this was the last appointment for the day, the calendar will be informed that the day no longer contains any appointments. The calendar will respond by removing the appointment indication for that particular day. 9.3 Rescheduling an appointment It is easy to move appointments from one day to the next. Open the appointment book to the day of the appointment. Click on the appointment to be rescheduled. Now click on the Reschedule button. A dialog box, just like the one used to add an appointment, will appear. Enter the new date and/or time and then click on the OK button. The appointment will be removed from the old day and moved to the new day. 9.4 Erasing old appointements Old appointments never die, they must be deleted or erased. To remove all the appointments prior to a certain date, open the appointment book to that date. Clicking on the Erase Old button will remove all appointments defined earlier than the current time and date. All appointments from that day on will remain, including those for that day. This operation could take several minutes if a large number of appointments must be removed. 10. Free RAM The Free Ram tool displays the number of bytes of RAM memory currently available for use. After clicking on the Free Ram icon contained on the DeskPac main dialog box, a dialog box will appear, showing the largest contiguous block of memory that is not currently being used (figure 10). Clicking on the OK box or pressing the Return key will then remove the dialog from the screen. Note that the FreeRam tool is the only DeskPac tool that redisplays the DeskPac main dialog box upon completion. If you desire to return to the primary application (or the Desktop, whichever is appropriate), simply click on the DeskPac main dialog box Desktop icon. 11. Note Pad The DeskPac notepad is the electronic equivalent of a stack of 5x7 notecards. Each note can contain up to ten lines of text, 40 characters per line. Since each note is stored in a separate file, the number of notes is limited only by the capacity of the disk. To invoke the notepad, click once on the notepad icon contained on the DeskPac main dialog box. The notepad window will then appear centered on the screen (figure 11). If nothing has been stored in the notepad, the information line will just show the number of the note. If the note contains text, the information line will show not only the number of the note, but also the time and date that the note was entered. 11.1 Entering text While the notepad is the active window, typing on the keyboard will store the text in the currently displayed note. If the text exceeds the current line, the last word on the line will be wrapped to the next line. If the note is filled to capacity, attempting to enter additional text will sound a bell. The notepad defines the following keys for modifying text : Cursor Up : Moves the cursor to the end of the previous line. Cursor Down : Moves the cursor to the end of the succeeding line. Cursor Left : Moves the cursor one position to the left. Cursor Right : Moves the cursor one position to the right. Ins : Inserts a blank immediately preceeding the cursor, moving the rest of the line one position to the right. Del : Deletes the character immediately following the cursor, moving the rest of the line one position to the left. Backspace : Deletes the character immediately preceeding the cursor, moving the rest of the line one position to the left. Esc : Erases the text on the current line. Clr : Erases the text on the entire note. 11.2 Switching between notes Other notes can be displayed by either clicking on the up/down arrows or by dragging the slider box. Clicking on the down arrow will display the succeeding note. Likewise, clicking on the up arrow will display the previous note. If the first note is already displayed, clicking on the up arrow will sound a bell. If the notepad contains more than one note, the size of the vertical slider box will indicate the number of notes on the notepad. For example, if the notepad contains two notes, the slider box will be shown as half the vertical slider area. Likewise, if the notepad contains three notes, the size of the slider box will be one third the size of the slider area, and so on. You can move directly to a note by dragging the slider box to the relative position. For example, if three notes are defined, dragging the slider box to the middle of the slider area will display the second note. 11.3 Saving a note In most instances, notes are saved automatically to disk once you switch to another note. However, if you close the window or leave the primary application, GEM will close the notepad window without saving the contents of the current note. You can prevent this from happening by clicking on the Save button before closing the window. Clicking on the Save button will save the contents of the current note in the directory specified in the DeskPac configuration file. In this manner you can guarantee that the note has been saved for later retrieval. 11.4 Deleting a note Once a note has been entered and saved on disk, it may be deleted by clicking on the Delete button. The file containing the note will then be deleted and the notepad window cleared. Note that the Delete button is different than simply pressing the Clr key. Pressing the Clr key clears the note without removing the corresponding file. Clicking on the Delete button will clear the note, as well as permanently deleting the file. 11.5 Printing the contents of the notepad The entire contents of the notepad may be printed by clicking on the Print button. The notepad will then display each note in sequence, as well as sending each note to the printer. While the notes are being printed, the Print button will remain darkened, indicating that the system is busy processing the request. Once all of the notes have been sent to the printer, the Print button will be redisplayed normally. 12. Copy The file copy tool allows files to be copied without leaving the primary application. Once you click on the File Copy icon contained on the DeskPac main dialog box, a file selector dialog will appear prompting for the name of the file to be copied (figure 12). 12.1 Entering the name of the file to be copied The name of the file can be specified in one of several ways. When the file selector dialog first appears, the topmost line will display the default directory specification indicated by the DeskPac configuration file. Shown immediately below the directory specification is a list of files and subdirectories contained within the current directory. Subdirectories are indicated by small boxes displayed immediately to the left of the corresponding subdirectory names. If the file to be copied is located in the parent directory, clicking on the box in the upper leftmost corner of the file selector will move one level higher in the directory hierarchy. On the other hand, clicking on the name of a subdirectory will move one level lower in the directory hierarchy. By combining these two operations, you can traverse the directory hierarchy on the entire disk. If the desired directory is not located on the current disk, click once on the directory specification line, press the Esc key, and then type the letter of the desired disk followed by a colon. Clicking within the file display area will then show the files on the specified disk. Note that the file display area can only show a limited number of files. If the disk contains more files than will fit with the file display area, the display area can be scrolled by 1) clicking on the up or down arrows, or 2) dragging the vertical slider box within the vertical slider area. Clicking on the up or down arrows will scroll the file display area one name in the specified direction. Dragging the vertical slider box will show the files corresponding to the relative position of the slider box within the vertical slider area. For example, dragging the slider box to the topmost position will show the first few files on the disk. Likewise, dragging the slider box to the bottommost position will show the last few files on the disk. Once the desired directory has been entered, the name of the file can be entered by either 1) clicking on the name of the file shown within the file display area, or 2) clicking on the file entry line (shown immediately to the right of the file display area) and then typing the name of the file using the keyboard. In either case, clicking on the OK button will select the file shown on the file entry line. Otherwise, clicking on the Cancel button will abort the operation. 12.2 Entering the name of the destination file Once the name of the source file has been specified, another file selector will appear prompting for the name of the destination file - that is, the name of the file resulting from the copy. If the destination file already exists, an alert will appear asking you if you wish to overwrite the destination file. Clicking on the No button will cancel the file copy operation. Clicking on the Yes button wil delete the file and begin the copy operation. Once the file has been copied, the screen will be redrawn, showing the original contents of the screen before the file copy operation was invoked. 12.3 GEM bugs affecting the File Copy tool. Due to a well known bug in GEM, it is not possible to copy a file to the B: disk without a physical drive actually being present. Attempting to do this will crash the system. 13. File Delete Tool The File Delete tool allows files to be deleted without leaving the primary application. Once you click on the File Delete icon contained on the DeckPac main dialog box, a file selector box will appear prompting for the name of the file to be deleted. The name is entered using the same procedure described in section 12.1 Entering the name of the file to be copied. Once the name has been entered, clicking on the OK button will cause the specified file to be deleted. At this point the file selector dialog will reappear, prompting for the name of another file to be deleted. Once all of the desired files have been deleted, clicking on the Cancel button will abort the delete operation. The screen will then be redrawn, showing the original contents of the screen before the file delete operation was invoked. 14. Desktop How often have you tried to select a particular desk accessory, only to move the mouse at the last minute, invoking the wrong desk accessory? Since this is a common operation, the DeskPac main dialog box includes a Desktop icon. If DeskPac is mistakenly selected, clicking on the Desktop icon will remove the DeskPac main dialog box from the screen, returning you to the primary application or GEM desktop, whichever is appropriate. 15. DeskPac Warranty