home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / disks / disk388.lzh / DClock / DClock.doc < prev    next >
Text File  |  1990-10-23  |  30KB  |  576 lines

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