Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
``Exotic'' or ``esoteric'' might better (than Miscellaneous) describe this assortment of programs that perform a WIDE variety of functions. They include DUMP3, a program for the examination of files, CLEAN, which assists in the cleaning of diskettes, to TTD5PT2, a teletype interface for deaf people. This disk includes both documentation and the source code. Also included is a mail-list management program and a specially designed utility program to give you the ability to run programs in two memory partitions. System Requirements: 64K, one disk drive and monochrome display. How to Start: To run an EXE or COM program simply type its name and press <ENTER>. To read DOC files simply enter TYPE filename.ext and pres <ENTER>. Suggested Registration: DUMP3 $5.00; HOTDEMO requests $20.00 for a full working version of HOT-DOS, and USERLOG requests $25.00. File Descriptions: AREACODE EXE Displays phone area codes for different states BG EXE Program to produces batch file with file names BG DOC Documentation for BG system QUIKTIME COM Displays the time in words TDD5PT2 DOC TDD5PT2 documentation TDD5PT2 EXE Teletype interface program - 2 TDD5PT2 ASM Teletype interface program for deaf people HOTDEMO COM Creates two memory partitions for programs HOTDEMO DOC HOTDEMO documentation SYSLOG TXT Older version of USERLOG USERLOG COM Maintains log of usage of system CALPO EXE Appointment generator program CALPO DOC CALPO documentation CLOCK EXE Clock program CLEAN COM Clear discettes program CLEAN DOC CLEAN documentation USERLOG DOC USERLOG documentation PCUTIL COM Various simple PC Utilities DUMP3 EXE Search, dump & maintain files DUMP3 DOC DUMP documentation MAILLIST EXE Mail list management system MAILLIST DOC MAILLIST documentation FATDUMP COM Lists disk files allocation table FATDUMP DOC FATDUMP documentation
DESCRIPTION: The command with which to invoke BG is:- BG [[d:]afn.ft] [options] BG generates a file call NAMES.BAT. It uses the command line to obtain the filename.filetype search mask (afn.ft portion) and also some optional run time parameters. These parameters are used to select the file names off of the specified disk. These selected file names are then sorted into ascending sequence and the user is notified of how many files are selected. At this point a prompt 'Skeleton?' is displayed asking for skeleton line(s) into which the selected file names will be inserted. More than one skeleton line can be given in which case multiple lines are generated for each file name. A null line terminates the skeleton line input phase of the programs operation. Obviously, part of the skeleton can be commands that operate on the file names. Alternatively, BATCH parameters can be included at various points within the skeleton if it is necessary to generate a multi-use .BAT file. SUBSTITUTION FORMULA: During the generation of the .BAT file from the selected file names BG copies the skeleton line(s) to the output file once for every selected name. During this copying process BG looks for occurrences of the substitution character. When found, BG replaces this character with the current filename.filetype. The standard character is the '@' character Special processing is done by BG if the @ character is preceded or followed by a period. This is to allow for the possibility of doing global operations on filetypes or on systems. The algorithm is most easily explained by use of examples. Assume that the current file name is ABC.COM. Thus:- erase @ => erase ABC.COM ;simple case first erase b:@ => erase b:ABC.COM ;another simple case rename @ @.old => rename ABC.COM ABC.old ; . suffix causes fn substitution only dir *.@ => dir * ; . prefix causes ft ; substitution only A secondary substitution character has been provided that functions just as above with one exception, when selecting only fn or ft by specification of a period before or after the substitution character, a leading or trailing period is not written to the output file. The standard secondary substitution character is the '#'. Expanding upon the above example, we have: testpgm #. => testpgm ABC ; no trailing period type # => type ABC.CO ; identical to standard ; substitution character ; if no leading or ; trailing period OPTIONAL EXTRAS: The following options can follow the file name specification if these additional capabilities are desired: (F) This option allows specification of an output file name following the options prompt. If this option is not used, the default output file name is NAMES.BAT. (H) This causes a Header? prompt to be written. It is used to write one or more records to the output file before the body of the file is written using the skeleton definitions. No file name substitution takes place on these header records. A null reply terminates the header record writing process. (L) This option is used to convert all file names to lower case before substitution into the skeleton lines. This option is very useful with the C86 librarian and linker, as they are a bit confused about the case of file names. i.e. The librarian is case sensitive, but the linker is not. (P) This causes the selected filenames to be written followed by a question mark (?) during the selection process. This occurs after selection, i.e. you have the last say. A Y response selects the file while an N response rejects the file. In addition, a B response backs up one entry in the list, a S response skips the rest of the list, and a Q response immediately aborts BG. (T) Similar to the Header option, the trailer option allows one or more records to be written after the body of the file. HELP: BG has a simple help function to jog your memory if you forget how some of the parameters work, it is invoked by typing: BG ? EXAMPLES: Note: In these examples the UPPER CASE represents user input except where obviously not user input. 1. Rename all .BAK files on the default drive to .ASM. C>BG *.BAK Invoke BG BG-...... Normal identifier from BG There are 10 selected files BGs msg Skeleton?RENAME @ @.ASM Refer to substitution rules. Skeleton? Null reply C>NAMES Now do the renames. 2. You are about to undertake the BG v2 project. Rename all existing BG10.* components (DOC, REL, COM, BAT and whatever you have forgotton about) to this new name on the A drive. C>BG A:BG10.* Invoke BG BG-...... Normal identifier from BG There are 7 selected files BGs msg Skeleton?RENAME @ A:BG20.@ Make use of substitution rules Skeleton? Null reply C>NAMES Now do the rename 3. You have to ERASE all your .BAK files on the default drive. You wish to confirm each deletion. C>BG *.BAK P Invoke BG with the P - option BG-...... Normal identifier from BG mast.bak?N BG prompt - reject reply mast.bak?Y Select this one .... etc There are 2 selected files BGs msg Skeleton?ERASE @ Generate the command Skeleton? Null reply C>NAMES Invoke the command. Now, you are ready, CHARGE!
CALPO.EXE Version 2.3 An Appointment Calendar Generator for the IBM PC, XT and clones P. L. Olympia, Ph.D. Darwin Systems, Inc. (301) 963-4003 12/28/83 CALPO.EXE was derived from a public domain program written by Barry Tilds. It produces a desk calendar that begins on any month of any year in the 16th thru the 23rd century and runs for any number of continuous months. A day of any month can have as many as 8 appointments. To use it, you must first create a file of appointments using any text editor like WordStar (use the NON-DOCUMENT mode). Then, all you do is invoke the program by giving its name "CALPO" at the DOS prompt level, e.g., C>calpo The program will ask you for some information regarding the final appearance of your desk calendars. Each question can be answered simply by pressing <RETURN>, if you wish to accept the default values. 1. Fence character (default=|). This is the vertical bar charac- ter used to separate days in a month. Some letter-quality printers do not have this character on the daisywheel. In such a case, use either the colon (:) or the exclamation point (!). 2. Compressed print? (Y/N) - Answer "Y" or "y" if you have an EPSON (IBM) printer and you want compressed print. The default is N(o). 3. Lines per page - This is usually 66 for 8.5 x 11 paper Default=66 4. Columns per line - either 80 or 132 (132 is recommended); although in principle any number between 80-132 is acceptable; Default=132. The program is set to handle a maximum column width of 132 (for now). 5. Appointment File Name - this is the file of appointments that you created previously; its contents is described below. By default, its name is CALENDAR.APT. 6. Name of Month to Start - This is the month where the calendar begins; enter any valid month, e.g., JUNE. The program looks only at the first three letters of the month, so "jun", "June", "JUN" are all equivalent. 7. The Year - e.g., 1983 or, simply, 83. 8. The number of consecutive months - it is OK to have any number of consecutive months even though these may span more than one year; the program knows when to change years; The default number of consecutive months is 1. 9. Number of Copies - the program can produce any number of copies of a calendar in a given run. The default is 1. The program knows all about such things as leap years and the number of days in a given month. Although this program is primarily designed to give you an appointment calendar, you can create ordinary calendars by entering just one dummy appointment in the appointment file. THE APPOINTMENT FILE The appointment file is a text file with any file name you give it, e.g., CALENDAR.APT. It should contain the following lines: Line 1 - Calendar Title (this is reproduced on each calendar page). Do not imbed the string in quotes unless you want the quotes to be part of the title. Line 2 - An appointment, arranged in this way: MM,DD,YEAR,"name of appointment" For example, 06,23,1983,"NBS Micro Conf" 06,19,1983,"Father's Day" The maximum number of appointments on a given day is eight. This could be less if you specify a NUMBER OF LINES PER PAGE less than 60. If you have an appointment description that is longer than 16 characters, the description will be truncated. One way around this is to break up the description into two segments, as though there were two appointments on the same day. For example, instead of: 06,22,1983,"This description will be truncated" you can break it up this way: 06,22,1983,"This description" 06,22,1983,"will be truncated" Line 3 on - repeat line 2 for as many appointments that you have Last Line - 99,99,99,"END" This should always be the last line on an appointment file Here is an example of an appointment file: THIS IS A SAMPLE APPOINTMENT CALENDAR 05,10,1983,"NICOLE'S BIRTHDAY" 05,10,1983,"VISIT DENTIST" 05,10,1983,"1ST COMMUNION" 05,15,1983,"MOTHER'S DAY" 05,28,1983,"MOMMY'S BIRTHDAY" 99,99,99,"END" Enjoy!!!
========================== DUMP - File Dump Utility User's Guide Version 3.0 ========================== Copyright (C) 1985 Nick Richards 1124 S. Main Burlington, NC 27215 DUMP Version 3.00 (c) Copyright 1985 Argan Software; ALL RIGHTS RESERVED Written by Nick Richards DUMP is the copyrighted property of Argan Software. You are granted a limited license to use DUMP, and to copy it and distribute it, provided that the following conditions are met: 1) You may not charge a fee for such copying and distribution. 2) You must distribute DUMP as a complete set of all files. 3) You may ONLY distribute DUMP in its original, unmodified state. This program is being distributed under the Freeware concept where users are urged to distribute this program in original form, not modified in any way, to their friends and other BBS. The author claims no responsibility for any damage either accidental or otherwise through use of this program. The program is provided "AS IS" without warranty of any kind, either expressed or implied. The entire risk as to the quality and compatibility of the program is with YOU. If you use this program and find it of value, any contributions ($5 suggested) will be greatly appreciated and will be used to further develop useful software. Send any contributions to: Nick Richards 1124 S. Main Burlington, NC 27215 ------- D U M P ------- Program to Search, Examine, and Modify Any File INTRODUCTION DUMP allows you to examine the contents of a file. You can also search for data within a file, as well as modify the file's con- tents. Why can't you just TYPE the file? Well, to an extent you can. TYPE will show you what is in the file. What it shows you, however, is often unreadable to the human eye. Files that are compressed and files that contain non-ASCII data will look like a stream of random characters. And, of course, you can't modify that stream of random characters, just look at it. Not very use- ful. What about text processors? Can they do the job? After all, you can modify files with a text processor, can't you? Yes, you can. Again, however, you are often faced with a stream of characters that make no sense to you. Trying to decipher a file is not always easy. Besides, isn't that what computers are supposed to do for you? Here comes DUMP to the rescue! Not only will DUMP allow you to search through the data, not only will DUMP allow you to EASILY modify a file, but DUMP will also present the data to you in an easy-to-understand display. In fact, it will display the infor- mation two different ways, so you can attack the data YOUR way, not just the way somebody else thought you should do so. Have you ever had a file corrupted? Don't worry! DUMP can fix it almost instantly. Program not working right and you suspect the file has wrong data? Relax! DUMP will show you exactly what data is in your file. No more guesswork. DUMP is easy to use and will prove itself invaluable as you work with your computer. HOW TO USE DUMP Format: DUMP [d:]filename[.ext][ O=offset][ S=search][ EOF] Type: Internal External **** Remarks: Specify the parameters: [d:]filename[.ext] to specify the file to be DUMPed. The drive specification [d:] is optional. The ext- ension [.ext] is optional, but if the file has an ext- ension, you must include it when you call DUMP. DUMP does not assume a specific extension. [ O=offset] to specify the byte offset into the file where DUMP is to begin. If O= is not specified, DUMP starts from the beginning of the file. offset can be a number from 0 up to the size of the file in bytes. If offset is not a multiple of 256, it will be rounded down to the nearest multiple of 256. [ S=search] to have DUMP search for the specified string. When the first occurence of that string in the file is found, DUMP stops searching and displays the file contents at that point. If S= is not specified, DUMP will not search for a particular string. search can be any string that does NOT contain a space. DUMP assumes that the first space it encounters after S= marks the end of the search string. [ EOF] to have DUMP jump to the end of the file and display the file contents at that point. EOF will override both O= and S=. Example: The following example DUMPs the file TEST.DAT on drive B. A>dump b:test.dat The following example DUMPs the file MYPROG.BAS start- ing with byte 2560. A>dump myprog.bas o=2560 The following example DUMPs the file DATA starting with byte 1280 and searching for the first occurrence of the string "filename". A>dump data o=1280 s=filename The following example DUMPs the last part of the file RANDOM.TXT. A>dump random.txt eof HOW TO USE DUMP (Continued) DISPLAY FORMAT When DUMP displays the file's contents, it does so in two dif- ferent formats: HEX and ASCII. Each line on the screen displays 16 bytes from the file. There are 16 lines displayed on the screen at once, for a total of 256 bytes on each screen. To make the screen easier to read, the 16 lines are broken into two groups of 8 lines. Each line is divided into two groups of eight bytes. On the HEX part of the screen, the groups are div- ided by a dot. On the ASCII part of the screen, the groups are divided by a double line at the top and bottom of the screen. On the left side of the screen is a column marked OFFSET. The offset numbers tell how far DUMP is into the file. Thus the first line has an offset number of 0 because at the beginning of that line, there are 0 bytes that came before it. The next line has an offset of 16 bytes because at the beginning of that line 16 bytes have already been DUMPed (the first line). At the beg- inning of the third line, 32 bytes have been DUMPed already (lines one and two), etc. Each screen shows 256 bytes, so the first offset number on a screen is a multiple of 256. The HEX part of the screen shows the file bytes in hex format (00 to FF). The ASCII part of the screen shows the ASCII equivalent of each HEX byte. The only exceptions are ASCII characters 0 - 31. These are represented on the screen by a period since their meanings are not clear visually. However, the HEX part of the screen tells you exactly which characters are being displayed, so you can always tell what it is. HOW TO USE DUMP (Continued) ACTIVE KEYS Once DUMP is started, there are several keys you can use: HOME SPACE END UP ARROW ESC DOWN ARROW PG UP INS PG DOWN HOME will cause DUMP to display the beginning of the file. This is a fast way to return to the beginning. UP ARROW will cause DUMP to display the previous screen (the previous 256 bytes). PG UP will cause DUMP to jump back 5 screens (1280 bytes). END will cause DUMP to display the end of the file. This is a fast way to jump to the end. DOWN ARROW will cause DUMP to display the next screen (the next 256 bytes). PG DOWN will cause DUMP to jump forward 5 screens (1280 bytes). SPACE will start DUMP scrolling through the file at a steady speed. To stop the scrolling, hit the space bar again. Once scrolling begins, the only keys that are active besides the space bar are the numeral keys 1 - 9. These cause the scrolling to speed up or slow down with 1 being the slowest and 9 being the fastest. The current speed is displayed at the bottom of the screen. Please note that the preceding keys are only active at certain times. Thus if you are at the beginning of the file, UP ARROW or HOME or PG UP will not go any farther. Similarly, if you are at the end of the file, DOWN ARROW, END, and PG DOWN will take you no farther. When a key is not currently active, the key message will disappear from the screen and hitting that key will have no effect. In addition, the RIGHT ARROW and LEFT ARROW keys can also be used if you started DUMP with the S= option. S= will show you the first occurrence of the search string. Hitting the RIGHT ARROW key will show you the next occurrence, if any. Hitting the LEFT ARROW key will show you the previous occurrence, if any. These keys can be used repeatedly until you come to the end or begin- ning of the file. However, if you did not specify S=, neither the RIGHT ARROW or LEFT ARROW key will have any effect. ESC will exit from DUMP at any time except when scrolling or when in MODIFY mode (see below). HOW TO USE DUMP (Continued) MODIFY MODE INS will cause DUMP to enter MODIFY mode. The screen will change slightly as follows: The only special keys that will be active are INS (to leave MODIFY mode) and F9 (to write any modifications to the file in order to permanently save them). In addition, the cursor will appear as a large blinking box in the upper left corner of the HEX part of the screen. In MODIFY mode, you can overwrite any of the 256 bytes on the screen by typing over them. You can do this either by typing the hex codes if you are in the HEX part of the screen, or by typing the ASCII characters if you are in the ASCII part of the screen. To move from one part of the screen to the other, hit the TAB key. As you begin typing, your modifications will appear on the screen highlighted. This means that your modifications are not yet being saved to the file itself. To do this, hit F9. Any changes you made will now be permanently stored in the file and your changes will no longer appear highlighted. If you leave MODIFY mode before you hit F9, the changes will not be saved and the screen will be restored to the previous values. When you are finished making modifications, hit F9 to save the changes (if you want them saved) and hit the INS key to return to normal DUMP mode. You can then DUMP the next screen, hit INS to enter MODIFY mode and modify the next screen, if you want. 985 ight author. CED IS INTENDED FOR YOUR PRIVATE, NONCOMMERCIAL USE ONLY. You may make copies of the ced program and documentation files for your own use, and you may copy the files for others. You may not, however, charge for such copies, or in any other way sell the program or otherwise attempt to make money from it or any modified version of it. Please. An exception to the above is, however, granted to recognized
FATSTUFF The two utilities in this library perform functions that list the contents of the disk's file allocation table. FATDUMP.COM File allocation table dump. "DUMB". Assumes sector 1 is a FAT, assumes FATs are 12 bits. Stops after 4096 fats. Use Ctrl-S then Ctrl-C to stop sooner. use: Fatdump drive:opt'l start sector for 2nd fat
--------------------------------------------------------------------------- Disk No 504 MISCELLANEOUS UTILITIES V1 DS2 --------------------------------------------------------------------------- This diskette contains an assortment of programs that perform a variety of functions. They include programs for the examination of files, the clearing of diskettes to a teletype interface for deaf people, a maillist program and the ability to run programs in two memory partitions. AREACODE EXE Displays phone area codes for different states BG DOC Documentation for BG system BG EXE Program to produces batch file with file names CALPO DOC CALPO documentation CALPO EXE Appointment generator program CLEAN DOC CLEAN documentation CLEAN COM Clear discettes program CLOCK EXE Clock program FATDUMP DOC FATDUMP documentation FATDUMP COM Lists disk files allocation table MAILLIST DOC MAILLIST documentation MAILLIST EXE Mail list management system DUMP3 DOC DUMP documentation DUMP3 EXE Search, dump & maintain files PCUTIL COM Various simple PC Utilities USERLOG DOC USERLOG documentation USERLOG COM Maintains log of usage of system SYSLOG TXT Older version of USERLOG TDD5PT2 DOC TDD5PT2 documentation TDD5PT2 ASM Teletype interface program for deaf people TDD5PT2 EXE Teletype interface program - 2 HOTDEMO DOC HOTDEMO documentation HOTDEMO COM Creates two memory partitions for programs QUIKTIME COM Displays the time in words PC-SIG (Software Interest Group) 1030 East Duane Avenue, Suite D Sunnyvale, CA 94086 (408) 730-9291
*** HOT-DOS *** Demonstration Version 1.04D Copyright (C) 1985 Robert Best The following documentation describes the operation of HOT-DOS, a small but powerful program that, with the press of the LEFT-SHIFT -- RIGHT-SHIFT combination, allows any currently executing program to be temporarily suspended so that a second copy of COMMAND.COM can be loaded and run in the background (the aptly named HOT-DOS partition.) To load HOT-DOS simply type HOTDEMO at the DOS prompt. From that point on, any simultaneous pressing of the LEFT-SHIFT -- RIGHT-SHIFT keys will automatically save the entire current state of the operating system, followed by the execution of a newly loaded command processor. It's like having two computers in one! To return to your primary application, type EXIT at the DOS prompt. That is all you need to know to use this program! Let me emphasize that this Demonstration Version of HOT-DOS has purposely been severely limited in its capabilities. I will briefly mention the limitations, followed by a thorough discussion of the full capability available in the authorized version. ** SIDEKICK COMPATIBILITY ** The demonstration version of HOT-DOS is not compatible with Sidekick (tm). To use Sidekick (tm) with HOT-DOS you must obtain the authorized version. The authorized version has been thoroughly tested with Sidekick (tm), and appears to function flawlessly. This combination of resident programs creates an extremely powerful environment. Serious users of Sidekick (tm) will wonder how they managed without a HOT-DOS capability. ** USER CONFIGURABLE PARTITION SIZE ** The demonstration version of HOT-DOS uses the minimum partition size required to load COMMAND.COM. This will allow users to load and execute any application program using less than approximately 20K. This size is sufficient for most DOS commands, but will not support most applications. The authorized version of HOT-DOS allows the user to set the size of the partition at load time. This feature makes it possible to configure your memory allocation to suit any particular requirements. The size of the HOT-DOS partition can be set anywhere from 20K to the limit of RAM installed in the user's machine. ** USER CONFIGURABLE DRIVE SPECIFICATION ** The demonstration version of HOT-DOS uses the A: drive to search for COMMAND.COM. A copy of COMMAND.COM must be included in the root directory of a diskette inserted in drive A: for the program to properly load and execute. The authorized version of HOT-DOS allows the user to specify the drive to be searched for COMMAND.COM. This feature allows COMMAND.COM to be accessed from the root directory of any drive configured on the system. I personally recommend accessing from a RAM disk for virtually instantaneous loading of the HOT-DOS environment. ** AUTOMATIC DISPLAY DETERMINATION ** The demonstration version will automatically determine which display adapter (monochrome or color/graphics) is currently being used, and will load the HOT-DOS environment using this display. HOT-DOS has only been tested on IBM compatible standard monochrome and IBM compatible standard color/graphics adapters. It has not been tested on EGA or Hercules display cards. I cannot vouch for its compatibility using either of these options. ** USE BOTH SCREENS ** The demonstration version has been designed to run on only one screen. For users having both the IBM monochrome and IBM color/graphics or compatible displays available, the authorized version of HOT-DOS includes a valuable feature that automatically loads the HOT-DOS environment on the display that is NOT currently active. This allows the user to refer to data on the primary screen while running HOT-DOS on the other screen. The user maintains the option of switching screens at any time in either environment. Upon EXIT, HOT-DOS will restore the primary environment exactly as it was executing prior to activating HOT-DOS. ** GRAPHICS SUPPORT ** The demonstration version of HOT-DOS does not support any of the graphics modes available using the IBM color/graphics adapter. If a primary application is running a graphics display application, the screen will not be restored properly upon EXIT from HOT-DOS. The authorized version of HOT-DOS will restore any graphics mode screen upon EXIT from HOT-DOS at the expense of an additional 12K RAM required for use as a buffer. ** IMPORTANT NOTE REGARDING USE OF HOT-DOS DEMONSTRATION PROGRAM ** As is evident in the preceding documentation, the HOT-DOS Demonstration Program has been designed to give the user a taste of the enormous capability provided by HOT-DOS without offering the full benefits available with the authorized version. As a further limitation in the Demonstration version, you will be allowed only THREE opportunities to escape to the HOT-DOS environment after any boot of the system. After three accesses, the HOT-KEY (LEFT-SHIFT -- RIGHT-SHIFT combination) will be disabled. The potential user of HOT-DOS is encouraged to thoroughly test the Demonstration version to adequately determine whether it will run compatibly on their system configuration. During the testing of HOT-DOS, I have discovered several preventable problems and have provided the following solutions: 1) Do not load any RESIDENT application in the HOT-DOS environment. Doing so will surely destroy the integrity of the DOS memory allocation chain. 2) Do not load any application that will overlay without checking for the top of memory location stored in the Program Segment Prefix. A program that overlays above the top of available memory (in the HOT-DOS partition) will overwrite the memory chain block of the primary application, not to mention the PSP and part of the primary application itself! 3) Do not load BASIC in the HOT-DOS environment if BASIC is currently suspended in the primary environment. 4) If you mistakenly type EXIT at the DOS prompt in the primary environment, immediately run a CHKDSK on any drive configured in your system. For some reason, running a CHKDSK avoids problems that occur if you type EXIT in the primary environment and then immediately escape to HOT-DOS. This problem has not been traced, but seems to be a bug in the DOS EXIT command. To obtain immediate shipment of an authorized copy of ** HOT-DOS ** send cashiers check or money order made payable to ROBERT BEST in the amount of $20.00 (California residents $21.20 including 6% sales tax) to: Robert Best 13681 Dall Lane Santa Ana, CA 92705 Personal checks will be accepted but shipment will be delayed pending the clearing of the check. ** HOT-DOS LICENSING AGREEMENT ** The HOT-DOS Demonstration Program is copyrighted material intended for use in unaltered form. The user is encouraged to freely distribute the Demonstration version of HOT-DOS provided that it has not been altered in any way. Distribution of either an original or altered copy of the authorized version of HOT-DOS or an altered version of the HOT-DOS Demonstration Program is a violation of copyright. The program is provided "AS IS" without any warranty of any kind. Should the program prove defective, the user shall assume the entire cost of all necessary servicing, repair or correction. Site licensing of the authorized version of HOT-DOS is available by arrangement with Robert Best. The authorized version of HOT-DOS is intended for use on a single machine. Making copies for use on other machines represents a violation of this licensing agreement.
STEPS IN OPERATING PROGRAM MAILLIST ( .EXE VERSION ) 1. Load DOS 1.1 2. Run program - Just type in MAILLIST and MAILLIST.EXE will load and run 3. Respond to the following question - Does the mail list reside/or is to reside on Drive A or B? Type either A or B. 4. Then a menu of six items will be presented on the screen. NOTE: If the mail list file is new, the program will immediately transfer to the ADD ADDITIONAL ENTRY portion and will not display the main menu. DO NOT remove the data disk until the program terminates and returns to P.C. DOS or data will be lost. The mail list program is broken down into six options: A. List mail list on the CRT B. List the mail list on the line printer C. Edit mail list D. Add additional entries E. MicroPro mailmerge interface F. Terminate mail list program (return to PC DOS) WILD CARD USAGE Wild cards may be used in item 7, option A; option C; and option D, listed above. The wild card character is the asterisk (*). The wild card may be used when you are unsure of the name of the individual you wish to list on the CRT or edit. All characters that follow the asterisk are ignored.If the asterisk is used in the last name, the first name of the individual will never be requested. The asterisk may be used in the last name field or the first name field. In option D, the wild card duplicates the same field of the previous entry. For example, if the previous "city entry" were LOS ANGELES, depress the asterisk in the city field and LOS ANGELES will be displayed on the CRT and inserted in the record. This can be done in any of the specified fields when a field of a previous entry is to be duplicated. MINIMUM SYSTEM REQUIREMENTS: 1. I.B.M. P.C. with 96K of memory 2. 160k byte disk drive 3. I.B.M. line printer or equivalent 4. DOS 1.1 Note: The equivalent line printers to the I.B.M. line printer would be the Epson MX-80 or Epson MX-100. SORT CODE - User defined field This field can contain upto five characters composed of upper and lower case letters and numbers. There are three ways to use this field: 1. As a sort option - The entire field is used as a single variable. The user may use up to five characters in this field. For example: all doctors could be designated "doc". 2. As an extraction option used with sort options 2, 4, 5, and 6. Each character in the field is a specific user defined catagory. See option A ( LIST MAIL LIST ON CRT ). 3. As an index to the nineteen possible mailmerge interface op tions. ( OPTION E - MAIL MERGE INTERFACE ) Note: If you use both options 2 and 3, it would be advisable to restrict the usage of capital letters A thru I and numbers 0 thru 9 for use with option 3 to avoid the possibility of option interference since option 3 ( MAILMERGE INTERFACE ) uses the last printable character to determine the format of output. OPTION A - LIST MAIL LIST ON CRT presents a menu of seven items: 1. no sort/no extract 2. sort on name 3. sort on sort code (full field) 4. sort on zip code 5. sort on area code 6. sort on company name 7. list individual entry If you choose item 1, your entire file will be listed in the order that it was entered. If you choose items 2-6, your file will be sorted as the name of the item indicates. If items 2-6 are chosen, then an additional question will be asked: Do you wish to list the entire sorted file or extract a portion of the file? If you choose to extract a portion of the file, you must give a start and stop string. In other words, you must type the upper and lower limits for your output. For example, if you sorted on the ZIP CODE, you may define the start string as 92 and the stop string as 98. Then any person's record which resides within this zip code range will be listed. A sub-sort is performed in items 3-6 according to the name. A special extraction feature is built into the sort code for options 2,4,5, and 6. The user may designate each character position within the sort code to represent a chosen catagory. Each character is specific. Upper and lower case letters and single digit numbers may be used to represent different catagories. This means that a total of sixty-two possible catagories are available of which five may be used for each name. For example, you may designate a sort code as ABC12 in which each letter and number stands for a user defined catagory. If you input to the program that you wish to extract ZA5, then anyone who has a Z or an A or a 5 in any position in his sort code will be listed on the CRT, as long as other conditions have been met. If you choose item 7, you will be asked to input the last name of the individual entry followed by the first name (see wild card explanation). You may wish to use this item as a personal telephone directory. OPTION B - LIST ON THE LINE PRINTER The exact same menu as was presented in OPTION A except for item 7, LIST MAIL LIST ON CRT, will be presented with one additional ques tion: Do you wish listings or labels? If you choose labels, then the list will be presented on labels with the following dimensions; single column, 3 1/2 inches by 15/16 of an inch. You will also be asked if you wish the labels to be centered or blocked. An additional question will be asked if you wish the company name or the individual's name to be first on the label. A final question will be asked concerning the number of labels per entry. If you choose the list option, the printout on the line printer will be presented in the form of three entries per row and six rows per column for a total page count of eighteen entries. OPTION C - EDIT MAIL LIST You will first be asked to input the last name of the person's record whom you wish to edit, followed by the first name of the person's record to edit. If this entry is found, you will be asked if this is the correct entry to edit since it is possible for two or more people to have the same name. If it is the correct entry, you will be asked if you wish to delete the entry. If the response is affirmative, you will be asked, ARE YOU SURE? If the entry is de leted, a hole is made in the file which will be filled by an addi tional entry. If the entry is not deleted, you will have the option of changing any or all parameters in the following manner. By moving the cursor with the keypad controls to the entry on the screen, you may perform the following functions: 1. Overwrite what is there 2. Press insert on the keypad control and insert characters. NOTE: An entry other than an alphanumeric character will terminate the insert. If field overflow occurs while you are in this mode, the trailing characters which disappear on the screen are lost. 3. Delete the character over the cursor. Deletion is performed by using the delete on the key pad control. NOTE: It is very important not to depress the enter or the escape key until all entries are correct since that will terminate the edit. You can only edit the mail list parameters. Boundry conditions are checked so no over flow can occur between the fields. If you are editing the telephone number, the area code is considered a single field, the three digit prefix is considered a single field, and the four digit suffix is a single field. You may make as many changes as you wish but once the enter or escape key is depressed, that edit is complete. What is displayed on the CRT is exactly what is stored in the file. You will notice a slight hesitation between the time you depress a character on the keyboard and when the character is prese nted on the CRT. This is normal due to the loop time of the edit. OPTION D - ADD ADDITIONAL ENTRIES If the mail file is new, the program will automatically enter this option without presenting the main menu. A list of all the mail list parameters will be displayed on the CRT. You may enter characters wherever the cursor is positioned by the program. NOTE: If the entire field is filled, the cursor will automatically be moved to the next field. Do not press the enter or escape key if the field is full or you will skip the next field. If the field is not filled, then you must either press the enter key or the escape key to jump to the next field. If a character is typed erroneously, you may use the backspace to change that character. The fields are shaded so you may see the relative position of the characters to the field. When all fields have been entered or skipped, you will be asked if the entries are correct. If you indicate that an entry is in error, the program will transfer to the edit mode and will permit the record to be edited prior to writting the record to the disk. NOTE: Use the same controls to edit as in option C, EDIT MAIL LIST. Upon completion of the edit you may proceed to the next entry. However, termination of the ADD ADDITIONAL ENTRY is performed by depressing either the escape key or the enter key prior to typing any character in the LAST NAME ENTRY. Character verification is performed while you are typing individual entries. For example, no number can appear in a name nor can a letter appear in a telephone number. If you do press the wrong key, the character will be ignored and it will not be presented on the CRT. A control B (^B) will back you up to the previous field. OPTION E - MAIL MERGE INTERFACE The mail merge file is determined by the user as any file name may be used. The user, also, has the option of determining which disk drive to write the file to. The exact same menu as was presented in OPTION A, LIST MAIL LIST ON CRT, will be presented with the exception of item 7. All sort op tions and extract options are available to the user. There are nineteen (19) different possible mail merge type of address entries available. These entries are determined by the LEAST SIGNIFICANT PRINTABLE CHARACTER in the SORT CODE. An example of an option entry would be: sort code= ABC12. Then the option entry would be 2. An other example would be: sort code=AA. Then the option entry would be A. Digits 0 thru 9 and letters A thru I are used in the selection of the format for the individual entry. If the program does not find a match, it will default to code 0. Please note that options A thru I are capital letters and not lower case. If lower case letters are used, no match will occur and the program will default to code 0. The codes are as follows: 0 CN,ADDR,CITY-STATE,ZIP CODE,MR. LAST NAME 1 CN,ADDR,CITY-STATE,ZIP CODE,MS. LAST NAME 2 CN,ADDR,CITY-STATE,ZIP CODE,MRS. LAST NAME 3 CN,ADDR,CITY-STATE,ZIP CODE,MISS LAST NAME 4 CN,ADDR,CITY-STATE,ZIP CODE,FIRST NAME 5 ADDR,CITY-STATE,ZIP CODE,MR. LAST NAME 6 ADDR,CITY-STATE,ZIP CODE,MS. LAST NAME 7 ADDR,CITY-STATE,ZIP CODE,MRS. LAST NAME 8 ADDR,CITY-STATE,ZIP CODE,MISS LAST NAME 9 ADDR,CITY-STATE,ZIP CODE,FIRST NAME A FN-MI-LN,ADDR,CITY-STATE,ZIP CODE,MR. LAST NAME B FN-MI-LN,ADDR,CITY-STATE,ZIP CODE,MS. LAST NAME C FN-MI-LN,ADDR,CITY-STATE,ZIP CODE,MRS. LAST NAME D FN-MI-LN,ADDR,CITY-STATE,ZIP CODE,MISS LAST NAME E FN-MI-LN,ADDR,CITY-STATE,ZIP CODE,FIRST NAME F CN,ADDR,CITY-STATE,ZIP CODE,GENTLEMEN G CN,ADDR,CITY-STATE,ZIP CODE,MESDAMES H CN,ADDR,CITY-STATE,ZIP CODE,SIR I CN,ADDR,CITY-STATE,ZIP CODE,MADAM CN Company name FN First name LN Last name ADDR Street address MI Middle initial Note that formats 0 thru 4 and formats A thru I use the same Mail Merge format while formats 5 thru 9 use a different Mail Merge format. The interface file is attached to the WordStar/MailMerge letter by the .DF directive. Formats 0 thru 4 and A thru I are described by the .RV COMPANY,ADDR1,ADDR2,ADDR3,NAME directive while formats 5 thru 9 are described by the .RV ADDR1,ADDR2,ADDR3,NAME directive. Please refer to your WordStar Mailmerge manual for further explana tion. WordStar and Mailmerge are copywritted programs from MicroPro Corporation. OPTION F - TERMINATE MAIL LIST PROGRAM- You will be returned to PC DOS. The mail list is composed of the following fields: 1. Up to eighteen characters describing the last name 2. Up to twelve characters describing the first name 3. One character for the middle initial 4. Up to seventeen characters for the company name 5. Up to twenty six characters for the street address 6. Up to four characters for the apartment number 7. Up to twenty characters for the city name 8. Two characters for the state 9. Five characters for the zip code 10. Four characters for the zip extension (not yet implemented by the postal authority) 11. Up to five characters for the user defined sort code 12. Three characters for the telephone area code 13. Three characters for the telephone prefix 14. Four characters for the telephone suffix 15. Up to four characters for the telephone extension SUMMARY OF AUTOMATIC FEATURES 1. Use of wild cards (*) 2. Method of editing 3. Highlighting 4. Visual messages 5. Multiple methods of sorting and extraction 6. Requires only one file to contain entire mail list. No other file will ever be generated (except for the mailmerge file). 7. The mail list file may reside on either drive A or B 8. The Mailmerge file may reside on either drive A or B and may be any name of your choice. Alpha Computer Service P.O. Box 2517 Cypress, California 90630 and may be any name of your choice. Alpha Computer Service P.O. Box
Program name: Assorted Programs - details below Author name: Multiple authors Program Description: 1. CALPO Ver 2.3 Appointment generator program with a maximum of 8 appointments per day. Author: P.L. Olympia , Darwin Systems Inc. , Ph. 301-963-4003 2. BG Generates a batch file with file names of selected files. 3. CLEAN Clears diskette for preventive maintenance of drive. Author: Marty Smith, 310 Cinnamon Oak Lane, Houston, Texas 77079 Phone : 713-661-1241 4. FATDUMP Lists disk files allocation table 5. MAILLIST Maintain, sort & print mailing list. Needs 96K memory & 160K drive. Author: Alpha Computer Service. PO Box 2517, Cypress, CA 90630 6. DUMP3 Version 3 Search, dump & examine a file. Suggested donation $5.00 Author: Nick Richards, 1124 S.Main, Burlington, N.C. 27215 7. USERLOG Version 1.0 Tracks the usage of the system. Needs 64K RAM and DOS 1.0 or above. Suggested Donation $ 25.00 Author : Chris E. Lindberg, 5221 W. Washington Blvd., Milwaukee Il 53208 8. TDD5PT2 PC works as a Teletype device for deaf people with interface to phone. Author: John Spalding, c/o Handicapped Educational Exchange, 11523 Charlton Drive, Silver Spring, MD 20902 Phone : 301-593-7033 9. HOTDEMO Allows the use of two memory partitions for different programs. Uses the SHIFT keys for control. Suggested donation $ 20.00 Author: Robert Best, 13681 Dall Lane, Santa Ana, CA 92705 10. AREACODE Displays the phone area code for any state. 11. QUIKTIME Displays the time in words.
The SYSLOG system on this disk has been replaced by the USERLOG system which is preferable.
TITLE TDD VERSION 5.2 BY JOHN W. SPALDING PAGE 62,132 ;This program allows an IBM PC to be used as a Telecommunications Device for ;the Deaf (TDD). The cassette port of the PC must be coupled to the telephone ;line by a modified telephone amplifier or other suitable means. Note that ;the modem function is provided by this program, not the coupling device. ; ;The cassette port pinouts, as described in the PC Technical Reference ;Manual from IBM are as follows: ; ; 1 and 3: Relay contacts normally used for cassette motor control. ; TDD5 closes them at startup, opens them when it ends. Could ; be used to control on/off hook in your coupler. Possible ; future use for pulse dialing. ; ; 2: Ground. ; ; 4: Data in (received data) rated at +/- 13v max. ; ; 5: Data out (transmitted data) rated at .075 vdc, may ; be jumpered to .68vdc ; ;NOTE: This version is coded to produce an .EXE file to simplify installation. ;The following commands should be issued to assemble and link the program: ; ; MASM TDD5; ; LINK TDD5; ; ERASE TDD5.OBJ ; ;The the uppercase letter keys on the keyboard are mapped to their ;corresponing TTY FIGS characters, for example, you can send "#" by ;typing SHIFT-H or by typing "#". Linefeeds may be sent by typing ;CTRL-J, however the program will insert them automatically as needed. ; ;Type "TDD5" to run the program, type CTRL-Break to end it. ;8253 COUNTER/TIMER EQUATES TIMER_MODE EQU 43H ;PORT TO WRITE MODE WORD TIMER_0 EQU 40H ;TIMER 0 FOR XMIT/RECV TIMING TIMER_2 EQU 42H ;TIMER 2 FOR CARRIER GENERATION TIMER_0_MODE EQU 00110110B ;MODE WORD FOR TIMER 0 TIMER_2_MODE EQU 10110110B ;MODE WORD FOR TIMER 2 NEW_TIMER_TICK EQU 305 ;GENERATE TICKS AT 3912 HZ BAUD_RATE EQU 86 ;22 MILLISECONDS SEND_TIMEOUT EQU 3912/2 ;ABOUT A HALF A SECOND RECEIVE_TIMEOUT EQU 3912*3/4 ;ABOUT 3/4 SECOND SPACE_TONE EQU 663 ;1800 HZ SPACE MARK_TONE EQU 852 ;1400 HZ MARK ;CASSETTE PORT EQUATES PPI_B EQU 061H ;8255 PPI PORT B T2_GATE EQU 01H ;SET ON TO GATE TIMER 2 OUTPUT SPEAKER_DATA EQU 02H ;SET ON TO TURN ON SPEAKER MOTOR_OFF EQU 08H ;BIT OFF TO ENABLE CASSETTE CIRCUIT PPI_C EQU 062H ;8255 PPI PORT C CASS_DATA_IN EQU 10H ;SAMPLE CASSETTE INPUT CASS_SHIFTS EQU 4 ;BITS TO SHIFT LEFT TO GET CASS DATA ;8259 PROGRAMMABLE INTERRUPT CONTROLLER EQUATES INT_CONTROL EQU 20H ;PORT ADDRESS OF 8259 EOI_COMMAND EQU 20H ;END OF INTERRUPT COMMAND ;DEFINE THE INTERRUPT VECTORS WE'LL USE: ABSOLUTE_ZERO SEGMENT AT 0H ORG 4*08H ;TIMER_INT IS INT 08H TIMER_INT DD ? ORG 1BH*4 ;CTRL-BRK INTERRUPT VECTOR BRK_INT DD ? ABSOLUTE_ZERO ENDS PAGE CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE,SS:NOTHING BANNER DB 'TDD Version 5.2 (IBM PC)' DB 13,10,'by John W. Spalding' DB 13,10,10,'Ctrl-Break to exit',13,10,10,'$' SHIFT_REG DB 0 ;INCOMMING SIGNAL SHIFTED IN HERE OUR_CLOCK DW 0 ;INCREMENTED AT 1909 HZ SYSTEM_CLOCK DW 0 ;TO GENERATE 18HZ TICKS FOR SYSTEM SAVE_PPI_B DB ? ;ORIGINAL CASSETTE PORT SETTINGS TIMER_SAVE DD ? ;ORIGINAL TIMER INTERRUPT VECTOR BREAK_SAVE DD ? ;ORIGINAL BREAK KEY INTERRUPT SHIFT_STATUS DB 40H ;FIGS, LTRS STATUS OF SCREEN/KEYBOARD FIGS_SHIFT EQU 20H ;CURRENTLY IN FIGS SHIFT, OFF=LTRS SHIFT FORCE_SHIFT EQU 40H ;SEND FIGS/LTRS FOR NEXT CHARACTER LAST_CHAR DB 0 ;LAST CHAR SEND -- USED TO FORCE LF IF REQ'D HOLD_CHAR DB 000H ;HOLD BAUDOT CHARACTER FOR KEYBOARD ROUTINE CANCEL DB 0 ;SET TO 0FFH BY BREAK INTERRUPT TABLE_BAUD_ASC DB 8,'E',10,'A SIU',13,'DRJNFCK' ;LETTERS DB 'TZLWHYPQOBG',0A0H,'MXV',80H DB 8,'3',10,'- ',7,'87',13,'$4',27H,',!:(' ;FIGURES DB '5")2#6019?&',0A0H,'./;',80H CODE_FIGS EQU 1BH ;BAUDOT CODE FOR FIGS SHIFT CODE_LTRS EQU 1FH ;BAUDOT CODE FOR LTRS SHIFT CODE_LF EQU 02H ;BAUDOT CODE FOR LINE FEED CODE_CR EQU 08 ;BAUDOT CODE FOR CARRIAGE RETURN ;IN THE FOLLOWING TABLE, BIT7=1 IS NO BAUDOT EQUIV, BIT6=1 MEANS EITHER SHFT ;BIT5=1 MEANS MUST BE FIGS SHIFT. ; 0 1 2 3 4 5 6 7 ; 8 9 A B C D E F TABLE_ASC_BAUD DB 80H,80H,80H,80H,80H,80H,80H,25H ;00H-07H DB 40H,80H,42H,80H,80H,48H,80H,80H ;08H-0FH DB 80H,80H,80H,80H,80H,80H,80H,80H ;10H-17H DB 80H,80H,80H,80H,80H,80H,80H,80H ;18H-1FH DB 44H,2DH,31H,34H,29H,80H,3AH,2BH ;20H-27H DB 2FH,32H,80H,80H,2CH,23H,3CH,3DH ;28H-2FH DB 36H,37H,33H,21H,2AH,30H,35H,27H ;30H-37H DB 26H,38H,2EH,3EH,80H,80H,80H,39H ;38H-3FH DB 80H,23H,39H,2EH,29H,21H,2DH,3AH ;40H-47H DB 34H,26H,2BH,2FH,32H,3CH,2CH,38H ;48H-4FH DB 36H,37H,2AH,25H,30H,27H,3EH,33H ;50H-57H DB 3DH,35H,31H,80H,80H,80H,80H,80H ;58H-5FH DB 80H,03H,19H,0EH,09H,01H,0DH,1AH ;60H-67H DB 14H,06H,0BH,0FH,12H,1CH,0CH,18H ;68H-6FH DB 16H,17H,0AH,05H,10H,07H,1EH,13H ;70H-77H DB 1DH,15H,11H,80H,80H,80H,80H,40H ;78H-7FH END_MSG DB 13,10,10,'+++ TDD5 ENDED +++',13,10,10,'$' BEL_MSG DB '<BEL>$' ;SUBSTITUTED FOR ^G (07H) SIG_SW DW OFFSET $ ;INDICATES <SIGNAL> OR < > WRITTEN SIG_REG DB 0 ;SLOW SHIFT REG FOR RING/BUSY SIG_CLK DB 0 ;LOCAL CLOCK FOR RING/BUSY TESTS SIG_ON DB '<SIGNAL>$' ;LEGEND TO INDICATE A SIGNAL SIG_OFF DB '< >$' ;LEGEND TO INDICATE NO SIGNAL PAGE MAIN_ENTRY: XOR AX,AX ;PUSH A RETURN ADDRESS PUSH DS ;AND SET UP SEGMENTS PUSH AX MOV AX,CS MOV DS,AX MOV ES,AX CALL CLR_SCRN ;CLEAR THE SCREEN AND ... MOV DX,OFFSET BANNER ;PRINT HELLO MESSAGE CALL PRINT_STRING CALL TIMER_INIT ;SET UP INTERRUPT VECTORS ;MAIN LOOP -- ONCE XMIT/RECV BEGINS STAY IN THAT MODE FOR GIVEN TIMEOUT. ;THE CALLED ROUTINES RETURN OR EXPECT A BAUDOT CHARACTER CODE IN AL RECEIVE1: CALL RECEIVE_TTY ;TRY TO RECEIVE A CHARACTER JZ TRANSMIT1 ;NONE RECEIVE2: CALL PRINT_BAUDOT ;PRINT THE CHARACTER MOV OUR_CLOCK,0 ;SET TIMEOUT RECEIVE3: CALL RECEIVE_TTY ;TRY TO RECEIVE ANOTHER CHAR JNZ RECEIVE2 CMP OUR_CLOCK,RECEIVE_TIMEOUT ;CHECK TIMEOUT JC RECEIVE3 ;TRY UNTIL EXPIRED TRANSMIT1: OR SHIFT_STATUS,FORCE_SHIFT ;SEND SHIFT ON 1ST CHR CALL GET_BAUDOT ;TRY TO READ THE KEYBOARD JZ SIGNAL1 ;NO, LOOK FOR RING/BUSY TRANSMIT2: CALL TRANSMIT_TTY ;SEND THE CHARACTER MOV OUR_CLOCK,0 ;SET TIMEOUT TRANSMIT3: CALL GET_BAUDOT ;LOOK FOR ANOTHER CHARACTER JNZ TRANSMIT2 ;SEND IT IF ANY CMP OUR_CLOCK,SEND_TIMEOUT ;CHECK TIMEOUT JC TRANSMIT3 ;TRY UNTIL EXPIRED CALL CARRIER_OFF ;TURN OFF CARRIER JMP RECEIVE1 ;AND ENTER RECEIVE MODE SIGNAL1: CALL SIG_TEST ;GO TEST FOR RING/BUSY CMP CANCEL,0 ;BRK KEY PRESSED JZ SHORT RECEIVE1 ;NO MOV CANCEL,0 ;RESET SW FOR DEBUG ;CTRL_BRK KEY WAS PRESSED FINISH_UP: CALL TIMER_QUIT ;CLEAN UP VECTORS AND TIMERS MOV DX,OFFSET END_MSG ;PRINT ENDING MESSAGE CALL PRINT_STRING DUMMY1 PROC FAR RET ;SHOULD BE A FAR RETURN HERE DUMMY1 ENDP PAGE ;BREAK KEY INTERRUPT ROUTINE BREAK_KEY: MOV CS:CANCEL,0FFH ;SET THE FLAG IRET ;AND RETURN ;RECEIVE A TTY CHARACTER. RECEIVE_TTY: MOV AL,SHIFT_REG ;LOOK FOR CARRIER TONE CMP AL,01010101B JZ HAVE_CARRIER ;FOUND START BIT (SPACE) SHL AL,1 ;START WITH 01 OR 10? JO RECEIVE_TTY ;YES, STILL POSSIBLE XOR AL,AL ;SET ZERO FLAG AND AL=0 RET HAVE_CARRIER: MOV OUR_CLOCK,0 ;RESET THE CLOCK START_WAIT: CMP OUR_CLOCK,BAUD_RATE+BAUD_RATE/8 JC START_WAIT ;DELAY TO 1ST DATA BIT XOR AL,AL ;SET UP TO RECEIVE DATA BITS MOV CX,5 DATA_BITS: MOV OUR_CLOCK,0 FIND_TONE: CMP SHIFT_REG,01010101B ;LOOK FOR SPACE JZ HAVE_BIT ;HAVE ONE, NOTE CF=0 CMP OUR_CLOCK,BAUD_RATE/3 ;ONLY TRY SO LONG JC FIND_TONE STC ;DIDN'T FIND IT, SET 1 BIT HAVE_BIT: RCR AL,1 ;MOVE THE CARRY IN BIT_DELAY: CMP OUR_CLOCK,BAUD_RATE ;SIT HERE FOR JC BIT_DELAY ;REST OF BIT TIME LOOP DATA_BITS ;SHIFT REST OF BITS SHR AL,1 ;ONLY SHIFTED 5 BITS SHR AL,1 ;SO SHIFT OTHER 3 SHR AL,1 CMP AL,0FFH ;SET NONZERO FLAG RET ;RETURN WITH CHARACTER PAGE ;SEND TTY CHARACTER OVER THE CASSETTE INTERFACE USING TIMER 2 TRANSMIT_TTY: MOV BL,AL ;MOVE CHARACTER CLC ;AND CLEAR THE CARRY BIT MOV CX,6 ;NUMBER OF BITS XMIT_LOOP: CALL XMIT_BIT ;SEND ONE BIT RCR BL,1 ;GET NEXT BIT LOOP XMIT_LOOP ;AND DO IT AGAIN MOV DX,BAUD_RATE+BAUD_RATE/2 ;SEND 1 1/2 STOP BITS CALL XMIT_BIT1 RET ;RETURN LEAVING CARRIER ON XMIT_BIT: MOV DX,BAUD_RATE ;TIME FOR ONE BIT MOV AX,SPACE_TONE ;ASSUME SPACE JNC XMIT_BIT0 ;YES, BIT IS ZERO XMIT_BIT1: MOV AX,MARK_TONE ;ELSE, SET MARK XMIT_BIT0: CALL WRITE_TIMER2 ;SET THE TIMER CALL CARRIER_ON ;TURN ON (USUALLY ALREADY ON) MOV OUR_CLOCK,0 ;SET THE TIMER XMIT_BIT2: CMP OUR_CLOCK,DX ;WAIT TIL IT JC XMIT_BIT2 ;GETS UP THERE RET ;THEN RETURN PAGE ;TEST FOR NON-CARRIER SIGNALS SUCH AS RING/BUSY SIG_TEST: MOV AL,BYTE PTR OUR_CLOCK+1 ;DO IT EVERY 256 TICKS CMP AL,SIG_CLK JZ SIG_RET MOV SIG_CLK,AL MOV AL,SHIFT_REG SHL AL,1 RCR SIG_REG,1 ;SHIFT INTO SLOW REG MOV DX,OFFSET SIG_OFF JZ SIG_PRT MOV DX,OFFSET SIG_ON SIG_PRT: CMP DL,BYTE PTR SIG_SW ;DON'T PRINT IF ALREADY THERE JZ SIG_RET MOV SIG_SW,DX MOV AH,3 ;GET CURSOR POSITION CALL SIG_VID PUSH DX MOV DX,72 ;SET NEW CURSOR POSITION CALL SIG_SET MOV DX,SIG_SW ;NOW PRINT THE FLAG CALL PRINT_STRING POP DX ;RESTORE ORIGINAL CURSOR POSITION JMP SHORT SIG_SET CLR_SCRN: MOV AX,0600H ;SCROLL/CLEAR FUNCTION XOR CX,CX ;UPPER LEFT CORNER MOV DX,24*256+79 ;LOWER RIGHT CORNER MOV BH,07H ;DEFAULT ATTRIBUTE INT 10H ;ROM BIOS CALL XOR DX,DX ;NEED TO HOME THE CURSOR SIG_SET: MOV AH,2 ;CODE TO SET CURSOR SIG_VID: MOV BH,0 ;ASSUME VIDEO PAGE 0 INT 10H ;VIDEO FUNCTION INTERRUPT SIG_RET: RET ;CONSOLE I/O AND ASCII/BAUDOT TRANSLATION ROUTINES GET_BAUDOT: MOV AL,HOLD_CHAR ;GET PREVIOUS CHARACTER IF ANY OR AL,AL ;IF ANY JNZ HAVE_CHAR ;THEN SKIP READ TRY_STATUS: CALL CONSOLE_GET ;TRY TO GET CHAR FROM KEYBOARD JZ GET_NULL ;NO EXIT WITH ZERO FLAG SET HAVE_CHAR: MOV HOLD_CHAR,AL ;ASSUME WANT TO HOLD CMP LAST_CHAR,13 ;WAS PREVIOUS CHAR CR? JNZ GET_XLAT ;NO TRANSLATE THIS ONE CMP AL,10 ;CR FOLLOWED BY LF? JZ GET_XLAT ;YES, WE'RE OK MOV AL,CODE_LF ;INSERT A LINE FEED JMP SHORT SET_FORCE ;AND GO FORCE SHIFT NEXT GET_XLAT: PUSH BX ;TRANSLATE CHARACTER TO BAUDOT MOV BX,OFFSET TABLE_ASC_BAUD ;XLATE TABLE XLAT POP BX CMP AL,80H ;UNKNOWN CHARACTER JNZ GOOD_XLAT ;SKIP OF KNOWN GET_NULL: AND HOLD_CHAR,0 ;CLEAR HOLD AND SET ZERO FLAG RET GOOD_XLAT: MOV AH,AL ;GET BAUDOT CODE IN AL AND AL,1FH ;SHIFT CODE IN AH AND AH,60H ;40=ANY,20=FIGS,00=LTRS TEST AH,40H ;ANY SHIFT OK? JZ TEST_FORCE ;NO MOV AH,SHIFT_STATUS ;YES MAKE REQUESTED = CURRENT TEST_FORCE: TEST SHIFT_STATUS,FORCE_SHIFT ;FORCE FIGS/LTRS? JNZ GET_FORCE TEST AH,40H ;ANY SHIFT NEEDED? JNZ CLEAR_HOLD ;NO, SKIP CMP AH,SHIFT_STATUS ;NEED TO SEND A SHIFT? JNZ GET_FORCE ;YES CLEAR_HOLD: MOV HOLD_CHAR,0 ;WON'T NEED THIS JMP SHORT TEST_LF GET_FORCE: TEST AH,FIGS_SHIFT ;ASSUME NEED FIGS MOV AL,CODE_FIGS ;TRUE? JNZ TEST_LF ;YES, SEND THE FIGS MOV AL,CODE_LTRS ;SET TO INSERT LTRS SHIFT TEST_LF: CMP AL,CODE_LF ;SENDING A LINE FEED THIS TIME? JNZ GET_ECHO ;NO SET_FORCE: OR SHIFT_STATUS,FORCE_SHIFT ;YES SEND FIGS/LTRS AFTER LF GET_ECHO: PUSH AX CALL PRINT_BAUDOT ;PRINT THE CHARACTER POP AX CMP AL,0FFH ;MAKE SURE NO ZERO FLAG RET CONSOLE_GET: MOV AH,1 ;ROM BIOS CONSOLE STATUS INT 16H JZ CON_RET MOV AH,0 ;ROM BIOS CONSOLE GET INT 16H AND AL,7FH CON_RET: RET PRINT_BAUDOT: MOV SIG_SW,OFFSET SIG_SW ;FORCE <SIGNAL> NEXT TIME PUSH BX ;PRINT BAUDOT CHAR IN AL MOV BX,OFFSET TABLE_BAUD_ASC OR AL,SHIFT_STATUS ;INCLUDE FIGS/LTRS SHIFT AND AL,3FH ;CLEAR EXTRA BITS XLAT ;HAVE ASCII CHAR IN AL POP BX TEST AL,80H ;SEE IF THIS WAS JZ CONSOLE_PUT ;A FIGS OR LETTERS SHIFT AND AL,FIGS_SHIFT ;IF THIS WAS A SHIFT, MOV SHIFT_STATUS,AL ;THEN UPDATE THE SHIFT RET ;RETURN CONSOLE_PUT: MOV LAST_CHAR,AL ;THEN RESTORE CHAR WE WANT CMP AL,07H ;IS THIS BEL? JZ PRINT_BEL ;YES PRINT [BEL] TTYFUNC: MOV AH,14 ;TTY VIDEO FUNCTION INT 10H RET PRINT_BEL: PUSH DX ;PRINT <BEL> MOV DX,OFFSET BEL_MSG CALL PRINT_STRING POP DX RET PRINT_STRING: PUSH SI ;POINTER TO STRING MOV SI,DX CLD PS1: LODSB ;LOAD BYTE TO PRINT CMP AL,'$' ;TERMINATED BY $ JZ PSR CALL TTYFUNC JMP SHORT PS1 PSR: POP SI RET PAGE ;TIMER AND CASSETTE INTERFACE SUPPORT ROUTINES ;TIMER INTERRUPT ROUTINE PERFORMS THE FOLLOWING FUNCTIONS: ; - SHIFTS ONE BIT OF CASSETTE INPUT DATA INTO A 1 BYTE SHIFT REGISTER ; - ADDS 1 TO A WORD USED BY MAINLINE ROUTINES AS A CLOCK ; - JUMPS TO IBM TIMER INTERRUPT ROUTINE AT CORRECT INTERVAL (18HZ) NEW_TIMER_INT: STI ;INTERRUPTS BACK ON PUSH DS PUSH AX MOV AX,CS MOV DS,AX ASSUME ES:NOTHING IN AL,PPI_C ;READ THE CASSETTE PORT REPT CASS_SHIFTS ;SHIFT CORRECT NUMBER RCL AL,1 ;TO GET INTO CARRY BIT ENDM ;(FASTER THAN RCL AL,CL) RCR SHIFT_REG,1 ;CASSETTE DATA SHIFTED IN INC OUR_CLOCK ;ADD 1 TO OUR CLOCK ADD SYSTEM_CLOCK,NEW_TIMER_TICK ;NEED TO UPDATE IBM CLOCK? JC IBM_TICK ;YES MOV AL,EOI_COMMAND ;END OF INTERRUPT TO 8259 OUT INT_CONTROL,AL POP AX ;RESTORE REGS AND RETURN POP DS IRET IBM_TICK: POP AX ;RESTORE REGS AND GO TO POP DS ;IBM TIMER INT (THEY'LL JMP CS:TIMER_SAVE ;DO THE EOI INSTR. TIMER_INIT: CLI ;NO INTERRUPTS WHILE WE FIDDLE PUSH DS PUSH ES XOR AX,AX ;SET ES MOV DS,AX ;TO ZERO ASSUME DS:ABSOLUTE_ZERO CLD MOV DI,OFFSET TIMER_SAVE MOV SI,OFFSET TIMER_INT MOVSW MOVSW MOV SI,OFFSET BRK_INT MOVSW MOVSW MOV WORD PTR TIMER_INT,OFFSET NEW_TIMER_INT MOV WORD PTR TIMER_INT,CS MOV WORD PTR BRK_INT,OFFSET BREAK_KEY MOV WORD PTR BRK_INT+2,CS MOV AX,NEW_TIMER_TICK ;INITIALIZE TIMER 0 CALL WRITE_TIMER0 IN AL,PPI_B ;INITIALIZE CASSETTE PORT MOV SAVE_PPI_B,AL ;(SAVE FOR QUIT ROUTINE) AND AL,NOT (MOTOR_OFF OR T2_GATE OR SPEAKER_DATA) OUT PPI_B,AL ;MOTOR ON, GATE, SPKR OFF JMP SHORT TIMER_INITEND ;GO RESTORE ES AND RETURN TIMER_QUIT: CLI ;INTERRUPTS OFF FOR THIS PUSH DS PUSH ES XOR AX,AX MOV ES,AX ASSUME ES:ABSOLUTE_ZERO,DS:CODE MOV SI,OFFSET TIMER_SAVE MOV DI,OFFSET TIMER_INT MOVSW MOVSW MOV DI,OFFSET BRK_INT MOVSW MOVSW XOR AX,AX ;RESTORE TIMER 0 TO IBM VALUE CALL WRITE_TIMER0 MOV AL,SAVE_PPI_B ;RESTORE CASSETTE PORT OUT PPI_B,AL TIMER_INITEND: POP ES ;SET BACK ORIGINAL ES REG POP DS ;AND DS STI RET ASSUME DS:CODE,ES:CODE ;WRITE TIMER ROUTINES -- SET TIMER0 OR TIMER2 TO VALUE IN AX WRITE_TIMER0: PUSH DX ;ENTER HERE FOR TIMER 0 PUSH AX MOV DX,TIMER_0 ;PORT ADDRESS MOV AL,TIMER_0_MODE ;MODE WORD FOR TIMER 0 JMP SHORT WRITE_TIMERX WRITE_TIMER2: PUSH DX ;ENTER HERE FOR TIMER 2 PUSH AX MOV DX,TIMER_2 ;PORT ADDRESS MOV AL,TIMER_2_MODE ;MODE WORD FOR TIMER 2 WRITE_TIMERX: OUT TIMER_MODE,AL ;SET MODE OF REQUESTED TIMER POP AX ;WRITE LSB OUT DX,AL MOV AL,AH ;THEN MSB OUT DX,AL POP DX ;ALREADY POPPED AX, POP DX RET ;ROUTINES TO TURN CARRIER TONE ON OR OFF AT CASSETTE INTERFACE. CARRIER_ON: PUSH AX ;START CARRIER TONE IN AL,PPI_B ;TO MONITOR, ADD: OR AL,T2_GATE ;OR SPEAKER_DATA JMP SHORT CARRIER_EXIT CARRIER_OFF: PUSH AX ;TURN OFF CARRIER TONE IN AL,PPI_B AND AL,NOT (T2_GATE OR SPEAKER_DATA) CARRIER_EXIT: OUT PPI_B,AL POP AX RET CODE ENDS STACK SEGMENT STACK DB 256 DUP(?) STACK ENDS END MAIN_ENTRY
TDD5PT2.DOC Deaf people in this country have, over the past quarter century or thereabouts, adopted the "TTY" or "TDD" as their standard means of communicating over the telphone. "TTY" is of course a contraction for "Teletype", a trademark of the Teletype Corporation. "TDD" stands for "Telecommunications Device for the Deaf". The original TDD was a teletype machine, and the modem used was one designed for the specific purpose of deaf communications by Dr. Robert Weitbrecht. It is not compatible with any standard Bell modem design, as the TDD is incompatible with modern computers. Computers of course use ASCII while the TDD uses the Baudot code transmitted at 45.5 baud. A description of the TDD and the Weitbrecht modem are given in the file "TDD.TXT". The old mechanical Baudot teletype machines still serve many people as their working TDD. However, many newer devices of more modern design have come on the market, some incorporating a modem with a keyboard and an LED or LCD display. In addition, modern computers often serve the place of a TDD, since they are perfectly capable of converting between the ASCII and Baudot codes. Some computers, in fact, are able to replace the modem as well. The IBM-PC is one of these. In order to make the PC serve as a TDD, it is only necessary to install appropriate software (available for downloading in the files TDD5PT2.EXE and TDD5PT2.ASM) and connect the computer to the telephone line in some suitable fashion. One suitable approach is to use the technique designed by the author of the software; it employs a Radio Shack telephone amplifier, a couple of plugs, jacks and switches, and a little soldering. As an alternative, the complete device can be purchased for $40 from a group in Texas who are working in the field of rehabilitation. The software was written, and placed in the public domain, by John Spalding of Atlanta Georgia. He has made it available for distribution to the Handicapped Educational Exchange (HEX) which I operate. Further information on the telephone interface can be obtained from the address below. If you want a copy of the software on disk, send me a formatted disk and a self-addressed mailer with postage attached, along with a note as to what you want. Similar software by John Spalding is available for the Tandy Color Computer. This machine also serves as its own modem, and employs the same telephone coupling device. Software by other authors (most local and members of AMRAD, the Amateur Radio Research and Development Corporation) is available for the TRS-80 model I, PET, Atari, Apple, VIC-20, Commodore 64 and Smoke Signal Broadcasting 6800 and 6809 machines. These other programs require an external modem (plans for which are available) and are also in the public domain; design data are available for the cost of reproduction and mailing. For further information contact: Handicapped Educational Exchange 11523 Charlton Drive Silver Spring MD 20902 The HEX BBS operates 24 hours a day on (301) 593-7033, using 300 baud only and settings of 8-N-1. It can also be accessed using a TDD. I can be contacted by voice on (301) 681-7372 evenings (at a reasonable hour, please) and weekends. The AMRAD and HEX crew look forward to your comments regarding the above software, and to your questions and information on all aspects of the use of computers to assist the disabled. Richard Barth
NOTE: This manual has been formatted such that, if cut into sheets that measure 8.5" x 5.5", it will fit into your DOS manual or another similarly sized binder. - CEL (This page may be discarded) ===================== || || ==============|| U s e r L o g ||============== || || =================================================== by Chris E. Lindberg v1.00 Copyright(c) 1985 All Rights Reserved U s e r L o g ------------------------------------------------------- COPYRIGHT 1985 BY CHRIS E. LINDBERG This software product and manual is copyrighted. All rights are reserved by Chris E. Lindberg. USER SUPPORTED SOFTWARE I am distributing this software using the "freeware" concept because I believe that software should be usable AND affordable. Therefore, if you are using this soft- ware and find it to be of value, please fill out the registration card on last page of this manual and return it with $25.00 to Chris E. Lindberg 5221 W. Washington Blvd. Milwaukee, WI 53208 Registration of your ownership of this software program and manual will entitle you to notification of any updates and free upgrades (excluding diskette and postage). A one-time fee of $25.00 is required to register this soft- ware and manual. This registration fee is tax deductible for business-users of personal computers. ------------------------------------------------------- -i- U s e r L o g ------------------------------------------------------- TABLE OF CONTENTS INTRODUCTION TO USERLOG .............................1 SYSTEM REQUIREMENTS..................................2 BEFORE YOU BEGIN.....................................3 INSTALLING USERLOG...................................4 USING USERLOG........................................5 THE USERLOG LOG ENTRY SCREEN.........................8 CREATING A NEW LOG FILE (/N).........................9 LOGGING IN (/I).....................................10 LOGGING OUT (/O)....................................11 BROWSING LOG ENTRIES (/B)...........................12 LISTING LOG ENTRIES (/L)............................13 USING USERLOG IN BATCH FILES........................14 USERLOG REGISTRATION FORM...........................16 ------------------------------------------------------- -ii- U s e r L o g ------------------------------------------------------- INTRODUCTION TO USERLOG USERLOG is a system utility designed to maintain a disk-based file of computer usage. As such, it may be used in lieu of a written log to record and monitor the business and personal use for which your personal computer is being used. The main features of USERLOG are: - the utility is simple to use - it is invoked directly from the PC-DOS command level. - it can be used in batch files or with keyboard enhancement programs. - all entries are automatically time and date stamped using your system's clock/calendar. - elapsed times for each entry are calculated automatically and stored with each log entry - the browsing and listing features permit you to selectively display or print log entries - listings of log entries show the number of hours the computer was used for personal and for business use. ------------------------------------------------------- -1- U s e r L o g ------------------------------------------------------- SYSTEM REQUIREMENTS USERLOG has the following minimal system requirements - IBM Personal Computer PC/XT/AT - 64K RAM - One floppy disk drive - Monochrome or color monitor - printer port configured as LPT1 - printer - PC-DOS version 1.0 or greater While optional, the use of a battery-powered clock/ calendar that automatically sets your system clock and calendar is highly recommended. ------------------------------------------------------- -2- U s e r L o g ------------------------------------------------------- BEFORE YOU BEGIN Before you put USERLOG to work for you, it is a good idea to create a working copy of your USERLOG program file. First, you will need a blank, formatted diskette. Place your DOS diskette into drive A and next to the DOS prompt type FORMAT A: Follow the instructions on the screen to complete the diskette formatting process. Once the formatting process has been completed, a working copy of USERLOG can be made by entering next to the DOS prompt DISKCOPY A: A: (if you have 1 disk drive) or DISKCOPY A: B: (if you have 2 disk drives) Again, follow the directions on the screen to complete the copying process. Once a working copy of USERLOG has been made, store the original USERLOG diskette in a safe place. Use the working copy of USERLOG to transfer the program file or maintain the log data file. ------------------------------------------------------- -3- U s e r L o g ------------------------------------------------------- INSTALLING USERLOG Floppy Drive Systems USERLOG.COM should be transferred to a blank and formatted diskette (See BEFORE YOU BEGIN and USING USERLOG IN BATCH FILES). Because USERLOG records log entries in the same directory in which USERLOG.COM resides, the log file will be maintained on the same diskette. The number of log entries that can be written to a diskette depends on the free space available. A blank double-sided, double-density diskette formatted at 9 tracks per inch containing USERLOG.COM will have approximately 336 kilobytes of free storage available. Since each log entry consumes 63 bytes of storage, approximately 5300 log entries can be stored on the diskette. This means you can record approximately 14 log entries per day. Hard Disk Systems USERLOG maintains the log file in the same directory in which USERLOG.COM resides. As a result, USERLOG.COM can be installed in any directory or subdirectory on a hard disk. However, unless you make extensive use of batch files or keyboard enhancement programs (e.g. PROKEY) to run applications, we recommend that USERLOG.COM reside in the root directory. ------------------------------------------------------- -4- U s e r L o g ------------------------------------------------------- USING USERLOG USERLOG is a system utility that is invoked at the DOS command level i.e. next to the DOS prompt. To run USERLOG, the following syntax must be used d:USERLOG/[p] where "d" designates the physical drive in which USERLOG resides and "p" (short for parameter) instructs USERLOG which function to perform. The following table lists the parameters that USERLOG recognizes, their functions and the page number of this manual where each function is described in greater detail. PARAMETER FUNCTION PAGE --------- ------------------------- ------ /N Create a new log file 9 /I Log in 10 /O Log out 11 /B Browse log entries 12 /L List log entries 13 NOTE: USERLOG will accept a parameter in either upper- case or lowercase letters. For example, suppose you are going to begin analyzing last year's sales figures with your favorite spread- sheet program and wish to enter the activity into your log file. To "log in", next to the DOS prompt you would type USERLOG /I ------------------------------------------------------- -5- U s e r L o g ------------------------------------------------------- If USERLOG resides on a drive other than the default drive, you would type d:USERLOG /I where "d:" specifies the physical drive in which USERLOG exists. For systems equipped with a hard disk drive, a path name must be specified if USERLOG.COM is not in the current directory. For example, if USERLOG.COM resides in a directory named MYLOG, to log in you would enter next to the DOS prompt \MYLOG\USERLOG /I All parameters are invoked in an identical fashion. If no parameters are specified or the parameter is not recognized, USERLOG will inform you that an error has occurred and give you the option of selecting the correct parameter or returning to DOS. Thus, USERLOG can be invoked at the DOS command level by including the parameter, or by entering USERLOG next to the command prompt and selecting an option. With the exception of logging an entry out (/O), you may escape from USERLOG at any time simply by pressing the [ESC] key. To insure the integrity of the log file and, therefore, your records, no means for editing log entries have been provided. Attempts to edit the log file with a text editor will probably cause irreparable damage to the contents of the file. ------------------------------------------------------- -6- U s e r L o g ------------------------------------------------------- IMPORTANT --------------------- If your computer is not equipped with a battery- powered clock/calendar that automatically sets the computer time and date when started, then be sure to set the correct system time and date when starting the computer. USERLOG assumes that the system time and date are correct. ------------------------------------------------------- -7- U s e r L o g ------------------------------------------------------- THE USERLOG LOG ENTRY SCREEN When USERLOG is invoked correctly, your display screen will clear and the log entry data screen will appear. The purpose and contents of each field in the screen are described below. FIELD DESCRIPTION ---------- -------------------------------------- User 1 to 3 characters can be entered in this field to identify the user (e.g. your initials). Category The number 1 or 2 is entered in this field to identify whether the task is (1) business-oriented or (2) for personal use. Task Up to 24 characters may be used to describe the activity. In The time the USER logged in Out The time the USER logged out Date The date the USER logged in or out. E. Hours The elapsed hours between logging in and out. Entry The log entry number. Status Area User prompts or the status of the current operation is displayed in this area. ------------------------------------------------------- -8- U s e r L o g ------------------------------------------------------- CREATING A NEW LOG FILE (/N) When first installing USERLOG, or at the beginning of each new calendar year, a new log file must be created before any entries can be made. To create a new log file, next to the DOS prompt type USERLOG /N USERLOG will ask you to enter the serial number of your system unit in the status area of the USERLOG log entry screen. Once you have supplied the serial number, USERLOG will record the current system date and create a data file in the current directory with the name "USERLOG.yy" where the extension "yy" corre- sponds to the last two digits of the year held by the system clock/calendar (e.g. USERLOG.85). If you attempt to use USERLOG before a log file has been created, or if the calendar year changes, USERLOG will indicate that USERLOG.yy cannot be found and should be created by using the /N parameter. USERLOG will not create a new log file if one already exists in the current directory that corresponds to the current settings of your system's clock/calendar. ------------------------------------------------------- -9- U s e r L o g ------------------------------------------------------- LOGGING IN (/I) Each time you begin a new activity on your computer, you should create a new log entry in your file using the /I parameter. Invoking USERLOG with the /I parameter causes the USERLOG log entry screen to appear on your display. To create the new entry, USERLOG requires that you fill three field with the following information FIELD YOU ENTER ------- ------------------------------------------ USER 1 to 3 characters that identifies the user(e.g. your initials) CAT Enter "1" if the activity is business related or "2" if it is for personal use. TASK Up to 24 characters may be entered in this field to describe the activity. Once you filled in the three field with the appropriate information, USERLOG time and date stamps the entry with the current settings of your system clock/calendar then exits to DOS. If the last log entry is still open, USERLOG will auto- matically close that entry and display its contents before creating a new log entry (See LOGGING OUT (/O)). ------------------------------------------------------- -10- U s e r L o g ------------------------------------------------------- LOGGING OUT (/O) After logging in and completing an activity on your computer, you must "log out" the entry using the /O parameter. Invoking USERLOG with the /O parameter causes the USERLOG log entry screen to appear contain- ing the information from the last open entry. Logging out is automatic feature of USERLOG. Therefore, the "Out" field is automatically stamped with your system's current time, the hours that have elapsed since logging in are calculated and displayed in the field marked "E. Hours", the log file is updated, and control is returned to DOS. If the last log entry has already been logged out, USERLOG will inform you of such and will exit to DOS. If you are moving from one application to another and wish to enter each activity into your log file, you may "shortcut" the process of logging in and out by using only the /I parameter between activities. Invoking the /I parameter with the last entry still open causes USERLOG to automatically log out and display the contents of the last entry before creating a new entry (See LOGGING IN (/I)). ------------------------------------------------------- -11- U s e r L o g ------------------------------------------------------- BROWSING LOG ENTRIES (/B) A facility for browsing forwards and backwards through your log file one entry at a time has been provided for in USERLOG. When USERLOG is invoked with the /B parameter, USERLOG will ask for the beginning date in the status area of the log entry screen. Once the date has been entered in a mm/dd format, USERLOG will scan the log file and display on the screen the first log entry whose date is greater than or equal to the date you supplied. If the dates of all the log entries fall before the date you specified, then the last log entry is displayed. After a log entry has been displayed, certain keys on the keyboard can be used to browse through the log file. The following table lists the keys and their respective functions: KEY FUNCTION -------- ------------------------- [->] Show next log entry [<-] Show prior log entry [Home] Show first log entry [End] Show last log entry [Esc] Exit USERLOG ------------------------------------------------------- -12- U s e r L o g ------------------------------------------------------- LISTING LOG ENTRIES (/L) USERLOG can provide you with a listing of all or selected log entries through the use of the /L para- meter. When USERLOG is invoked with the /L parameter, you will be asked to supply a beginning date in a mm/dd format and whether you want only (1) business, (2) personal, or (3) both types of log entries listed. USERLOG will scan your entire log file searching for the first log entry that satisfies the criteria you specified. If no matches are found, USERLOG will inform you of such and exit to DOS. Otherwise USERLOG will ask which device to list the log entries to. Pressing the [S] key causes the output to be printed on the display screen whereas pressing the [P] key causes it to be listed on the printer attached to your computer. You may exit USERLOG at this time by pressing the [Esc] key. If the log entries are to be listed on the printer, be sure the printer is turned on and that the printer top-of-form has been set. The log entries are listed in detail in the order in which they were made. As each log entry is printed, the number of hours the computer was used for business and for personal purposes are accumulated and printed on the bottom of each page. The percentage of time your computer has been used for business-related activities is calculated and printed also. ------------------------------------------------------- -13- U s e r L o g ------------------------------------------------------- USING USERLOG IN BATCH FILES In order to keep accurate records of computer usage, users should be 'forced' to log in and out between applications. Fortunately, the batch language facil- ities of PC-DOS provides a very convenient means for doing so. The following example shows how to create a batch file that will log a user in, run a program named MYPROGRAM and log the user out after exiting the program. A>COPY CON: MYPROGRAM.BAT CLS PAUSE -----> INSERT LOG FILE DISKETTE INTO DRIVE A USERLOG /I PAUSE -----> INSERT MYPROGRAM DISKETTE INTO DRIVE A MYPROGRAM PAUSE -----> INSERT LOG FILE DISKETTE INTO DRIVE A USERLOG /O ^Z (press the F6 key) 1 file copied If your system has a hard disk drive, then the PAUSE statements can be eliminated. However, the path to the directory containing USERLOG.COM must be named. For example, if USERLOG.COM resides in the directory named MYLOG, then then following batch program will log a user in and out. ------------------------------------------------------- -14- U s e r L o g ------------------------------------------------------- C>COPY CON: MYPROGRAM.BAT CLS PATH \MYLOG USERLOG /I MYPROGRAM PATH \MYLOG USERLOG /O ^Z (press the F6 key) 1 file copied Programs written in interpretive BASIC can be executed from batch files as well by either including BASIC.COM in the directory which contains the BASIC program or by extending the search path to include the directory that contains BASIC.COM. ------------------------------------------------------- -15- U s e r L o g ------------------------------------------------------- USERLOG REGISTRATION FORM I have enclosed $25.00 with this registration form. Registration entitles me to notification of updates to USERLOG and free upgrades (excluding diskette and postage). Please add me to your list of registered users of USERLOG. Mail To: Chris E. Lindberg 5221 W. Washington Blvd. Milwaukee, WI 53208 Please supply the following information: Name _____________________________________________ Company __________________________________________ Street ___________________________________________ City _____________________________________________ State ______ Zip __________ Phone _____________ How did you obtain a copy of USERLOG _____________ __________________________________________________ Comments/Problems: ------------------------------------------------------- -16-
Volume in drive A has no label Directory of A:\ AREACODE EXE 19328 2-14-85 12:36p BG DOC 7984 4-03-85 7:43p BG EXE 17792 4-03-85 7:43p CALPO DOC 4608 7-27-84 8:36a CALPO EXE 27648 7-27-84 8:29a CLEAN COM 640 1-01-80 CLEAN DOC 2944 1-01-80 CLOCK EXE 25856 9-04-83 6:41p DUMP3 DOC 14848 8-10-85 12:15p DUMP3 EXE 36389 9-18-85 10:37a FATDUMP COM 4550 10-09-11 6:41a FATDUMP DOC 405 12-29-85 4:14p FILES504 TXT 1674 5-07-86 3:33p HOTDEMO COM 9748 10-03-85 12:17p HOTDEMO DOC 8082 10-03-85 3:43p MAILLIST DOC 14336 3-19-85 8:37a MAILLIST EXE 51456 3-19-85 8:33a NOTES504 TXT 1697 4-26-86 10:37a PCUTIL COM 4992 7-27-84 9:12a QUIKTIME COM 512 3-12-85 2:40a SYSLOG TXT 95 5-05-86 8:26p TDD5PT2 ASM 16128 3-20-85 9:25a TDD5PT2 DOC 3968 3-20-85 9:25a TDD5PT2 EXE 1664 3-20-85 9:25a USERLOG COM 25600 1-14-85 10:36p USERLOG DOC 23567 12-04-85 7:38p 26 file(s) 326511 bytes 25600 bytes free