ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Alarm v1.02 ³ ³ ³ ³ Written by Dale Nurden ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The FREEWARE alarm clock for DOS Copyright (c) 1994-95 by Dale Nurden All rights reserved. See distribution notice for details. ________________________________________________________________________________ CONTENTS Ü ßßßßßßßßß 1. LEGAL STUFF 1. Distribution 2. Disclaimer 2. ABOUT THE PROGRAM 1. Terminology 3. INSTALLATION 1. Installing the Program Files 2. Changing your AUTOEXEC.BAT File 4. ALARMTSR 1. Command Line Options 2. Features and Functions 3. Popup clock/status display 4. Tiny mode 5. Configuration 6. Error messages 7. TSR conflicts 5. ALARM 1. Command Line Options 2. Features and Functions 3. Using the Editor 4. Configuration 6. TECHNICAL INFORMATION 1. Third party software 2. Communicating with AlarmTSR 3. The Alarm Data File : ALARM.ALM 4. Alarm Configuration File : ALARM.CFG 5. AlarmTSR Configuration File : ALARMTSR.CFG 7. PROGRAM LIMITATIONS 8. SYSTEM REQUIREMENTS 9. ACKNOWLEDGEMENTS 10. CONTACTING THE AUTHOR ________________________________________________________________________________ [1] LEGAL STUFF Ü ßßßßßßßßßßßßßßßßß [1.1] DISTRIBUTION ~~~~~~~~~~~~ This package is FREEWARE. You are free to distribute it as much as you like, subject to the following conditions: þ No fee is charged for its distribution or use, except to cover media and copying costs. þ All the files listed in FILES.LST are included in the distribution package, in their original, unmodified form. This package may be bundled together with other Freeware or Shareware packages, subject to the same conditions above. Throughout this document, the term "the package" refers to all the files listed in FILES.LST, in either their expanded (normal) state or compressed in an archive created by such software as ARJ and PkZip. Please note that while this package is Freeware, I retain the copyright on all the work in this package, with the exception of those parts of the code which I have taken from sources other than my own (see Chapter xxx, Acknowledgements). It is necessary to mention this since at the time of release it was not possible to recompile the main program (ALARM.EXE) to reflect the updated copyright message. [1.2] DISCLAIMER ~~~~~~~~~~ The possession and use of any of the programs and files in this package is entirely at your own risk. Although every effort has been made to prevent it, the author will not be held responsible or liable for any loss or damage of any nature resulting from the possession or use of this package. As of this writing, no ill-effects have been experienced or reported but, unfortunately, there is always the chance that some strange and obscure combination of hardware and software could cause problems. See Chapter 4.7 for more information on TSR conflicts. Please report any problems you may encounter to the author. See Chapter 10 for information on contacting the author. ________________________________________________________________________________ [2] ABOUT THE PROGRAM Ü ßßßßßßßßßßßßßßßßßßßßßßß This is an updated version of the first release of ALARM, the DOS based Alarm Clock. The update introduces a slightly redesigned AlarmTSR module which now displays the day of the week on the popup clock. It also removes the CPU detection routine, which was faulty. The main program (ALARM.EXE) has not been changed from Version 1.0; only AlarmTSR and the appropriate documentation has been updated. ALARM makes use of your computer's real-time clock to maintain up to 100 separate alarms, and to sound them at the appropriate times with accuracy down to one minute. Each alarm can be set individually with its own message, which will be displayed along with a reminder beep from the computer's built-in speaker. A built-in popup clock provides a convenient time-piece which is available at your fingertips with a single keystroke. ALARM consists of two parts, an Alarm Editor to set, change and delete alarms as is necessary, and a memory resident module called AlarmTSR which takes care of sounding your alarms at the appropriate times. This memory resident module (also known as a TSR, or Terminate-and-Stay-Resident program) must be loaded into memory for ALARM to work correctly, and also for the popup clock to be available. [2.1] TERMINOLOGY ~~~~~~~~~~~ Alarm - This refers to the Alarm Editor, the file in this package with the name ALARM.EXE. AlarmTSR - This refers to the memory resident module (TSR) called AlarmTSR, the file in this package with the name ALARMTSR.EXE. ALARM - The program as a whole, encompassing both Alarm (ALARM.EXE) and AlarmTSR (ALARMTSR.EXE). TSR - Terminate-and-Stay-Resident program. A program which, when run, stays active in memory even after it appears to have finished. AlarmTSR is such a program. ________________________________________________________________________________ [3] INSTALLATION Ü ßßßßßßßßßßßßßßßßßß [3.1] INSTALLING THE PROGRAM FILES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The first thing you will need to do is determine which directory will be used for the program files. Both Alarm and AlarmTSR will expect to find all the relevant files in the same directory in which they reside, so it is important that all the program files are in the same directory. Which directory you use is irrelevant, as long as ALL the files are in it. Although it is not necessary, it is usually most convenient to create a separate directory for ALARM. In this documentation, it will be assumed that the directory to be used is called ALARM\ and is situated off the root directory of the C: drive. If you decide to use a different drive or directory, substitute the appropriate changes in the examples given. If the directory does not already exist, you will need to create it. The command to create our example directory would be: MKDIR C:\ALARM This is what will be referred to as the "Program Directory". The final installation step is to copy the relevant files into this directory. You could simply extract the entire distribution archive into this directory, or you can copy the necessary files directly, using the DOS 'COPY' command. The file 'FILES.LST' lists all the files which should have been included in the distribution package. (If any are missing, notify the administrator of the source from which you obtained the package, and make sure you erase this package and fetch the proper package from a more reliable source.) Those files in FILES.LST which are marked with an asterisk are the ones which are essential for ALARM to work properly. They must be placed in the program directory. The others are documentation and support files, which may be stored elsewhere or erased on the condition that they are included if you ever redistribute ALARM to anyone else. In any case, you should make sure that you always have access to these files somehow in case you ever need to read them. That's all there is to it. There are no environment variables that need setting, and you don't need to put this directory into your system path. All the program files are able to find the files they require as long as they are all in this directory. ALARM is now ready to be used. There is one more step, which is discussed in the next section. That is to update your computer's startup files to make sure your computer is always ready to run ALARM every time you switch it on. [3.2] UPDATING YOUR AUTOEXEC.BAT FILE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In order to use ALARM properly, AlarmTSR (the memory resident module) must always be loaded into memory. It is usually most convenient to have it loaded automatically for you whenever you start or reboot your computer. This can be done simply by adding a line to your AUTOEXEC.BAT file, which is a DOS batch file which runs automatically every time you restart your computer. The line to be added is: C:\ALARM\ALARMTSR (This assumes that you have chosen our example directory to be your program directory. See Chapter 3.1, above.) If your computer is capable of loading programs in the upper memory area, you can use the following line instead: LOADHIGH C:\ALARM\ALARMTSR You will need at least 3k of memory free in the upper memory area in order to load the TSR, of which 2.5k will be used, with the remainder being released after loading. It is possible to load AlarmTSR in "Tiny" mode by using the 'T' option on the command line. See Chapters 4.1 and 4.4 for more information. It is also possible to have the alarm data file automatically updated for you at the same time that AlarmTSR is loaded. This is useful since it saves you from having to remember to update the file every few days, a task which is necessary if not done automatically. See Chapter 5 for more information. Adding the following line to your AUTOEXEC.BAT file will do just this: C:\ALARM\ALARM /U Both of these changes can be made automatically for you using the ALARMBAT.BAT batch file which is included in the package. This program will first save a backup copy of your AUTOEXEC.BAT file, then add the above two lines. ALARMBAT.BAT always assumes that your AUTOEXEC.BAT file is in the root directory of C:, so if it is not, you will have to make the changes yourself. Also, ALARMBAT.BAT does not insert the "LOADHIGH" version of the first change, so if you want AlarmTSR to make use of your upper memory area, you will need to make that change yourself. Remember that it is preferable, though not necessary, to update the alarm data file BEFORE loading AlarmTSR. ALARMBAT.BAT makes the changes in the correct order, but if you choose to make the changes yourself, you should also observe this point. ________________________________________________________________________________ [4] ALARMTSR Ü ßßßßßßßßßßßßßß AlarmTSR is the memory resident module (TSR) which works in conjunction with Alarm to sound your alarms at appropriate times. To overly simplify matters, AlarmTSR sits in memory and quietly waits for the appropriate time before sounding an alarm. AlarmTSR MUST be installed in memory for ALARM to function correctly. See Chapter 3 for details on simplifying the installation process. AlarmTSR will only load once, so if it is already installed in memory and you try to reload it, it will fail with a warning message. [4.1] COMMAND LINE OPTIONS ~~~~~~~~~~~~~~~~~~~~ There is only one option which may be specified on the command line. The 'T' option instructs AlarmTSR to install in Tiny mode. If you do not specify this option, AlarmTSR will install in normal mode. See Chapter 4.4 for details on Tiny mode. The command syntax is: ALARMTSR [T] [4.2] FEATURES AND FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~ AlarmTSR periodically checks the alarm data file (see Chapter 6.3) for information about the alarms you have set. It searches through the data file for the first alarm which has not already passed (that is, its time and date is before the current time and date on your computer's clock) and then stores it in memory. In fact, this search is only performed when an alarm is sounded (to load the next alarm), or when AlarmTSR is specifically instructed to do so, either by your using Alarm and the 'R' option, or when you exit Alarm (the alarm editor). AlarmTSR also periodically checks whether the current alarm matches the current time on the computer's real time clock, and then sounds the alarm if they do match. The final two features, the popup clock/status display and AlarmTSR's Tiny mode, are discussed in Chapters 4.3 and 4.4. [4.3] POPUP CLOCK/STATUS DISPLAY ~~~~~~~~~~~~~~~~~~~~~~~~~~ Apart from checking for and sounding alarms, AlarmTSR also features a built-in popup clock/status display which is hotkey activated, the default hotkey being Ctrl-T. This display appears when the hotkey is pressed and held down, and disappears when it is released. The clock part (on the left of the display) shows the current time and date according to your computer's real time clock, with the display formats depending on how you have configured AlarmTSR (see Chapter 4.5). The clock is automatically updated while it is on the display. The "alarm" part (on the right of the display) indicates the date and time at which the next alarm will be sounded. In addition, if it due to be sounded on the same day, an asterisk will appear after the date. Again, the display formats depend on how you have configured AlarmTSR. If there are no further alarms set, then the time and date will be filled with dashes. If the "alarm" part is missing from the clock/status display, then you will know that AlarmTSR was loaded in Tiny mode. The clock/status display appears as follows: Ý 12:26:04p Sun, 13 Feb 1994 Þ Alarm: 4:15p 13/02/1994 * ³        ³ ³ ³ ³ ³ ³ ³ 1 2 3 4 5 6 7 1. Current time, indicating hour, minute and seconds, as read from the computer's real time clock. This may be in 12-hour or 24-hour format, but defaults to 12-hour format if not configured. 2. AM/PM indicator. This does not appear in 24-hour format. 3. Current date, indicating day, month, year and day of week. 4. Time of the next alarm to be sounded, indicating hour and minute only. AlarmTSR does not allow seconds accuracy partly because this is seldom required, but mainly because an alarm may be delayed a few seconds if the computer is busy. 5. AM/PM indicator. This does not appear in 24-hour format. 6. Date of the next alarm, indicating day, month and year. 7. Indicates that the current alarm will be sounded today. [4.4] TINY MODE ~~~~~~~~~ This is a special mode for AlarmTSR which reduces its memory requirements as well as its functionality. In Tiny mode, AlarmTSR still provides the hotkey activated popup clock, but none of the alarm functions are available. This is intended for users who would like to keep the clock, but have no need for alarms. AlarmTSR takes up 40% less memory in Tiny mode. The same amount of memory is required to load AlarmTSR, but only about 1.7k is retained, as opposed to the 2.8k that normal mode requires. To load AlarmTSR in Tiny mode, the 'T' option must be used on the command line during installation. See Chapter 4.1. [4.5] CONFIGURATION ~~~~~~~~~~~~~ AlarmTSR reads its configuration file (ALARMTSR.CFG - See Chapter 6.5) once when AlarmTSR is installed, if the file exists in the program directory. This configuration file contains information about how AlarmTSR should operate, including time and date display formats and display colours and is created and updated by Alarm. AlarmTSR is actually configured from inside Alarm (the alarm editor) from the Configuration menu (Alt-C). If the configuration file does not exist in the program directory, AlarmTSR will assume default settings. If, at any time, you wish to restore these default settings, simply delete the appropriate configuration file. Note: ALARMTSR.CFG also contains information about the hotkeys used by AlarmTSR, but this is not yet supported by Alarm's configuration. (This is likely to be included in future releases.) It is possible to change the hotkeys used if you manually edit the configuration file, but you should not attempt this unless you have some degree of experience in such matters. See Chapter 6.5 for more information. [4.6] ERROR MESSAGES ~~~~~~~~~~~~~~ There are two error messages which AlarmTSR will display under certain conditions: "Unable to open alarm data file." This means that the alarm data file (ALARM.ALM) is not in the program directory. It should never be deleted or moved to another directory, even if no alarms have been set, since AlarmTSR periodically checks it for new alarms. "Alarm data file is corrupt." This means that the alarm data file (ALARM.ALM) does exist, but the information contained in it is not in the format AlarmTSR is expecting, which means that it has become corrupted somehow. The only way to correct this problem is to delete the file and then run Alarm to create a new file. In doing so you will lose any alarms you have set, but this is unfortunately unavoidable. If this error occurs, you should investigate it further because it could be indicative of a hardware failure. [4.7] TSR CONFLICTS ~~~~~~~~~~~~~ The unfortunate fact about memory resident (TSR) programs is that sometimes two or more may conflict because of the way they operate. AlarmTSR has been tested with a few other TSR programs in various conditions, and has been successfully used on the author's own computer without complications. While no conflicts were found through this testing, this can unfortunately not guarantee that conflicts will not occur with other hardware and software configurations. If you experience difficulties with AlarmTSR or any other TSR program while using Alarm or AlarmTSR, please contact the author with details of your problem and your hardware and software configurations. Copies of your AUTOEXEC.BAT and CONFIG.SYS files may also help. Doing this will ensure that a similar problem won't appear in future releases of ALARM. AlarmTSR makes use of the Alternate Multiplex interrupt for communication (See Chapter 6.2). Since this is also sometimes used by other programs, is it possible that two programs could have the same ID byte, which is what is used to identify individual programs. If this problem does occur, the symptoms will most probably be one of the TSRs not working correctly (the one which loaded earlier would most likely become faulty). Unfortunately, there is no way to correct this problem. The next release of ALARM is likely to have the ability to change its ID byte to cope with this situation. ________________________________________________________________________________ [5] ALARM Ü ßßßßßßßßßßß Alarm is the alarm editor, which is used to set, change and delete alarms as required. It is run interactively from the command line without options, although there are some options available for tasks that don't require the full editor. These options are discussed in Chapter 5.1. Alarm creates and maintains the alarm data file, if one does not already exist in the program directory, and stores all the information about the alarms you have set in it. This file is used by both Alarm for its own purposes, and by AlarmTSR. Alarm also creates and maintains the configuration files ALARM.CFG and ALARMTSR.CFG when you make changes to the program's default settings. At the time of release of this update, it was not possible to recompile the main program. For this reason, the main display will still reflect Version 1.0 of the software even though it should be Version 1.02. This does not affect the functionality of the program in any way. [5.1] COMMAND LINE OPTIONS ~~~~~~~~~~~~~~~~~~~~ The command syntax for Alarm is: ALARM [[/ | -]option] Options may be preceded by a slash (DOS convention) or a dash (UNIX convention) although it is not necessary. The options are of the nature that no two can be used together on the command line. The following options are available: D - Disable the current alarm. This option clears the current alarm from AlarmTSR's memory, so that it will not be sounded. Since AlarmTSR only reads the next alarm when the current alarm is sounded, no further alarms will be sounded until AlarmTSR is specifically instructed to re-read the alarm data file (which is done when you exit Alarm or by running Alarm with the 'R' option). The status display will also indicate that no further alarms have been set. This option is provided in case you use a program which should not be interrupted by an alarm. You could, in this case, create a batch file which disables alarms, runs your program, then re-enables alarms when you exit your program. Remember that the Ctrl-T hotkey will still be active, so if this is likely to cause problems you should avoid pressing it. In the process of re-enabling alarms (with the 'R' option), the current alarm is also updated. This means that any alarms which would have sounded while you were running your program will be missed. You should be aware of this and take appropriate action. M - Force monochrome colours for the editor This option forces the editor to start run with the default monochrome colour set, in case you are using a monochrome monitor. You will still be able to make changes to the colours using Alarm's configuration menu but remember that if you save your configuration, the colours currently in use will be saved and used every time in future. If you start in monochrome mode, then save your configuration, the colours will always be monochrome whenever you use the editor from then on. You can restore the default colours by deleting the configuration file ALARM.CFG in the program directory. R - Force AlarmTSR to re-read the alarm data file This option forces AlarmTSR to update itself by re-reading the alarm data file. This function is automatically invoked when you exit Alarm. The main use of this function is to re-enable alarms after they have been disabled using the 'D' option. U - Update alarm data file This function has the same effect as pressing Alt-U while inside the editor. It updates the alarm data file by removing all alarms which have already passed. This can be useful since old alarms can slow down operation of AlarmTSR if not removed. You could make changes to your AUTOEXEC.BAT file so that this option is selected every time your computer is started or rebooted (see Chapter 3.2), but remember that it is more efficient to do this BEFORE you load AlarmTSR, although this is not critical. UNINSTALL - Uninstall AlarmTSR This option requests AlarmTSR to uninstall itself. If possible, AlarmTSR will remove itself from memory. If not, you will be warned. Uninstallation of a memory resident program is not always possible if other memory resident programs have been loaded after it, because of the way in which these programs work. Note that you only need to specify as far as "UN" on the command line for uninstallation to be attempted, so you should be careful not to accidentally add an 'N' when using the 'U' (Update) command, otherwise AlarmTSR could be removed unintentionally. Of course, you could always reinstall AlarmTSR without any ill effects. [5.2] FEATURES AND FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~ When used in interactive mode (without command line parameters), the main display screen will appear, listing all the alarm which you have already set. From here, you can move around the alarm list and make additions, changes and deletions as you wish. The two main features of Alarm, apart from its obvious editing features, are the automatic alarm updating and the configuration menu features. Alarm can be set to update the alarm data file automatically (by deleting all alarms which have already passed) every time it is run interactively, with or without prompting. The update feature (Alt-U) in itself is useful since it saves you from having to delete your old alarms manually. The configuration menus (Alt-C) are used to customise the operation of both Alarm and AlarmTSR. Remember that at all times, online help is available by pressing F1. This is often useful for explaining what you are about to do, and in some cases is even mentions shortcuts for certain tasks, which are otherwise undocumented. [5.3] USING THE EDITOR ~~~~~~~~~~~~~~~~ Using the editor itself is quite straightforward and self-explanatory. The best way to figure out how to use the editor is simply to get into it and try things out. For the first few days you should look at the online help (F1) every time you come across something new, since this will give you a much better understanding of the program's operation than any offline documentation is likely to give. [5.4] CONFIGURATION ~~~~~~~~~~~~~ The configuration menus in the editor (Alt-C) are used to customise the program's options and operation. You can adjust colours, display formats and various other parameters from these menus. AlarmTSR is also configured from these menus, in a submenu called "TSR options...". Note that while this is a sub-menu of the configuration menu, the AlarmTSR configuration options are treated separately by the program, and are even saved to separate configuration files. It is important to remember that AlarmTSR only reads its configuration file when it is installed. This means that if you make any changes to AlarmTSR's configuration, you must uninstall and then reinstall it before the new configuration will become effective. If uninstallation is not possible then you will have to reboot your computer. ________________________________________________________________________________ [6] TECHNICAL INFORMATION Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßß This section contains various information about the operation of ALARM. It is provided mainly for the sake of general interest, although it may be used for the development of third party products under certain conditions. See Chapter 6.1 for details. NB! While backward compatibility is usually an issue for software development, the author does not guarantee that any of the information given here is entirely correct, neither does he undertake to maintain these formats in future releases of ALARM. Because it is documented here does not mean it will stay this way! [6.1] THIRD PARTY SOFTWARE ~~~~~~~~~~~~~~~~~~~~ Third party software is considered to be software intended for use with ALARM, but written by some person other than the original author of ALARM. The development and distribution of third party software for ALARM is perfectly acceptable, subject to the following conditions: 1. The third party software is distributed as Freeware, ie: No charge is made for its distribution and use, except to cover media and copying costs. 2. The author of Alarm and its associated programs and files is acknowledged and mentioned in the documentation and/or program. 3. The author of Alarm is notified of the distribution of the third party software package, and is given a copy thereof, free of charge. This need not include the source, but should include the entire distribution package including all documentation. A copy of the source would be appreciated nonetheless. [6.2] COMMUNICATING WITH ALARMTSR ~~~~~~~~~~~~~~~~~~~~~~~~~~~ It is possible for external programs (such as Alarm) to communicate with AlarmTSR via the Int 2D Alternate Multiplex Interrupt. AlarmTSR's ID byte is fixed at D4h. To use any of the functions, load AH with the ID byte (D4h) and AL with the function number. The following functions are available: FUNCTION 0 : Installation Check Input: AX = D400 Return: AL = DD AH = 00h if complete TSR is installed 80h if the tiny TSR is installed (clock only) DH = Major version number DL = Minor version number Note: AlarmTSR v1.02 will report its version number as 1.0 for compatibility with the old ALARM.EXE program. FUNCTION 1 : Uninstall TSR Input: AX = D401 Return: AL = 00 if ok FF if unable to uninstall FUNCTION 2 : Read Alarm Data File Input: AX = D402 Return: AL = 0 if successful, and there is are no more alarms 1 if successful, and a new alarm was installed 2 if an error occurred This function forces the TSR to re-read the alarm data file and update the next alarm. This is intended to be called by the control program when it has made changes. FUNCTION 3 : Disable Current Alarm Input: AX = D403 Return: none This function disables the current alarm if one has been set in the TSR. Function 2 (Read Alarm Data File) may be used to reverse this function. [6.3] THE ALARM DATA FILE : ALARM.ALM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This file contains all the information about the alarms you have set, and is used by Alarm to store the entire database, and by AlarmTSR to read the data for the next alarm to be sounded. Bearing in mind that this is subject to change in future releases of ALARM, the file format is as follows: File offset ³ ÀÄÄ 0 1 86 87 172 ÚÄÄÄÂÄÄÄÄÄ//ÄÄÄÄÄÂÄÄÄÄÄ//ÄÄÄÄÄÂÄÄÄÄÄ//ÄÄÄÄÄÂÄ ³ ³ Record 1 ³ Record 2 ³ Record 3 ³ etc... ÀÄÄÄÁÄÄÄÄÄ//ÄÄÄÄÄÁÄÄÄÄÄ//ÄÄÄÄÄÁÄÄÄÄÄ//ÄÄÄÄÄÁÄ   ³ ÀÄÄÄÄÄÄÄ (86 bytes) One record ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Number of records in file Each record is as follows: Record offset ³ ÀÄÄ 0 1 2 3 4 5 6 85 ÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄ//ÄÄÄÄÄÂ ³ ³ ³ ³ ³ ³ ³ ³ ÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÄÄ//ÄÄÄÄÄÁ        ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄ (80 bytes) Alarm message * ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Minute ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Hour ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Year ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Century ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Month ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ (1 byte) Day of month * Only 48 characters are actually used in the alarm message. The full 80 are permissible, but the "(Press Ctrl-Enter)" message will be overwritten if this is done. [6.4] ALARM CONFIGURATION FILE : ALARM.CFG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This configuration file contains information about the settings for Alarm, the alarm editor. Bearing in mind that this is subject to change in future releases of ALARM, the file format is as follows: Offset Default Description 0 71h Colour of title bar 1 71h Colour of keybar descriptions 2 74h Colour of keybar keys 3 70h Colour of clock 4 1Fh Colour of table lines 5 17h Colour of normal text on table 6 71h Colour of highlighted text on table 7 31h Colour of edit window 8 13h Colour of highlight in edit window 9 6Eh Colour of delete and update windows 10 7Fh Colour of configuration windows 11 3Fh Colour of highlights in configuration windows 12 71h Colour of exit window 13 5Fh Colour of information windows 14 20h Colour of help windows 15 4Eh Colour of error windows 16 00h Time format (0=12-hour, 1=24-hour) 17 00h Auto-update mode (0=Off, 1=Prompt, 2=On) [6.5] ALARMTSR CONFIGURATION FILE : ALARMTSR.CFG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This configuration file contains information about the settings for AlarmTSR, the memory resident module. Remember that this file is only read when AlarmTSR is installed, so if you make any changes to it, you need to uninstall and then reinstall AlarmTSR for them to become effective. Bearing in mind that this is subject to change in future releases of ALARM, the file format is as follows: Offset Default Description 0 14h Hotkey make code 1 94h Hotkey break code 2 04h Hotkey shift mask 3 1Ch Clear alarm key make code 4 04h Clear alarm key shift mask 5 70h Popup colour 6 4Fh Clock colour 7 00h Time format (0=12-hour, 1=24-hour) 8 00h Date format (0=DD/MM/YY, 1=MM/DD/YY) 9-23 "Ctrl-Enter" Clear key description (15 bytes) ________________________________________________________________________________ [7] PROGRAM LIMITATIONS Ü ßßßßßßßßßßßßßßßßßßßßßßßßß For memory allocation purposes, only up to 100 alarms can be handled by Alarm. After this limit, you will not be permitted to add any more. The 100 alarm limit is arbitrarily set, and it is possible to increase this number if required. To do so, you will need to contact the author for a customised version of ALARM. AlarmTSR itself can work with any number of alarms and is not limited to 100, but you should realise that more alarms in the database may cause AlarmTSR to operate slower than normal. The other major limitation, which should be addressed in a future release of ALARM, is that AlarmTSR will only function correctly while your computer is in text mode (mono or colour 80-columns). Before attempting to display the clock/status or any alarm messages, AlarmTSR checks the video mode. If it is found to be anything other than one of the normal text modes, the display will not be permitted. In the case of alarms and error messages, the beep will still be sounded with no accompanying message; in the case of the popup clock/status, a warning beep will be sounded in place of the clock. The inspiration for ALARM came from a similar Windows-based program. Since the author is not a very happy Windows user, a text mode equivalent would have been more appropriate, hence ALARM was conceived. If you are a frequent graphics user, then ALARM is unfortunately not very suited for you. Note that AlarmTSR will work in a DOS text window in Windows, in both fullscreen and windowed modes. So you can still use Alarm in Windows, as long as you have a DOS window open somewhere (and running in background mode if necessary). Be warned, however, that I have had trouble with the popup clock/status not disappearing from a DOS window when the hotkey is released. I haven't been able to find the cause of this apparently random problem yet, but it only occurs in a windowed DOS window, not when you are in full screen mode. ________________________________________________________________________________ [8] SYSTEM REQUIREMENTS Ü ßßßßßßßßßßßßßßßßßßßßßßßßß The following are considered the minimum requirements to successfully run ALARM: þ 80286 microprocessor minimum. þ 3k memory to load the TSR (when resident, uses 2.8k in normal mode or 1.7k in Tiny mode). þ At least 128k memory for Alarm. þ About 110k on your disk (to store the entire distribution package uncompressed - less if you only keep the essential files). þ Text video mode (hopefully autodetects monochrome or colour mode) þ MS-DOS 3.1 or greater (actually, it has only been tested under DOS 5, but there's no reason for not working under v3.1 and later). ALARM has been subjected to work testing on the following system, with favourable results: 386DX-40 512k VGA Quite a bit of DOS memory A whole bunch of hard drive space MS-DOS 5 ________________________________________________________________________________ [9] ACKNOWLEDGEMENTS Ü ßßßßßßßßßßßßßßßßßßßßßß Well, not all of the code in this project is my own work. My special thanks go to the following: þ Owens Consulting and Jeff Owens: ALIB v1.0, Copyright (c) 1994 by Owens Consulting and Jeff Owens (Time and date calculation routines for AlarmTSR) þ Carl Schei: (For various little code bits, especially with regards to beeping the PC speaker in AlarmTSR) Obviously, my copyright cannot cover their work, since they already own their respective copyrights. ________________________________________________________________________________ [10] CONTACTING THE AUTHOR Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßßß If you like this package and have any comments to share, please send me a postcard. Postcards do wonders for my ego, and they're a nice, inexpensive way of acknowledging the work I've put into developing this FREE software. And if you include an Email address then I'll be able to keep you informed about new releases of ALARM. Snailmail: Dale Nurden 14 Willow Crescent Pinetown 3610 South Africa Internet: dalen@goofy.iaccess.za (My apologies to anyone who may have tried to contact me at my old email address, which is obviously no longer in existence.) BBS: Connectix BBS, UserID: Tech (+2731) international, (031) national 2669992-7 (6 lines, 14400-N81) ________________________________________________________________________________