home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff398.lzh / DClock / DClock.doc < prev    next >
Text File  |  1990-11-01  |  31KB  |  582 lines

  1. ============================ DClock v1.29 ============================
  2. ======================== A Dumb Clock Utility ========================
  3. ======================================================================
  4.  
  5. ========================= IMPORTANT NOTICE ===========================
  6. ======================================================================
  7. Due   to   an  important  change  in  the  handler  <->  main  process
  8. communication   structure   'DClock'  revisions  older  than  1.7  are
  9. incompatible  with this release.  Delete the older files and terminate
  10. the   clock   process  before  you  install  the  1.29  update  first!
  11. Programmers:  starting with v1.12 the DSeg port structure has changed.
  12. To  make  future  expansion easier and to avoid collisions with custom
  13. 'DClock'  versions  ten  longwords have been reserved at the bottom of
  14. the structure.
  15.  
  16. ============================ BACKGROUND ==============================
  17. ======================================================================
  18. Who  cares  for  clock  utilities,  really,  who does?  Well, I do.  I
  19. needed  one,  but  couldn't  find  anything  suitable.   The  standard
  20. Workbench   clock   was  a  bit  too  big,  Mclk  slowed  down  system
  21. performance,  TUC  had  far  too  many  features (including occasional
  22. disk-trashing),  RSLClock  was  too  large,  so  was MachII and DMouse
  23. intentionally didn't have any clock display.  So, what was I up to do?
  24. Right,  I  programmed  my  very  special  creation,  short,  sweet and
  25. functional.
  26.  
  27. ============================= FEATURES ===============================
  28. ======================================================================
  29. Since  I  have already cooked out my custom version of DMouse I didn't
  30. need any additional Mouse accelerator, so this one didn't get into it.
  31. What  I  needed  were  Date (including weekday) and Time.
  32.         The  most important question was:  where to place the display?
  33. Since  I  have  already  tested mouse pointer clocks and my home brewn
  34. MouseClock  program  which  features two sprites hovering at the right
  35. hand  side  of the mouse pointer, the answer could only be:  put it on
  36. the Workbench screen.
  37.         Remembering   my  experiences  with  ReadySoft's  A-Max  Apple
  38. MacIntosh  Emulator  the  time display found its way to the right hand
  39. side  of  the  Workbench  title  bar.  The time string is updated each
  40. second.
  41.         'DClock'  and  'DClock-Handler' need arp.library v39.1 and can
  42. be  made  resident  via  the  'ARes'  command.  If you wish to use the
  43. 'DClock' ARexx interface, rexxhost.library v34.9 or above is required.
  44.         Mclk  uses  about  10%  of  CPU  time and about 16000 bytes of
  45. memory  (that's  almost  as  much  as  the  standard  Workbench  clock
  46. consumes),  MachII uses 4% of CPU time and 32000 bytes.  'DClock' only
  47. consumes  between 1% and 5% of CPU time and requires about 36000 bytes
  48. of memory.
  49.  
  50. =========================== INSTALLATION =============================
  51. ======================================================================
  52. Place  'DClock-Handler' in L:, 'DClock' in C:  or SYS:, arp.library in
  53. LIBS:, type "DClock" to install, "DClock quit" to remove.  Easy, isn't
  54. it?
  55.  
  56. ============================== EXTRAS ================================
  57. ======================================================================
  58. 'DClock'  still  isn't  a  pure  clock  utility.   I used to install a
  59. program  called  DisplayBeep  in  my  Startup-Sequence  script.   This
  60. program  spawned  a  process which replaced the DisplayBeep() function
  61. with  a  substitute  not  only  to  flash the display but also to beep
  62. audibly.   To  save  some  memory  the  code of DisplayBeep.c has been
  63. incorporated into 'DClock-Handler.c'.  I also added the Click.c code I
  64. had  written back in October.  Somebody asked me to add an alarm-clock
  65. function which took me two hours to program.
  66.  
  67. =============================== USAGE ================================
  68. ======================================================================
  69. To  start  simply type "DClock" (followed by none or more options) and
  70. press  return.  The main process will be "pulled up" almost instantly.
  71. Note:  if ANYTHING goes wrong at this stage, 'DClock' will stop at the
  72. point  where  "Installing  DClock,  " appears and nothing else happens
  73. (the  handler process has probably died).  'DClock' will wait for ever
  74. unless  CTRL-C is pressed.  'DClock' will shut down and issue an error
  75. message.
  76.  
  77. Now  for  the  command  line  options.  'DClock' knows and handles the
  78. following:
  79.  
  80. QUIT .................. Terminates the handler process and removes all
  81.                         loaded data.
  82.  
  83. INFO .................. Gives some information on the current 'DClock'
  84.                         revision.
  85.  
  86. VERSION ............... Displays   the  current  revision  number  and
  87.                         creation date of 'DClock'.
  88.  
  89. QUIET ................. Suppresses all those neat information messages
  90.                         which   are   issued  each  time  an option is
  91.                         selected.
  92.  
  93. REFRESH ............... Will  reposition the 'DClock' display (vScreen
  94.                         users:  after the screen size has been changed
  95.                         use this option to move the display).
  96.  
  97. READCLOCK ............. Similar  to  the  'SetClock' command, 'DClock'
  98.                         will  read the time from the builtin real time
  99.                         clock   chip   and   adjust  the  system  time
  100.                         accordingly.   Note:   'DClock' will only read
  101.                         the  information  and cannot be used to adjust
  102.                         the  battery backed up time (such as 'SetClock
  103.                         save');   so  do  not  delete  the  'SetClock'
  104.                         command!
  105.  
  106. BEEP ON/OFF ........... 'DClock' uses a modified DisplayBeep() routine
  107.                         which  lets  the  usual  display  flash  (e.g.
  108.                         after  the CTRL-G signal) produce a brief beep
  109.                         as  well  as  a flash.  The beep can be turned
  110.                         off this way (default is on).
  111.  
  112. CLICK ON/OFF .......... Each time a key is pressed a keyboard click is
  113.                         produced  (very  similar  to  the high quality
  114.                         style IBM-PC® keyboards).  This feature can be
  115.                         turned off this way (default is off).
  116.  
  117. SPEECH ON/OFF.......... 'DClock'  will tell you  the  time  using  the
  118.                         builtin  narrator.device.  This feature can be
  119.                         turned off and on using this switch.
  120.                         (default is off)
  121.  
  122. HOUR ON/OFF ........... The  'hour'  feature  will give a brief 'beep'
  123.                         signal  each  full hour.  I suppose this could
  124.                         be a lot funnier if the beep would be replaced
  125.                         by  the chime of the Clock Tower of The Houses
  126.                         of  Parliament ('Big Ben').  Any sampled sound
  127.                         donations are welcome. (default is off)
  128.  
  129. SECONDS ON/OFF ........ 'DClock' displays the  current  time including
  130.                         minutes  and  seconds.  The second display can
  131.                         be  turned  off  via  keyboard  or  with  this
  132.                         option. (default is on)
  133.  
  134. SETENV ON/OFF.......... Will  write  the day, date & time to Manx-type
  135.                         environment  variables  (DAY,  DATE  &  TIME).
  136.                         This   feature  can  be  turned  on  and  off.
  137.                         (default is off)
  138.  
  139. COUNTDOWN #/SHOW ...... This is how 'DClock' can help you to make tea:
  140.                         set  the timeout to, say 300 (= 5 minutes * 60
  141.                         seconds)  while your Earl Grey tea is drawing.
  142.                         'DClock'will ring the bell after five minutes.
  143.                         'DClock   COUNTDOWN  SHOW'  will  display  the
  144.                         number   of   seconds  to  elapse  before  the
  145.                         countdown clock rings.
  146.  
  147. SOUND <Name>/OFF ...... I don't know if this is useful for anyone, but
  148.                         it  may be good for a laugh.  The default hour
  149.                         chime  produces  a  simple  beep signal.  This
  150.                         option  will  load any IFF-8SVX-sound and play
  151.                         it  each time it is required.  Selecting 'OFF'
  152.                         as  the  argument to this option will reset to
  153.                         the  default  beep.  (default is - of course -
  154.                         the default beep)
  155.  
  156. TEXTCOLOUR # .......... The  colour  in  which  the  'DClock' time and
  157.                         memory  display  will  appear  can be adjusted
  158.                         this way.  (default is 0)
  159.  
  160. BACKCOLOUR # .......... Same  as  above,  but controls  the background
  161.                         colour.  (default is 1)
  162.  
  163. CLICKVOLUME # ......... The  volume  of  the  keyboard  click  can  be
  164.                         adjusted between 0 and 64.  (default is 64)
  165.  
  166. PRIORITY # ............ This  determines the handler process priority.
  167.                         Any  number  between  -128  and  127  will do.
  168.                         (default is 5)
  169.  
  170. PAGE # ................ Selects one of the four  (five) display  pages
  171.                         as the startup page. (default is page 0)
  172.  
  173. ALARM ON/OFF/SHOW ..... The alarm clock function is controlled by this
  174.                         function.   It can be turned off and on.  SHOW
  175.                         displays  the  currently  selected alarm time.
  176.                         (default is off)
  177.  
  178. ALARMTIME HH:MM:SS .... The  alarm  time  is adjusted via this option,
  179.                         note  that  the alarm itself must be turned on
  180.                         separately.  (default time is 12:00:00)
  181.  
  182. Workbench  users:   'DClock'  can  be  started  from  Workbench!   The
  183. following  tooltype  entries  correspond to the approriate CLI options
  184. and have to appear in capital letters:
  185.  
  186. BEEP,  CLICK,  CLICKVOLUME,  PRIORITY,  TEXTCOLOUR, BACKCOLOUR, ALARM,
  187. ALARMTIME,  SETENV,  COUNTDOWN,  HOUR,  SECONDS,  SOUND, PAGE, SPEECH,
  188. READTIME
  189.  
  190. The  expected  arguments  are the same as with the CLI options.
  191.  
  192. ========================== DCLOCK AND AREXX ==========================
  193. ======================================================================
  194. Important  notice:   the  DClock<->ARexx  interface  will only work if
  195. rexxhost.library v34.9 or above is present in your system!
  196.  
  197. Interfacing  to 'DClock' from ARexx is fairly easy.  An example script
  198. could look like this:
  199.  
  200.         /* A simple DClock<->ARexx demonstration. */
  201.  
  202.         /* We want results to be returned from 'DClock'. */
  203.  
  204.         options results
  205.  
  206.         /* Take 'DClock' as the host address for the following
  207.          * commands.
  208.          */
  209.  
  210.         address dclock
  211.  
  212.         /* Do something sensible, first ask 'DClock' to return its
  213.          * version number.
  214.          */
  215.  
  216.         status version
  217.  
  218.         say 'You are using DClock' result
  219.  
  220.         /* We'll turn on the keyboard click. */
  221.  
  222.         click on
  223.  
  224.         /* And we'll set the display colours. */
  225.  
  226.         textcolour 3
  227.         backcolour 2
  228.  
  229.         /* Ask 'DClock' to tell us the time. */
  230.  
  231.         telltime
  232.  
  233.         /* That's all, read on! */
  234.  
  235. The  'DClock' ARexx interface knows all commands which can be set from
  236. CLI  using  the  'DClock'  main  program.  The only difference is that
  237. commands displaying information such as 'DClock ALARM SHOW' will leave
  238. a  result  in the ARexx 'result' variable.  These results are obtained
  239. through  the  'status'  command,  not  through  the  setting  commands
  240. themselves.    'status  version'  will  return  the  current  'DClock'
  241. version,  'status  alarm' will return 'off' if alarm is disabled, 'on'
  242. if  alarm  is  enabled.   The  'status'  command  knows  the following
  243. keywords:
  244.  
  245. BEEP,  CLICK,  CLICKVOLUME,  PRIORITY,  TEXTCOLOUR, BACKCOLOUR, ALARM,
  246. ALARMTIME,  SETENV,  VERSION,  COUNTDOWN,  HOUR, SECONDS, SOUND, PAGE,
  247. SPEECH, LINE
  248.  
  249. Note:   'LINE'  will  report 'OFF' if your Amiga computer is currently
  250. offline and 'ON' if a carrier signal is detected.
  251.  
  252. If 'status' doesn't recognize a keyword or if you don't supply one, it
  253. will return a string of the following format:
  254.  
  255. BEEP  ON CLICK OFF CLICKVOLUME 64 PRIORITY 5 TEXTCOLOUR 0 BACKCOLOUR 5
  256. ALARM  OFF  ALARMTIME  12:00:00 SETENV OFF VERSION 20 COUNTDOWN 0 HOUR
  257. OFF SECONDS OFF SOUND OFF PAGE 0 SPEECH OFF LINE OFF
  258.  
  259. The  ARexx  interface  itself  isn't  very  powerful yet, since it was
  260. designed to simplify the rendezvous with DClockMenu.rexx.  It is quite
  261. DClock-specific,  no  other  program  will  profit from interfacing to
  262. 'DClock'.  It's up to you to decide what 'DClock' will be good for.
  263.         The  ARexx  interface  will  recognize  a  request to tell the
  264. current time.  The approriate command is called "TELLTIME".  Note that
  265. this function will still work if speech is turned off globally.
  266.  
  267. ========================= DCLOCK AND HOTKEYS =========================
  268. ======================================================================
  269. The  'DClock'  display is controlled by two hot-keys:  LEFT-AMIGA+HELP
  270. and LEFT-AMIGA+DEL.  The help-key cycles through five and a half (what
  271. does  he  mean  by  'a  half'?)  different  displays:   time and date,
  272. graphical  memory  display, numerical memory display and online timer.
  273. The  del-key toggles whether the time display includes seconds or not.
  274. If  a countdown is currently running it will be displayed on the fifth
  275. page  (which you know can be flipped with LEFT-AMIGA+HELP).  If speech
  276. is  enabled,  'DClock'  will  tell  you  the current time if you press
  277. LEFT-ALTERNATE+HELP.   Note  that  if  speech  has just been disabled,
  278. pressing these keys will deallocate the speech task freeing additional
  279. memory.   If  speech is turned on again, or the TELLTIME command comes
  280. in from ARexx, the speech server will be reinitialized.
  281.  
  282. ======================== FUTURE ENHANCEMENTS =========================
  283. ======================================================================
  284. Since  starting  with this revision the hour chime sound can be loaded
  285. externally, the next logical step would be to approach keyboard click,
  286. displaybeep  and  alarm clock in a similar way.  To be frank:  I don't
  287. see  the  sense  behind  it.   If you do, try to add it on your own (I
  288. always  said  that custom 'DClock' versions are generally appreciated)
  289. or try to convince me to add this feature in a future revision.
  290.         In  my  opinion  - which is shared by the majority of 'DClock'
  291. users who have contacted me yet - 'DClock' has reached the point where
  292. each  new  feature  has  to  be  weighed  carefully  against  size and
  293. usefulness.   If  you  want  'DClock'  to have new functions (e.g.  to
  294. start  script  files  at fixed points of time or to use multiple alarm
  295. times) think twice before requesting them.
  296.  
  297. ============================== PROBLEMS ==============================
  298. ======================================================================
  299. Selecting  CLICK ON together with BEEP ON can cause problems if ConMan
  300. output  has  been  halted with  ^S.  It is quite likely that click and
  301. beep  will  lock  each other and the Amiga crashes.  I haven't found a
  302. solution  to  this  yet.
  303.  
  304. ============================== CREDITS ===============================
  305. ======================================================================
  306. Credits  go  to ARP Programmers for the most recent version of ARP, to
  307. Matt  Dillon  for  DMouse,  to  Mike  Oldfield  & Peter Norman for the
  308. keyboard  click,  to Mason/Waters/Wright/Gilmour/Parsons for the alarm
  309. clock  sound,  to  John  Hodgson for the beep, to Thad Floryan for his
  310. date  conversion  routines  and  to  Justin V.  McCormick for the very
  311. basic string formatting code.
  312.         A special mention must also go to Bill Hawes, author of ARexx,
  313. and  to  the  authors of CygnusEd Professional 2 (Bruce Dawson & Colin
  314. Fox) whose programs both controlled the compiler runs.
  315.         The DClockMenu.rexx code was created by Stefan Sticht who also
  316. is  responsible  for  a good lot of ideas which have been incorporated
  317. into 'DClock' over the last few months.
  318.  
  319. ================== COPY FEE, AUTHORS REQUEST, ETC. ===================
  320. ======================================================================
  321. If  you  like  'DClock' and wish to contribute any money I urge you to
  322. send at least 10 US$ to...
  323.  
  324.                         Amnesty International
  325.                             P.O. Box 37137
  326.                         Washington D.C. 20013
  327.  
  328. I  suppose Amnesty International can make better use of the money than
  329. I can.  Even the smallest contribution makes sense.
  330.  
  331. I don't care what happens to 'DClock' and 'DClock-Handler', copy them,
  332. sell them, delete them, they are meant to be PUBLIC-DOMAIN.  But don't
  333. 'fleece'  other  users  for  them.   Permission  to  redistribute  the
  334. documentation, the source code and executable files granted as long as
  335. the body of this document is left intact.
  336.  
  337.                                   -
  338.  
  339. I have tried to make 'DClock' as flexible as possible.  The rendezvous
  340. data  is  easily  to  be  extended.   I  encourage you to add whatever
  341. feature  you  want.   I  only ask you to send me a copy of your custom
  342. version  of  'DClock'.  The future of this tool depends on you, spread
  343. the word and also the disk!  My address is:
  344.  
  345.                           Olaf Barthel, MXM
  346.                           Brabeckstrasse 35
  347.                           D-3000 Hannover 71
  348.  
  349.                      Federal Republic of Germany
  350.  
  351. ============ REVISION HISTORY (most recent change first) =============
  352. ======================================================================
  353. V1.29   Small  bug  fixed  in  the  speech/rexx server.  If the speech
  354.         server  was  started  by the rexx server it could accidentally
  355.         freeze  the  rexx  server and flag the handler process to exit
  356.         (some  kind  of chain reaction).  The speech server would - as
  357.         usual  -  prefer  to  crash if told to quit.  The display beep
  358.         would not work correctly.  The beep sound has changed (plays a
  359.         sine wave instead of a square wave).
  360.  
  361. V1.28   Finally  -  the 'TurboBackup v1.0' <-> 'DClock' crash has been
  362.         fixed!   I  cannot  ascertain  how  it  came  to pass, but the
  363.         programs  do not lock each other out any more.  All files have
  364.         been  recompiled  using  Aztec 'C' 5.0b.  'DClock-Handler' now
  365.         also   uses   arp.library  (which  reduced  the  size  of  the
  366.         executable file by about 4000 bytes).
  367.  
  368. V1.27   This   release   introduces   a   new  useful  feature:   your
  369.         startup-sequence script can be sped up greatly by removing the
  370.         'SetClock  load' call and by adding the 'Readclock' keyword to
  371.         the   'DClock'  command  line.   Starting  with  this  release
  372.         'DClock'  is  able to read and set the system time by taking a
  373.         look  at  the battery backed up clock chip (information on the
  374.         registers contained in the chip were lifted from Ralph Babel's
  375.         Amiga-Guru  Book).   The   code   size  went  down  by  almost
  376.         2000  bytes  for  both 'DClock' and 'DClock-Handler'.  A small
  377.         bug  was  fixed in the LoadChimeSound routine (the replay rate
  378.         was  miscalculated).   Please note that this revision does not
  379.         use  any inline library calls.  Careful analysis revealed that
  380.         parts  of  my  Aztec  5.0a Arp wrapper were broken which could
  381.         eventually  knock  out  the the DClock main program.  This has
  382.         been  fixed.   The  speech  server  had the unnerving habit of
  383.         crashing  when flagged to shut down; needless to say, this has
  384.         fixed, too.
  385.  
  386. V1.26   This  revision  includes some major, major changes; a new date
  387.         conversion  routine  has  been  incorporated into the handler.
  388.         Sometimes  the  old  one  miscalculated the date, resulting in
  389.         negative  date  values (blessed are those who were born on the
  390.         -1st  of  January  1978).   More important, DClock will adjust
  391.         itself  *automagically*  to  the  current  font  used  on  the
  392.         Workbench screen.  This is another benefit for A3000 users (if
  393.         you don't have an A3000, SetFont by Dave Haynie will do).  The
  394.         images  once displayed in the Full/Empty bar are gone and will
  395.         probably  never return.  Peter Fischer contributed the sampled
  396.         sound of 'Big Ben', thanks Peter!
  397.  
  398. V1.25   For  the  benefit  of A3000 owners 'DClock' will adjust to the
  399.         new  Kickstart environment.  Images are 'remapped' and colours
  400.         are  swapped  to  fit  the  new  standard colour palette.  The
  401.         display is shifted a bit to the right to take advantage of the
  402.         additional  space available in the Workbench screen title bar.
  403.         Minor changes have been made to various parts of the code.
  404.  
  405. V1.24   Made  small  changes to support code to cut down code size and
  406.         to  speed up special code passages.  Due to a semicolon behind
  407.         an  if() check RexxHostBase was always closed regardless if it
  408.         was   valid  or  not  causing  crashes  on  systems  in  which
  409.         rexxhost.library  was  not  present.  The original DisplayBeep
  410.         ROM  code  could accidentally crash the system.  To avoid such
  411.         collisions I have added back the old VideoBeep/AudioBeep code.
  412.         Starting  with  this release, the keyboard click is by default
  413.         disabled.
  414.  
  415. V1.23   I  was asked to add an online timer which took me some time to
  416.         create. At first I started playing with hot-keys to start/stop
  417.         the timer.  After a while I discovered that some CIA or Custom
  418.         chip register contains a flag indicating if the serial port is
  419.         currently  busy.   The  online  timer  will start as soon as a
  420.         carrier  signal  is  detected,  and  will  stop if the carrier
  421.         signal  is  lost.  As a result, the countdown display has been
  422.         moved  to  the  fifth display page (the online timer currently
  423.         resides  on the fourth page).  Note that the online timer will
  424.         only  work  with  the  standard serial.device, the Supra modem
  425.         (internal  A2000 modem) or the ASDG extra modem are definitely
  426.         not  supported.   I haven't checked how the online timer keeps
  427.         up   with   multiplexed  serial  signals  (I  don't  have  any
  428.         multiplexing  hardware connected to my serial port).  Starting
  429.         with  this  release the DisplayBeep video beep will be handled
  430.         by the original ROM code.
  431.  
  432. V1.22   Discovered  that  even  the  Ring()  routine used to hang when
  433.         terminating  the sound using AbortIO.  I suppose that there is
  434.         something  badly wrong with audio.device which should be fixed
  435.         as  soon  as  possible  (e.g.  in Kick2.0).  This routine - as
  436.         some others do - now rather calls WaitIO than AbortIO.  I also
  437.         added  the  speech  feature  I found missing.  If working with
  438.         different  custom  screens you can't always take a look at the
  439.         clock  display.   This feature uses less memory than you might
  440.         think,  the  speech  server even gets deallocated if speech is
  441.         turned  off.  And anyway, if they build cuckoo clocks with tea
  442.         machines  and  put  together copy programs with builtin Tetris
  443.         games,  why shouldn't there be a clock utility to tell you the
  444.         time?
  445.  
  446. V1.21   Added PAGE option, rewrote the display beep code (used to do a
  447.         Forbid   after  LockIBase  which  could  result  in  a  deadly
  448.         embrace),  rewrote  the  time display routine (used to hang if
  449.         seconds were turned off externally).  There also was a problem
  450.         with  the  keyboard  click/display  beep code which caused one
  451.         routine  stealing  the other one's audio channel.  As a result
  452.         DClock-Handler  would  lock-up  trying  to vacate the keyboard
  453.         click  channel  on  exit.   This  has  been  fixed.  There was
  454.         another  problem  with the sound:  under certain circumstances
  455.         an  IORequest would never terminate (as you may know there are
  456.         similar  problems  with  serial.device).   This has been fixed
  457.         using AbortIO followed by a series of GetMsg/ReplyMsg calls.
  458.  
  459. V1.20   DClock-Handler  was  extensively rewritten for size and speed.
  460.         Andreas  Gehrke suggested an option to turn off the seconds in
  461.         the time display  which  I  finally  added.  Added  the  SOUND
  462.         option.
  463.  
  464. V1.19   The ARexx interface has been partly rewritten to deal with the
  465.         result  codes  correctly.  Furthermore I've added an option to
  466.         make 'DClock' beep  briefly  each  full  hour (this option was
  467.         suggested by Stefan Sticht, thanks Stefan!).  The command line
  468.         option 'DClock ALARM INFO' has changed to 'DClock ALARM SHOW'.
  469.         The  ringing  alarm  clock  can be cancelled via keyboard now.
  470.  
  471. V1.18   The  countdown  option  was  introduced  whilst playing Battle
  472.         Squadron  and drinking lots of cups of Earl Grey tea.  Credits
  473.         go  to  Holger  P.  Krekel who thought it to be a nice idea to
  474.         have a reliable timer for making tea.
  475.  
  476. V1.17   Finally  -  it  has  an ARexx interface and it even makes tea!
  477.         Can't  say that the ARexx interface has any peculiar  function
  478.         yet, it really doesn't do very much. But as usual, it's up  to
  479.         you to expand it. Important: you need rexxhost.library 34.9 or
  480.         above to use the ARexx feature.
  481.  
  482. V1.16   General  cleanups  for Aztec 5.0 release.  Most functions have
  483.         been  ANSIfied, illegal calling procedures were fixed, as well
  484.         as unused variables were removed.
  485.  
  486. V1.15   Some  minor bug fixes, this distribution now also includes the
  487.         DClockMenu.rexx macro file written by Stefan Sticht.
  488.  
  489. V1.14   Fixed  some  bugs  in the alarm clock routine (thanks to Peter
  490.         Fischer  the clock will break after thirty seconds of constant
  491.         ringing),  the  beep  routine  (thanks  to  Stefan  Sticht who
  492.         discovered  that  disabling  the beep function also killed the
  493.         visual  beep) and the PopRequest function which could crash if
  494.         former  front  screen/active window had been closed during the
  495.         request.
  496.  
  497. V1.13   Tried to port 'DClock' to Lattice 'C'; well,the attempt didn't
  498.         last  very  long,  I  will wait for the Aztec 'C' 5.0 compiler
  499.         update.  Some calling mistakes were traced.
  500.  
  501. V1.12   I 'ripped' the PopRequest routine from my programmers' library
  502.         (mxm.library)  and integrated it into the DClock.c code.  This
  503.         will  display  real error messages ever so often the Workbench
  504.         tool  info parsing routine stumbles upon an error.  Note also:
  505.         I've   quit  the  Electronic  Design  Hannover  team  and  the
  506.         copyright  changes  to  MXM.   A  note on the code (whoops, it
  507.         rhymes!):   the pop-up requester part may be incorporated into
  508.         any program which has any need of it.  If the CED Professional
  509.         update  had  reached  us earlier the req.library pop-ups would
  510.         have  been  employed  instead of my requesters.  It's too late
  511.         now,  I  don't  want  to  change the code any more and anyway:
  512.         some  of  you might think that 30 libraries (that's as much as
  513.         there  are  in my LIBS:  drawer) are enough and will prefer to
  514.         use the non-library code instead.
  515.  
  516. V1.11   Wow!   The  display  found its way back to the Workbench title
  517.         bar -> with the fastest refresh scheme possible.  This is done
  518.         via  rendering  into  an  invisible  RastPort;  this  image is
  519.         transferred  to  the  Workbench bar layer.  Now also included:
  520.         display  will  move  to  the  left  hand  of  the screen depth
  521.         arrangement gadgets after the REFRESH option is selected.
  522.  
  523. V1.10   Better   Workbench  support added (older revision preferred to
  524.         crash  too  often and didn't notice if Workbench was re-opened
  525.         after  closing  the  last custom screen). 'DClock' window will
  526.         auto-adjust  its  position  to appear at the left hand side of
  527.         the  screen  depth  arrangement  gadgets  (a  special gift for
  528.         overscanned Workbench screens - merry Christmas, it's the 22nd
  529.         of December 1989!).
  530.  
  531. V1.9    Full  Workbench  support  added (oh boy, I am tired!).  I will
  532.         try to supply a neat icon to get it working.
  533.  
  534. V1.8    CloseWBench()/OpenWBench()  support  available  now!  'DClock'
  535.         will  close  its  window  just  in time to allow the Workbench
  536.         screen  to  be  closed.  It will re-open its window as soon as
  537.         the Workbench screen has successfully been re-opened.  New for
  538.         single-bitplane  Workbench  (soon  to  come in Kickstart 1.4):
  539.         memory  gauge  will  display a shaded bar instead of an orange
  540.         one.
  541.  
  542. V1.7    Some  cosmetical  changes,  no  spectacular  work  done; well,
  543.         except  for the small bug fix in the alarm routine (alarm only
  544.         worked  if  time  display was active).  Docs partly rewritten,
  545.         cleaned  up  some  code.   Important:   added  new DSeg entry:
  546.         RingBack  ->  no  downward  compatibility  with older 'DClock'
  547.         revisions  guaranteed  anymore (sorry, but this was absolutely
  548.         necessary).
  549.  
  550. V1.6    Not released.
  551.  
  552. V1.5    Added  a  most  unnerving  alarm  clock function:  the display
  553.         vibrates,  a  bell  is  ringing ...  what can it be?  Probably
  554.         'DClock' trying to wake you up.
  555.  
  556. V1.4    Fixed  bug  in  time signal routine (didn't update if time was
  557.         set  backwards),  added  status  line  information,  corrected
  558.         exit() calls in 'DClock'.
  559.  
  560. V1.3    Played  around  with  a  taller custom font (saw Kickstart 1.4
  561.         alpha  15  and  noticed  that the Workbench status line became
  562.         longer overriding the 'DClock' display).   The font didn't get
  563.         into it.  Added a numerical memory display.
  564.  
  565. V1.2    Thought  of  incorporating  the  code of Click and DisplayBeep
  566.         into  'DClock'  and  added  them.   Also  stumbled upon my old
  567.         MemGauge program and added a memory gauge display.
  568.  
  569. V1.1    Added  ARP  interface,  replaced  standard  DOS calls with ARP
  570.         calls,  removed  the  clock  display from the barlayer (always
  571.         crashed  after  a  call  to  CloseWorkBench()),  added weekday
  572.         conversion and command line options.
  573.  
  574. V1.0    Simple  ('dumb')  backdrop clock with date and time display to
  575.         be rendered directly into the Workbench bar layer.
  576.  
  577.                                   *
  578.  
  579.              Do only its possibilities make it an Amiga?
  580.  
  581.                         WHERE IS THE MAGIC ???
  582.