home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol029 / catalog.046 < prev    next >
Text File  |  1985-02-09  |  23KB  |  495 lines

  1. VOLUME 46     10/24/80
  2.  
  3. DESCRIPTION: CP/M utilities.
  4.  
  5. NUMBER    SIZE    NAME        COMMENTS
  6.  
  7.      2K    CATALOG.46    CONTENTS OF CP/M VOL. 46
  8. 46.1    11K    ABSTRACT.046    Volume abstracts
  9. 46.2    11K    CPM-FDOS.ASM    CPM to ICOM FDOS II transfer
  10. 46.3    17K    CPMLABEL.BAS    Make CPMUG disk labels
  11. 46.4     0K    DELETED    
  12. 46.5     5K    CPMLABEL.DOC    DOC on above
  13. 46.6     8K    CRCK3.ASM    Full 16 bit CRC a file
  14. 46.7     1K    CRCK3.COM    COM of above
  15. 46.8    16K    DU-8/12.ASM    Disk dump/patch, supports
  16.                 many controllers.
  17. 46.9    29K    DU-V61.ASM    Later version of CPMUG 40.20,
  18.                 single density only
  19. 46.10     2K    DU/MAP.DOC    Doc. on CP/M directory format
  20. 46.11     6K    FDOS-CPM.ASM    ICOM FDOS II to CP/M transfer
  21. 46.12    10K    MDIR8/17.ASM    Fancy directory list program,
  22. 46.13     1K    MDIR8/17.COM    CP/M 1.4 (or 2.X, all users)
  23. 46.14     6K    MLIST3.ASM    Type multiple files with lots
  24.                 of disk buffering
  25. 46.15    20K    PLINK823.ASM    Send/Rcv to memory via modem
  26. 46.16    22K    PMMIBYE5.ASM    Remote console program,
  27. 46.17     3K    PMMIBYE5.DOC        update of 40.34
  28. 46.18     2K    PTSRCNVT.COM    Convert Proc. Tech to CP/M ASM
  29. 46.19     2K    PTSRCNVT.DOC    DOC on above
  30. 46.20     7K    RETDL.COM    Disassembler to TDL mnemonics,
  31.                 modification of 42.18
  32. 46.21    13K    SURVEY3.ASM    Maps system memory/port usage
  33.                 as well as disk stat.
  34. 46.22     1K    SURVEY3.COM    COM of above
  35. 46.23    20K    XD-7/4.ASM    Fancy directory list program
  36. 46.24     2K    XD-7/4.COM    COM of above
  37.  
  38.         U-G-FORM.LIB    CPMUG submission form
  39. This is file ABSTRACT.046, and contains abstracts on:
  40.  
  41.     CPM-FDOS.ASM
  42.     CPMLABEL.BAS + DOC
  43.     CRCK3.ASM + COM
  44.     DU-8/12.ASM
  45.     DU-V61.ASM
  46.     DU/MAP.DOC
  47.     FDOS-CPM.ASM
  48.     MDIR8/17.ASM + COM
  49.     MLIST3.ASM
  50.     PLINK823.ASM
  51.     PMMIBYE5.ASM
  52.     PTSRCNVT.ASM + COM + DOC
  53.     REDTL.COM
  54.     SURVEY3.ASM + COM
  55.     XD-7/4.ASM + COM
  56. All abstracts by Ward Christensen unless otherwise noted.
  57.             10/24/80
  58.         ----------------
  59. ====> CPM-FDOS.ASM is P.P.H. Lee's (Royal Melbourne Institute
  60. of Technology, Applied Physics Department, 124 Latrobe Street,
  61. Melbourne, Victoria 3000, Australia) program to transfer a CP/M
  62. file in drive a: to an ICOM FDOS II disk on drive b:. 
  63.     The program is hardware/software dependent, in that it
  64. makes references to the ICOM routines in the 0C000H block
  65. of memory.  FDOS-CPM.ASM handles the opposite direction
  66. transfer
  67.     The programs are well commented.
  68.         ----------------
  69. ====> CPMLABEL.BAS is Bill Bolton's (P.O. Box 80,
  70. Newport Beach, N.S.W., 2106, AUSTRALIA) program to print disk
  71. labels individually or in batches for CP/M User's Group Disks. 
  72.     It is slightly hardware dependent, using a CRT that can
  73. clear screen, (but doesn't need random cursor positioning).
  74. Has well identified hardware dependent routine for reverse
  75. video display of error messages, presently set up to suit
  76. ADM-31 or Soroc terminal.  Uses 80 x 24 display area but only
  77. needs minor message reformatting to suit 64 x 16 display.
  78. Batch label printing assumes continuous form fed labels,
  79. individual printing can be done on any label.   
  80.     CPMLABEL.BAS is written in MICROSOFT BASIC version 5.1.
  81. It is suitable for the compiler.  
  82.     Further documentation is available in CPMLABEL.DOC. 
  83.     This program was supplied courtesy of "80AT Australia".
  84. (I believe stands for "80 Application Transfer"). 
  85.     Abstract by Ward Christensen (very easy to do thanks to
  86. a very complete CP/MUG submission form by Bill) (hint hint)
  87.         ----------------
  88. ====> CRCK3.ASM is K.B.Petersen's (W8SDZ) file checksum
  89. routine.  It is a significant improvement over earlier
  90. checksum-only programs, in that it does a full 16 bit CRC,
  91. rather than just an 8 bit sum.  Also, it handles ambiguous
  92. file references.  
  93.     Use the program to keep a list of the CRC of various
  94. of your programs and files, then use this later if you
  95. question that a file has changed.  It is particularly useful
  96. for comparing a file you have, with a file someone else has,
  97. since you can both just run CRCK against them, then compare
  98. checksums.  Chances of two checksums being the same, but the
  99. files being different, is "remote".
  100.     The program includes the option of being assembled
  101. for 4200H base CP/M systems (Heath, R.S.).
  102.     The program drops in, and has no hardware or software
  103. dependencies.
  104.         ----------------
  105. ====> DU-8/12.ASM is an early version of Ward Christensen's DU
  106. program (CP/M U.G. volume 40), and as such lacks a few of the
  107. features of the volume 40 version.  It was modified by Keith
  108. Petersen W8SDZ, Bruce Ratoff ACGNJ, Jeff Hammersley, and
  109. Charles Strom.
  110.     It would be useful to anyone wanting to work directly
  111. with a CP/M disk, such as to patch it.
  112.     The program is used to dump and patch a CP/M disk directly.
  113.     Further documentation may be found in the .ASM file.
  114.     This version supports single density CP/M, and via
  115. conditional assembly switches, the following:
  116. *    Micropolis
  117. *    Digital Microsystems double density FDC3 controller
  118. *    Northstar double density
  119. *    Thinker toys DJ2D controller and 1024 byte sectors
  120. *    Micromation single-sided double density.
  121.     This program does direct I/O for the disk thru BIOS. The
  122. program is hardware dependent, and may require modification for
  123. your system if it is not one of the above.
  124.         ----------------
  125. ====> DU-V61.ASM by Ward Christensen is his latest version
  126. (6.1) of the program distributed as CPMUG file 40.20.  Changes:
  127. *    Now supports Heath 4200 base CP/M
  128. *    L command (login) rewritten to NOT actually do
  129.     CP/M login
  130. *    Track and sector, both as keyed in, and as displayed,
  131.     are now decimal, not hex.
  132. *    Q (Quiet option) commmand added - causes functions to
  133.     not display, so they run faster.
  134. *    P command fixed to send linefeeds to the printer.
  135.     See previous abstract for further comments on this program.
  136.         ----------------
  137. ====> DU/MAP.DOC is a brief explanation of the CP/M directory
  138. format as produced by DU.COM.  The origin of this document
  139. is unknown.  I replaced the "XXXX..." type example it used,
  140. with a real data example.
  141.         ----------------
  142. ====> FDOS-CPM.ASM is P.P.H. Lee's program to transfer an
  143. ICOM FDOS II file to a CP/M file. 
  144.     See CPM-FDOS.ASM for abstract.
  145.         ----------------
  146. ====> MDIR8/17.ASM is Jeff Hammersley's program to produce a
  147. sorted directory listing, including all "users", for CP/M 2.x.
  148.     It runs under CP/M 1.4 or 2.x.  Note you MUST supply "*.*"
  149. to see all files, i.e. you can't just type: mdir
  150.     The software drops in.  It has no software dependencies.
  151.         ----------------
  152. ====> MLIST3.ASM by Keith Petersen is a program to type a CP/M
  153. file, by highly buffering it in memory.  This lessens disk
  154. activity.  Also, for remote access CP/M systems, it doesn't
  155. stop "with the first line glitch" like CP/M's TYPE command
  156. would.  It does respond to ^S and ^C, however.
  157.     Unlike TYPE, it is able to process ambiguous files (such as
  158. *.ASM). 
  159.     There are no hardware dependencies for this program. How-
  160. ever, it does require MAC and the SEQIO macro library.
  161.         ----------------
  162. ====> PLINK823.ASM is L.E. Hughes's program, with the
  163. following "mods":
  164.     L.E. Hughes     EDCAM    JULY, 1977 (Original)
  165.     This version by Keith Petersen, W8SDZ.
  166.     Heath equates added by Tom Jorgenson
  167.     TRS-80 MODEL 1 mods by Steve Vinokuroff, Vanc CBBS
  168.     TRS-80 mods by Dennis Breckenridge, Burnaby CBBS
  169. This program can send or receive files via modem to such
  170. systems as the SOURCE, MICRONET, CBBS, etc.  No protocol used.
  171.     Your computer can act as a computer terminal, with optional
  172. capturing of data in memory, and the ability to write it out
  173. to disk.  A file on disk may also be sent to the remote system,
  174. with no protocol.
  175.     The program operates with any of the following modems:
  176. PMMI;  ANY serial I/O board (TUART included);  TRS-80 model 1;
  177. TRS-80 model 2; HEATH H8 with 8251 UART at port 330Q; 
  178.         ----------------
  179. ====> PMMIBYE5.ASM is a remote console program by Dave Jaffe,
  180. rewritten for PMMI modem by Ward Christensen, and highly
  181. modified since CPMUG volume 40 version, by:
  182.     Keith Petersen, W8SDZ
  183.     Dave Hardy
  184.     Bruce Levison
  185.     This program allows remote access into CP/M as the console
  186. operator, to run any CP/M program.  This version of the program
  187. may work for people who had trouble with it before, due to
  188. added register saves, and larger stack space.
  189.     Further documentation may be found in PMMIBYE5.DOC
  190.     The program requires a PMMI modem, and includes  options
  191. for Morrow's Discus 2D board  with memory mapped I/O. Optional-
  192. ly, the # of callers may be output to port FF, the front
  193. panel of an IMSAI.
  194.     The program requires as much as 1070 bytes of memory
  195. ABOVE your CP/M system.  Thus may require generating a
  196. smaller CP/M to allow it to fit.  The program must be
  197. assembled for your particular configuration.
  198.         ----------------
  199. ====> PTSRCNVT.COM is Tom DiGate's program to convert assembler
  200. programs from Processor Technology Package I or ALS-8 format,
  201. to CP/M format.
  202.     The P.T. format file is loaded into memory (by whatever
  203. means you have) at 100H, and saved with CP/M SAVE command.
  204. PTSRCNVT then converts the file to CP/M format, inserting
  205. tabs, and comment semicolons, and deleting the line numbers.
  206.     Only a .COM file and .DOC file are distributed.
  207.         ----------------
  208. ====> RETDL.COM is Ward Christensen's RESOURCE.COM from User's
  209. Group Volume 42, modified (by person unknown) to disassemble
  210. Z80(*) code into TDL mnemonics.  See RESOURCE.DOC on volume 42,
  211. for operational details.
  212.     I found this version to not be totally debugged.  Some of
  213. the more obscure Z80(*) op codes don't work.  Some examples:
  214.     If memory contains:    DB    0FDH,0FEH,0FFH
  215.     it is mis-disassembled as:    .BYTE    0FEH
  216.     when it should be        .BYTE    0FDH
  217.                     CPI    0FFH
  218.     Also, opcodes SPIX (DD F9) and SPIY (FD F9) improperly
  219. increment the disassembly PC by 3 bytes, not 2, thus the
  220. assembly "loses" a byte for each SPIX or SPIY.
  221.     I recommend that you reassemble your disassembly and
  222. compare it to the original .COM file to catch such errors.
  223. Unfortunately, it is not known who the author of this modifi-
  224. cation is.  Hopefully they will see this and make appropriate
  225. changes.This routine came to the Users Group as various names -
  226. REZOURCE, or REZ80.  Since there will likely some day be
  227. versions for both TDL and Zilog, I thought it appropriate to
  228. rename this .COM file RETDL, and reserve REZOURCE for the
  229. Zilog-format one (which doesn't yet exist; or at least if
  230. someone has it, they have not shared it; several people
  231. are working on such a version).
  232.  
  233. * Please note that Z80 is a trademark of Zilog, Inc.
  234. Use of the term Z80 in this application is in no way
  235. meant to infer that this is a program was written by Zilog.
  236.         ----------------
  237. ====> SURVEY3.ASM is Michael Friese's progam to, as named,
  238. "survey" your system.  It reports disk, port, and memory
  239. utilization.  Specifically, it:
  240. *    Lists Kbytes used and remaining plus number of files
  241.     on all logged disks (up to 8)
  242. *    Prints Memory map and synopsis of all machine memory
  243. *    Lists all active I/O Ports
  244. *    Uses disk allocation block for all disk calculations
  245.     Since is tests all ports on the system, be careful it
  246. doesn't hang up or cause errors.  The .ASM file included
  247. conditional assembly instructions for Tarbell, and IMS400
  248. disk controllers, to prevent hanging up.
  249.     SURVEY3 requires Digital Research's MAC to assemble.
  250. The program "drops in" and need be changed only if you have
  251. ports which might hang up.  It is well commented.
  252.         ----------------
  253. ====> XD-7/4.ASM is S.J.Singer's extended sorted directory
  254. list program, as modified by:    H.R.Moran Jr, R.M.Glueck,
  255. K.B.Petersen W8SDZ, and    John C. Rossmann.
  256.     It produces a sorted directory listing, across the
  257. page, including file sizes.
  258.     It has no hardware or software dependencies.  Included
  259. is the ability to be assembled for 4200H base CP/M systems
  260. (Heath, R.S.).
  261.     The code is well commented and quite easy to modify.  It
  262. would have to be modified for short (e.g. VDM) screens.
  263.         ----------------
  264.     Documentation for PTSRCNVT.COM
  265.     Written by: Tom Digate
  266.     Version 1.0 - Nov., 1979
  267.  
  268.     This program is used to convert files that were used
  269. with Processor Technology Software Package 1 and ALS8
  270. assemblers to a format that is CP/M assembler compatible.
  271. This includes adding tabs and semicolons in place of spaces
  272. and asterisks. The program reads the PT file from disk on
  273. a byte by byte basis and checks for label,opcode,operand,
  274. and comment fields. If a character replacement or deletion
  275. is required, it is performed and then the character is
  276. written to a new output file.
  277.     The PT file can be saved on disk by first loading it
  278. into memory starting at location 100H and then saving
  279. it using the CP/M save command.
  280.  
  281.     The command format is as follows:
  282.     PTSRCNVT ifilename ofilename <cr>
  283. The program checks for proper parameters and will abort
  284. if any are missing or the input file does not exist.
  285. The old ofilename will be erased and then a new file
  286. is created. This is done so that you do not have
  287. to erase it manually.  If a disk error occurs, a message
  288. will be printed and the program will abort.
  289.  
  290.     This file was assembled using a MACRO library from
  291. a previous Users Group Volume and the Digital Research
  292. MACro Assembler. The COM file is a ready-to-run version
  293. of this file in case you do not have the above software tools.
  294.     This program will not handle files that do not have
  295. line numbers or lines that have only a line number and nothing
  296. else. If a label is found, an opcode must be present.
  297. Opcodes that have no operand and use a period for formatting
  298. purposes will still have the period in the
  299. new file. This can be edited out by replacing all occurrences
  300. of a <tab>. with a <tab><tab>
  301. There are no other known peculiarities of this program.
  302. Hope that you enjoy using this program. It has saved me
  303. hours in upgrading my cassette system to CP/M. I hope that it
  304. can do the same for you.
  305. INTERPRETATION OF DIRECTORY DATA PRESENTED BY THE DU PROGRAM
  306.  
  307.  
  308. The following explains the format of a CP/M directory entry
  309. as shown by DU, using either the "F" (find file) command,
  310. or just doing "D" (dump) of the directory sectors, which
  311. are located in groups 0 and 1 on a single density disk.
  312.         ----------------
  313. Sample result of "FSID.COM" command:
  314.  
  315. 40  00534944 20202020  20434F4D 0000003A  *.SID     COM...:*
  316. 50  33343536 3738393A  00000000 00000000  *3456789:........*
  317.  
  318. First line -
  319.  
  320. 40  00534944 20202020  20434F4D 0000003A  *.SID     COM...:*
  321. ||  |||                      |  ||    ||    |         |
  322. ||  ||^----hex file name-----^  ||    ||    ^file name^
  323. ||  ||                          ||    ||     in ASCII
  324. ||  ||                   extent-^^    ||
  325. ||  ||                                ||
  326. ||  ||           file size in sectors-^^
  327. ||  ||
  328. ||  ^^-00 = file active
  329. ||     E5 = file erased
  330. ^^-displacement of line in directory sector
  331.  
  332. Second line -
  333.  
  334. 50  33343536 3738393A  00000000 00000000  *3456789:........*
  335.     |                       |
  336.     |                       |
  337.     ^---allocation group numbers-------^
  338.  
  339.        80AT (Series 80 Applications Transfer - Australia)
  340.  
  341.               CP/M User's Group Disk Lable Program
  342.  
  343.                          By Bill Bolton
  344.       
  345.      This  program is written in Microsoft BASIC release 5.1 and 
  346. will run under both the compiler and interpreter.  As I intended 
  347. the program to be complied,  generous use has been made of  long 
  348. lables  which impose no speed penalty with the compiled version. 
  349. There is a small speed penalty as a result when running with the 
  350. interpreter but it is minimal.
  351.  
  352.      There  is  extensive  operator prompting for  all  possible 
  353. program   options  with  defaults  set  for   maximum   operator 
  354. convenience.  I suggest that you run the program and see what it 
  355. does.
  356.  
  357.      As presented the program is ready to run on a Lear  Seigler 
  358. ADM 31 or a SOROC terminal. The only hardware dependant features 
  359. are a clear screen routine (you can simulate it with line feeds) 
  360. and  a reverse video routine (only used to highlight heading and 
  361. error messages).  Both routines are located in the block  labled 
  362. "VIDEO  ATTRIBUTES".  The  program assumes an 80 character  wide 
  363. display,  if you have a narrow display you will probably have to 
  364. change  the  format  of some of  the  INPUT  statement  prompts, 
  365. otherwise the thing should display OK.
  366.  
  367.      The program will generate lables for CP/M User's Group disk 
  368. volumes  1 to 42 (as of June 1980) including 23B.  Volume 39 has 
  369. been withdrawn and no lable can be generated for it,  an warning 
  370. message is displayed if volume 39 is selected.  Provsion is made 
  371. for printing a lable for a "Total Catalogue" disk.
  372.  
  373.      A typical lable appears as follows:
  374.  
  375.     ********************************************************
  376.     *                                                      *
  377.     *    CP/M User's Group Disk, Volume : 1                *
  378.     *                                                      *
  379.     *    Various CP/M Utilities                            *
  380.     *                                                      *
  381.     *    From the 80AT Public Domain Software Library      *
  382.     *                                                      *
  383.     *    IBM 3740 Single Density, 128 Byte Sectors         *
  384.     *                                                      *
  385.     ********************************************************
  386.  
  387.  
  388.      The  Density/Bytes per Sector line selection routine is set 
  389. up for all the formats that 80AT has occasion to use. It is easy 
  390. to  add or delete selections,  you simply need to add/delete the 
  391. selection string and adjust the DIM of SUB$.
  392. è     The  batch  print mode assumes that you are using form  fed 
  393. lables.  My  form fed lables (from Avery) are spaced  exactly  9 
  394. lines  apart from the top of one to the top of the next,  so the 
  395. program  assumes this spacing.  To change it just  insert/delete 
  396. LPRINT statements in the "PRINT THE LABLE" block as  appropriate 
  397. for your form fed lables.
  398.  
  399.      In the individual lable mode you should be able to use just 
  400. about any type of lable.
  401.  
  402.      When  further  volumes  are  added  to  the  User's   Group 
  403. collection  it will be easy to adjust the program.  Just add the 
  404. new  volume numbers and descriptions into the volume check  area 
  405. and  change  the  variable MAX% to the  number  of  the  highest 
  406. volume.  The  volume numbers are input as strings so it would be 
  407. possible  to add other "extra" volumes such as I have done  with 
  408. "CAT".  If  you  want to do this then just add  the  new  volume 
  409. "string"  to  the  volume  check area  and  add  another  option 
  410. question to the "ALL" routine.
  411.  
  412.      The program will take up to 200 entries in one batch,  this 
  413. seemed  a  reasonable number to me as I rarely do more than  two 
  414. complete  sets of lables in one batch.  If you really must  have 
  415. more lables in a batch then change the DIM ENTRY$(200) statement 
  416. at  the front of the program to whatever number of  entries  you 
  417. want.   BE  WARNED!  If you choose to compile it and exceed  the 
  418. number of entries dimensioned for,  unpredicatable  (but  nasty) 
  419. things  will happen  as  the variable   storage  is  below   the  
  420. program   in   the  TPA.    The interpreter  will   detect   the 
  421. problem and  give  you  an  error message.
  422.  
  423.      Note  - Programs compiled with the Microsoft Basic Compiler 
  424. cannot be distributed without the payment of a royalty to Micro-
  425. soft for the use of their runtime library.
  426.  
  427.      Copyright  (C)  of this program is retained by  W.  Bolton. 
  428. Non-commercial  use is permitted as an aid for the  disemination 
  429. of  knowledge/information  but commercial  exploitation  is  not 
  430. permitted  and  "I'll come round and rip your bloody  arms  off" 
  431. (ancient Australian curse) if I catch you !
  432.             PMMIBYE5.DOC    (as of 7/20/80)
  433.  
  434.     The PMMIBYE5.ASM program is out for distribution,
  435. but it has not been thoroughly tested in all of the
  436. possible modes of operation.  
  437.     (Please note that version 5.4 is substantially longer
  438. than previous PMMIBYE versions.  Because of the great
  439. number of conditional switches, the program could require
  440. as many as 1060 bytes of RAM, or it could be smaller than
  441. the 900 bytes used by the original PMMIBYE.  It all
  442. depends on the way you set it up.)
  443.  
  444.    Basically, several new conditional assembly routines
  445. have been added to allow user selection at time of
  446. assembly of the following:
  447.      1. Password access
  448.      2. User log (counts number of system callers)
  449.      3. Memory-mapped console I/O
  450.    Also added to V5.4:
  451.      1. 710 Baud option for PMMI modem
  452.      2. Modifications to AUTO-ANSWER routines
  453.      3. "/R" option to allow reset of user log counters
  454.  
  455.    Password access was made conditional to allow
  456. use with systems that offer unrestricted access.
  457.    The user log was added to allow the system operators
  458. to keep track of the number of people who called the
  459. system.  In addition, it can also count the number of
  460. unsuccessful log-ons (i.e. didn't know password) and
  461. the number of voice calls, and conditionally
  462. display both numbers on the system console when the
  463. program is exited with a control-C from the system
  464. console.  The counters can be initialized with
  465. the "/R" option to all zeroes, or preset by using
  466. DDT, or SID.  The number of successful log-ons is also
  467. conditionally output to port 255 (0FFH) for display on the
  468. computer's front panel.
  469.    The memory-mapped I/O conditionals have been added
  470. to allow use of the serial I/O port on the Morrow's 2D
  471. controller board as the system console; however, the
  472. routines can be used with any memory-mapped system.
  473.    The 710 Baud option was added for "short-haul"
  474. callers, and because operation at 710 Baud with
  475. the PMMI modem is "iffy" at best, it will probably
  476. be of very little use.
  477.    The AUTO-ANSWER routines were modified to allow
  478. more dependable ringback operation.  Unfortuneately,
  479. the ringing signal at the caller's end of the phone line
  480. does not always correspond exactly with the ringing
  481. signal at the system's end.  Although a system-end ring
  482. does occur sometime during the caller's ring cycle (ring-
  483. no ring), it is possible for the system to receive no
  484. or 2 rings in the time that the caller thinks just
  485. one ring has occurred (The DIAL program is notorious for 
  486. this).  The solution chosen for this problem was to
  487. check for one or two rings before call-back.  This
  488. would allow for the "phase" difference of the caller-
  489. system ring signals.  This solution also means that
  490. the phone must ring at least three times before the
  491. system will assume that the call is voice, and is not
  492. to be answered.  The advantage of this arrangement is
  493. that it is virtually impossible for the computer to
  494. "miss" a call that is intended for it.
  495.