Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » PD » Avison/!TaskUsage/!Help

Avison/!TaskUsage/!Help

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » PD
Filename: Avison/!TaskUsage/!Help
Read OK:
File size: 478D bytes
Load address: 0000
Exec address: 0000
File contents
                       Help for Task Usage                        Version 1.15
                       ===================                        � Martin Avison
                                                                  Avisoft
  Purpose
  =======

  The purpose of this little application is to display in figures and graphically:

  �    the recent average processor usage for each Task
  �    the recent average processor usage for each Wimp Reason Code
  �    the number of Wimp Polls being processed

  The Reason Code and Poll details can be for all Tasks, or for a specific Task.
  If for a specific task, any Reason Codes masked out by the task are shaded.

  This is all done with as little overhead as possible.

  The idea grew from a theory that some tasks seemed to take more processing power
  than they should, either permanently or intermittently, making the desktop
  sluggish.  The main causes seems to be programmers simple mistakes, or
  programmers being lazy, and ignoring the exhortation in the Programmer's
  Reference manual, page 3-116:

       "You can disable some of the event codes: they are neither checked for
       nor returned, and need not have any handlers provided.  You must do this
       for as many codes as possible, especially the Null_Reason_Code, if your
       task is to run efficiently under the Wimp."

  PLEASE TAKE NOTE!  With the help of TaskUsage we all now have NO excuse!


  How to use TaskUsage
  ====================

  The TaskUsage application is started in the normal way by double-clicking on
  the !TaskUsage icon in a Filer window.  It will install on the Icon Bar a
  TaskUsage icon consisting of a box containing 'CPU'.   However, after a small
  delay to collect initial statistics, the TaskUsage Icon Bar icon will be updated
  each second or two with a graphical representation of the total processor usage.

  The update time will be one second for RISC OS 3.5 and above (ie at least RISC
  PC), and two seconds for the slower machines to avoid a large display overhead.
  This default should be reasonable, but the default can be overridden if
  required  (please see the !Run file for details)

  The Icon will normally show the usage over the last 40 seconds or so.

  If Select is clicked on the TaskUsage icon bar icon, the Task Processor Usage
  window will open.  This window is in a similar format to the Task Manager's
  display of Storage usage, showing the current tasks, and in the same order.
  Against each task is shown the recent average percentage processor usage, as a
  percentage figure and a coloured bar graph.  In addition, the overall Processor
  usage is given, and the totals for Application and for Module tasks.  The
  display will update every second or two, and will adjust itself whenever tasks are
  started or stopped.  The window can be resized in the usual RISC OS way, but if
  Select is clicked on the Icon Bar the window will revert to the initial state,
  showing all Application Tasks, and only the total for the Module Tasks.

  If Adjust is clicked on the TaskUsage icon bar icon, the Task Reason Code
  Usage window will open.  This shows the recent average number of Wimp Polls
  being processed per second, and the processor usage for each Wimp Reason code.
  If a task is clicked on in the Task Processor Usage window, the Task Reason Code
  Usage window will change to show the figures for that task only.  While a
  specific task is being monitored, any Reason Codes which the task has masked out
  because it is not interested in them are shaded.  To revert to monitoring all
  tasks, simply click on any totals line in either window.  Note that the Reason
  Code shading cannot be updated until the task does something, however trivial.
  This is prompted by TaskUsage sending the task a Wimp_HelpRequest message, which
  is usually sufficient.  If all the reasons remain shaded, try opening a menu or
  a window for the task.  Unfortunately, if the Filer is clicked on, you may get
  an error message from the Filer of 'Message token MH not found'.  This will stop
  happening if a menu is opened over any Filer window!  And before you ask, I do
  not know why!

  If Menu is clicked on the TaskUsage icon bar icon (or on either TaskUsage
  window), the usual Info and Quit options are available.  In addition there is
  a Timer option, which just shows details of the Timer being used and the Update
  frequency, and Task and Reason options which will also open the windows.

  Note that full Interactive Help is available on all Menus and Windows, if !Help
  or !BubbleHelp is running.


  Machine Requirements
  ====================

  Any measurement will distort what is being measured, and Task Usage is no
  exception.  However, the overheads have been pared to a minimum to enable it
  to be run easily on any RISC OS machine.

  Note that at least RISC OS 3.00 is required to run TaskUsage.

  The memory requirements are approximately as follows:

  �    The TaskUsage relocatable module           6,192
  �    The TaskUsage module workarea              6,272
  �    The Messages file                          1,848

                          Total Storage          14,312

  The total storage required to run Task Usage is therefore only about 14k, all in
  the Relocatable Module Area, regardless of the machine model and page size. 
  Some 5k or so additional storage will also be obtained by the Wimp in the RMA to
  hold window definitions etc. for the Task Usage application.

  Task Usage measures it's own task, which uses on average the following
  processor power on two machines, with both windows open, even with over
  100 tasks running. Note it is even less without the windows open!

  �    RISC PC with StrongArm        less than 1% processor
  �    A4000                         varies between about 10% and 30%

  RmKill TaskUsage can be safely used to remove the module from storage.
  Quitting the TaskUsage application will do this automatically.


  How the Processor Usage is Calculated
  =====================================

  When TaskUsage initialises, it installs the following timing code in RISC OS:

  �    The internal Timer 1 is used to obtain all elapse times.  This requires
  interrupt code, which is only 6 instructions long, but it is called many times a
  second, depending on the 'precision' of the timing clock being used.

  !TaskUsage automatically sets the precision depending on the RISC OS version,
  and whether StrongArm is fitted.  This is so that faster processors can use a
  higher precision timer, but slower processors are not spending too much time
  trying to be over accurate!  The default settings should be reasonable, but the
  default can be overridden if required (please see the !Run file for details)

      Precision     Timers/Sec          Default used
          0            100
          1            200
          2            400              v3.00, v3.10, v3.11
          3            800
          4          1,600              v3.50, v3.70 (ie RISC PC)
          5          3,200
          6          6,400              v3.70 with StrongArm
          7         12,800
          8         25,600

  The higher the precision, the more accurate, but the more overhead!!

  This internal Timer is used in preference to the RISC OS Monotonic Time,
  because that is only available in centiseconds.  A StrongArm machine can poll
  at 20,000 times a second, so using a timer which is only capable of measuring to
  100 times a second is rather inaccurate!   Note however that there can be only
  one user of Timer 1 - if you have another Application which uses Timer 1, then
  if they are both running at the same time, the first one started will NOT work
  properly.  If you need to run both applications, then using a precision of M will
  set TaskUsage to use the Monotonic Time (100 Timers/sec) instead of Timer 1.

  The precision and the timer being used can be displayed by the menu option Timer.

  When TaskUsage initialises, it installs the following monitoring code in RISC OS:

  �    The Wimp Post-Filter code, which is about 12 instructions long, and is
  called every time a program returns from a Wimp Poll.

  �    The Wimp Pre-Filter code, which is about 33 instructions long, and is
  called every time a program calls Wimp Poll.

  �    The Interrupt code, which is called every second (or two), is about 230
  instructions, plus 10 for each of the maximum number of tasks that have run
  concurrently since the computer has been started or Reset.

  Using the times gathered by this monitoring code, the following are calculated:

  �    The elapse time is recorded for each Task, from the time when the
  application is returned to after calling WimpPoll, to the time the application
  calls WimpPoll again.  This is the elapsed time spent in the application Task.
  It will usually comprise Processor time, but if any input or output is involved,
  there may be some time spent waiting for the disc or other device.

  �    In addition, each second the interrupt routine first accumulates the time
  for the Task and Reason Code which it has interrupted.  It then calculates the
  latest average for each Task, and for each Wimp Reason Code.  The average is a
  simple rolling 'average', calculated by taking the last average, adding the
  latest elapsed processor time, and dividing by two.  It is not a true average,
  but it is simple, quick, and gives a reasonable representation of the usage.


  Test Programs Supplied
  ======================

  In the !TaskUsage directory there is a directory called TestProgs.
  This contains four simple programs:

  �    PollAsm      an Assembler WimPoll loop on NullPoll
  �    PollBasic    a BASIC WimPoll loop on NullPoll
  �    PollIdleBa   a BASIC WimPollIdle loop on NullPoll with 1/10 second delay
  �    PollModule   an Assembler WimPoll loop on NullPoll in a Relocatable Module

  Note that all these programs appear to do NOTHING when double clicked on.
  No icons appear!  They simply poll as fast as possible.
  The only way to stop them is to select Quit from the Task Manager display.

  Some test results from monitoring the Polling programs, with little else
  running, on two different machines, are as follows:

  RISC PC600 StrongArm   RISC OS 3.70
  -----------------------------------

  Precision         5
  Timer Used        Timer 1
  Timers/Second     6,400
  Seconds/Update    1

                     CPU Usage/Task                Polls/Second
  Programs          1 Task   2 Tasks             1 Task   2 Tasks

  PollModule           22%      10%              18,500    5,700
  PollAsm              20%       5%              18,400      800
  PollBasic            60%      15%              11,800      590
  PollIdleBa            0%       0%                  10       10

  A4000   RISC OS 3.10
  --------------------

  Precision         2
  Timer Used        Timer 1
  Timers/Second     400
  Seconds/Update    2

                     CPU Usage/Task                Polls/Second
  Programs          1 Task   2 Tasks             1 Task   2 Tasks

  PollModule            8%       4%                 750      200
  PollAsm               8%       4%                 750      180
  PollBasic            45%      15%                 400      130
  PollIdleBa            4%       4%                  10       10


  Observations from using TaskUsage
  =================================

  �    If RISC OS is not operating in multi-tasking mode, for example when F12 is
  used for a command line, or when a program is run which does not call Wimp Poll,
  then the figures collected will be (very) distorted, but will soon recover when
  multi-tasking is resumed.

  �    The time spent in applications either before the first call to WimpPoll,
  or after the return from the last WimpPoll, are not included in the times shown
  by TaskUsage, as they are not then multi-tasking.

  �    The time spent by RISC OS itself when not actually running tasks is not
  included in the times shown by TaskUsage.

  �    Any interrupt code is included in the application which happens to be
  running at the time, but this should be small.

  �    The number of Wimp Polls which are being processed per second tends to
  grow, then fall, as the system gets busier, as it can service each task less
  frequently.  Note that a large Null Reason Code time is not necessarily bad: it
  may show that the system has some spare time to do any background tasks
  required.

  �    On a RISC PC 600, an assembler loop round a Wimp_Poll in an Application
  Task can manage over 1,600 polls per second, and uses about 10% of the
  processor, if running on its own.  However, if another is started, the total
  drops to about 500, and each task is getting about half.  The total drop must be
  because of the overheads of running more than one application task, which
  requires memory to be paged in and out.  The system polling capability is then
  divided by the number of tasks running.  Subsequent additional tasks do not
  reduce the total significantly, but each task only gets it's share of Null
  Polls.  This is why misbehaved tasks which use the Null reason code when not
  required soak up such large amounts of processor time, making the system less
  responsive, even though Null codes are processed with the lowest priority.

  �    On a RISC PC 600, an BASIC loop round a Wimp_Poll can manage about 650
  polls per second, and uses about 55% of the processor, if running on its own.
  However, if another is started, the total drops to about 350, and each task is
  getting about half.  The drop of the total is less than with the assembler Poll,
  but this is probably because the multi-tasking overheads are partly overshadowed
  by the Basic overheads. Again, each task gets it's share of the Null Polls.

  �    On a StrongArm RISC PC, the assembler Wimp_Poll loop can reach 19,000
  polls per second, and the Basic loop can reach 1,550.

  Some observations on a few specific applications is as follows:

  �    !PCpro, version 2.03, supplier Aleph 1:  This uses 90%+ if the PC window
  is open, and has the input focus. This falls to 60% if it does not have the input
  focus, and 0% if frozen. If in full screen mode, it is obviously 100%.

  �    !Usage, dated 30/1/92, supplier Acorn:  This sometimes uses up to 30%,
  although it does not report the high usage!

  �    !OmniDesk, version 1.10, supplier Acorn User: Exhibits large amounts of
  Null Poll processor time.  It appears that the author planned to use PollIdle
  to poll once a second, as all the code it present apart from passing the time to
  Wimp_PollIdle.  This applies to IconFlags, SWIIndex, and WindFlags.

  �    !Larger, version 2.14, supplier Warm Silence Software: seems to use
  WimpPollIdle with a zero time in some cases (eg when a window had been dragged)
  until a mouse click is done on the !Larger backdrop.  Then the time is set to 25
  centiseconds, and the usage drops considerably.

  �    !FireworkzPro, version 1.30/06, supplier Colton Software: uses large amounts
  of Null Poll processor time, even when just loaded on the Icon Bar.

  �    !EasyFontPro, version 4.13a, supplier Fabis Computing: uses large amounts
  of Null Poll processor time, even when just loaded on the Icon Bar.

  These observations may not be typical - or even accurate!
  No criticism of the software is expessed or implied.


  Acknowledgements
  ================

  To Ran Mokady, for the initial inspiration for this !TaskUsage application.
  I obtained his !Usage application, version 1.00, dated 24th May 1990, from
  The Datafile.  However, it tended to lose storage, and it had a relatively high
  processor overhead.  As there was no contact information for Ran, I decided to
  try and improve on it.

  To Dominic Symes, for Zap, a wonderful editor.



  Conditions of Use
  =================

  Please note that all the software and documentation supplied with TaskUsage is
  copyright, and may only be copied for personal backup purposes.

  Although TaskUsage is believed to be free of any bugs, Avisoft cannot accept
  any responsibility for any loss or corruption of data which might result from
  using TaskUsage.  Normal testing and data backup should be performed!


  Problems and Suggestions
  ========================

  If any bugs or problems are found, or if you have any suggestions for
  improvements, please send me full details including version information,
  preferably on eMail, so that I can recreate the problem and try to correct it.


  History
  =======

  v0.??  15/ 5/96  All v0 were development versions, never released.
         It started as a BASIC program with a small Relocatable Module, and was
         gradually changed to a full Relocatable Module Wimp Task, using
         BASIC assembler.  This was to reduce storage requirements, and to eliminate
         the memory switching overhead when TaskUsage became active.

  v1.00   9/03/97  Allowed Monotonic Time from parm
  v1.01   9/03/97  Added Timer display dialog box
  v1.02  11/03/97  Fixed time data precisions
  v1.03  20/04/97  Allowed parm to vary PollIdle and Display time
  v1.04  09/05/97  Displayed PollTime in Timer dialog box
  v1.05  25/05/97  Corrected initialisation mask and LastTimer problems
  v1.06  20/08/97  Reduce Wimp Title to avoid old RISC OS problem
  v1.07   9/09/97  Made menu persistent if adjust pressed
  v1.10  14/12/97  First version released
  v1.11   1/ 2/98  Catered for Nested Window Manager
  v1.12   7/ 2/98  Tidied up Templates and Template handling
  v1.13   9/ 2/98  Optimised FNgettime and parameter setup
  v1.14  10/ 2/98  Reduced stack size
  v1.15  11/ 2/98  Reduced Reason time list

  Contact Information
  ===================

  eMail:      support@avisoft.force9.net

  SnailMail:  Martin Avison,
              Avisoft,
              16  Well Close,
              Leigh,
              TONBRIDGE,
              Kent      TN11  8RQ

  Phone:      01732 833549



    *******************************************************
    **  If this help has flashed past too fast to read,  **
    **  then please load !Edit and try again!            **
    *******************************************************

00000000  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000010  20 20 20 20 20 20 20 20  48 65 6c 70 20 66 6f 72  |        Help for|
00000020  20 54 61 73 6b 20 55 73  61 67 65 20 20 20 20 20  | Task Usage     |
00000030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000040  20 20 20 56 65 72 73 69  6f 6e 20 31 2e 31 35 0a  |   Version 1.15.|
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000060  20 20 20 20 20 20 20 3d  3d 3d 3d 3d 3d 3d 3d 3d  |       =========|
00000070  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 20 20 20 20 20 20  |==========      |
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000090  20 20 a9 20 4d 61 72 74  69 6e 20 41 76 69 73 6f  |  . Martin Aviso|
000000a0  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
000000b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000000e0  20 20 20 20 41 76 69 73  6f 66 74 0a 20 20 50 75  |    Avisoft.  Pu|
000000f0  72 70 6f 73 65 0a 20 20  3d 3d 3d 3d 3d 3d 3d 0a  |rpose.  =======.|
00000100  0a 20 20 54 68 65 20 70  75 72 70 6f 73 65 20 6f  |.  The purpose o|
00000110  66 20 74 68 69 73 20 6c  69 74 74 6c 65 20 61 70  |f this little ap|
00000120  70 6c 69 63 61 74 69 6f  6e 20 69 73 20 74 6f 20  |plication is to |
00000130  64 69 73 70 6c 61 79 20  69 6e 20 66 69 67 75 72  |display in figur|
00000140  65 73 20 61 6e 64 20 67  72 61 70 68 69 63 61 6c  |es and graphical|
00000150  6c 79 3a 0a 0a 20 20 8f  20 20 20 20 74 68 65 20  |ly:..  .    the |
00000160  72 65 63 65 6e 74 20 61  76 65 72 61 67 65 20 70  |recent average p|
00000170  72 6f 63 65 73 73 6f 72  20 75 73 61 67 65 20 66  |rocessor usage f|
00000180  6f 72 20 65 61 63 68 20  54 61 73 6b 0a 20 20 8f  |or each Task.  .|
00000190  20 20 20 20 74 68 65 20  72 65 63 65 6e 74 20 61  |    the recent a|
000001a0  76 65 72 61 67 65 20 70  72 6f 63 65 73 73 6f 72  |verage processor|
000001b0  20 75 73 61 67 65 20 66  6f 72 20 65 61 63 68 20  | usage for each |
000001c0  57 69 6d 70 20 52 65 61  73 6f 6e 20 43 6f 64 65  |Wimp Reason Code|
000001d0  0a 20 20 8f 20 20 20 20  74 68 65 20 6e 75 6d 62  |.  .    the numb|
000001e0  65 72 20 6f 66 20 57 69  6d 70 20 50 6f 6c 6c 73  |er of Wimp Polls|
000001f0  20 62 65 69 6e 67 20 70  72 6f 63 65 73 73 65 64  | being processed|
00000200  0a 0a 20 20 54 68 65 20  52 65 61 73 6f 6e 20 43  |..  The Reason C|
00000210  6f 64 65 20 61 6e 64 20  50 6f 6c 6c 20 64 65 74  |ode and Poll det|
00000220  61 69 6c 73 20 63 61 6e  20 62 65 20 66 6f 72 20  |ails can be for |
00000230  61 6c 6c 20 54 61 73 6b  73 2c 20 6f 72 20 66 6f  |all Tasks, or fo|
00000240  72 20 61 20 73 70 65 63  69 66 69 63 20 54 61 73  |r a specific Tas|
00000250  6b 2e 0a 20 20 49 66 20  66 6f 72 20 61 20 73 70  |k..  If for a sp|
00000260  65 63 69 66 69 63 20 74  61 73 6b 2c 20 61 6e 79  |ecific task, any|
00000270  20 52 65 61 73 6f 6e 20  43 6f 64 65 73 20 6d 61  | Reason Codes ma|
00000280  73 6b 65 64 20 6f 75 74  20 62 79 20 74 68 65 20  |sked out by the |
00000290  74 61 73 6b 20 61 72 65  20 73 68 61 64 65 64 2e  |task are shaded.|
000002a0  0a 0a 20 20 54 68 69 73  20 69 73 20 61 6c 6c 20  |..  This is all |
000002b0  64 6f 6e 65 20 77 69 74  68 20 61 73 20 6c 69 74  |done with as lit|
000002c0  74 6c 65 20 6f 76 65 72  68 65 61 64 20 61 73 20  |tle overhead as |
000002d0  70 6f 73 73 69 62 6c 65  2e 0a 0a 20 20 54 68 65  |possible...  The|
000002e0  20 69 64 65 61 20 67 72  65 77 20 66 72 6f 6d 20  | idea grew from |
000002f0  61 20 74 68 65 6f 72 79  20 74 68 61 74 20 73 6f  |a theory that so|
00000300  6d 65 20 74 61 73 6b 73  20 73 65 65 6d 65 64 20  |me tasks seemed |
00000310  74 6f 20 74 61 6b 65 20  6d 6f 72 65 20 70 72 6f  |to take more pro|
00000320  63 65 73 73 69 6e 67 20  70 6f 77 65 72 0a 20 20  |cessing power.  |
00000330  74 68 61 6e 20 74 68 65  79 20 73 68 6f 75 6c 64  |than they should|
00000340  2c 20 65 69 74 68 65 72  20 70 65 72 6d 61 6e 65  |, either permane|
00000350  6e 74 6c 79 20 6f 72 20  69 6e 74 65 72 6d 69 74  |ntly or intermit|
00000360  74 65 6e 74 6c 79 2c 20  6d 61 6b 69 6e 67 20 74  |tently, making t|
00000370  68 65 20 64 65 73 6b 74  6f 70 0a 20 20 73 6c 75  |he desktop.  slu|
00000380  67 67 69 73 68 2e 20 20  54 68 65 20 6d 61 69 6e  |ggish.  The main|
00000390  20 63 61 75 73 65 73 20  73 65 65 6d 73 20 74 6f  | causes seems to|
000003a0  20 62 65 20 70 72 6f 67  72 61 6d 6d 65 72 73 20  | be programmers |
000003b0  73 69 6d 70 6c 65 20 6d  69 73 74 61 6b 65 73 2c  |simple mistakes,|
000003c0  20 6f 72 0a 20 20 70 72  6f 67 72 61 6d 6d 65 72  | or.  programmer|
000003d0  73 20 62 65 69 6e 67 20  6c 61 7a 79 2c 20 61 6e  |s being lazy, an|
000003e0  64 20 69 67 6e 6f 72 69  6e 67 20 74 68 65 20 65  |d ignoring the e|
000003f0  78 68 6f 72 74 61 74 69  6f 6e 20 69 6e 20 74 68  |xhortation in th|
00000400  65 20 50 72 6f 67 72 61  6d 6d 65 72 27 73 0a 20  |e Programmer's. |
00000410  20 52 65 66 65 72 65 6e  63 65 20 6d 61 6e 75 61  | Reference manua|
00000420  6c 2c 20 70 61 67 65 20  33 2d 31 31 36 3a 0a 0a  |l, page 3-116:..|
00000430  20 20 20 20 20 20 20 22  59 6f 75 20 63 61 6e 20  |       "You can |
00000440  64 69 73 61 62 6c 65 20  73 6f 6d 65 20 6f 66 20  |disable some of |
00000450  74 68 65 20 65 76 65 6e  74 20 63 6f 64 65 73 3a  |the event codes:|
00000460  20 74 68 65 79 20 61 72  65 20 6e 65 69 74 68 65  | they are neithe|
00000470  72 20 63 68 65 63 6b 65  64 20 66 6f 72 0a 20 20  |r checked for.  |
00000480  20 20 20 20 20 6e 6f 72  20 72 65 74 75 72 6e 65  |     nor returne|
00000490  64 2c 20 61 6e 64 20 6e  65 65 64 20 6e 6f 74 20  |d, and need not |
000004a0  68 61 76 65 20 61 6e 79  20 68 61 6e 64 6c 65 72  |have any handler|
000004b0  73 20 70 72 6f 76 69 64  65 64 2e 20 20 59 6f 75  |s provided.  You|
000004c0  20 6d 75 73 74 20 64 6f  20 74 68 69 73 0a 20 20  | must do this.  |
000004d0  20 20 20 20 20 66 6f 72  20 61 73 20 6d 61 6e 79  |     for as many|
000004e0  20 63 6f 64 65 73 20 61  73 20 70 6f 73 73 69 62  | codes as possib|
000004f0  6c 65 2c 20 65 73 70 65  63 69 61 6c 6c 79 20 74  |le, especially t|
00000500  68 65 20 4e 75 6c 6c 5f  52 65 61 73 6f 6e 5f 43  |he Null_Reason_C|
00000510  6f 64 65 2c 20 69 66 20  79 6f 75 72 0a 20 20 20  |ode, if your.   |
00000520  20 20 20 20 74 61 73 6b  20 69 73 20 74 6f 20 72  |    task is to r|
00000530  75 6e 20 65 66 66 69 63  69 65 6e 74 6c 79 20 75  |un efficiently u|
00000540  6e 64 65 72 20 74 68 65  20 57 69 6d 70 2e 22 0a  |nder the Wimp.".|
00000550  0a 20 20 50 4c 45 41 53  45 20 54 41 4b 45 20 4e  |.  PLEASE TAKE N|
00000560  4f 54 45 21 20 20 57 69  74 68 20 74 68 65 20 68  |OTE!  With the h|
00000570  65 6c 70 20 6f 66 20 54  61 73 6b 55 73 61 67 65  |elp of TaskUsage|
00000580  20 77 65 20 61 6c 6c 20  6e 6f 77 20 68 61 76 65  | we all now have|
00000590  20 4e 4f 20 65 78 63 75  73 65 21 0a 0a 0a 20 20  | NO excuse!...  |
000005a0  48 6f 77 20 74 6f 20 75  73 65 20 54 61 73 6b 55  |How to use TaskU|
000005b0  73 61 67 65 0a 20 20 3d  3d 3d 3d 3d 3d 3d 3d 3d  |sage.  =========|
000005c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 0a 20 20 54  |===========..  T|
000005d0  68 65 20 54 61 73 6b 55  73 61 67 65 20 61 70 70  |he TaskUsage app|
000005e0  6c 69 63 61 74 69 6f 6e  20 69 73 20 73 74 61 72  |lication is star|
000005f0  74 65 64 20 69 6e 20 74  68 65 20 6e 6f 72 6d 61  |ted in the norma|
00000600  6c 20 77 61 79 20 62 79  20 64 6f 75 62 6c 65 2d  |l way by double-|
00000610  63 6c 69 63 6b 69 6e 67  20 6f 6e 0a 20 20 74 68  |clicking on.  th|
00000620  65 20 21 54 61 73 6b 55  73 61 67 65 20 69 63 6f  |e !TaskUsage ico|
00000630  6e 20 69 6e 20 61 20 46  69 6c 65 72 20 77 69 6e  |n in a Filer win|
00000640  64 6f 77 2e 20 20 49 74  20 77 69 6c 6c 20 69 6e  |dow.  It will in|
00000650  73 74 61 6c 6c 20 6f 6e  20 74 68 65 20 49 63 6f  |stall on the Ico|
00000660  6e 20 42 61 72 20 61 0a  20 20 54 61 73 6b 55 73  |n Bar a.  TaskUs|
00000670  61 67 65 20 69 63 6f 6e  20 63 6f 6e 73 69 73 74  |age icon consist|
00000680  69 6e 67 20 6f 66 20 61  20 62 6f 78 20 63 6f 6e  |ing of a box con|
00000690  74 61 69 6e 69 6e 67 20  27 43 50 55 27 2e 20 20  |taining 'CPU'.  |
000006a0  20 48 6f 77 65 76 65 72  2c 20 61 66 74 65 72 20  | However, after |
000006b0  61 20 73 6d 61 6c 6c 0a  20 20 64 65 6c 61 79 20  |a small.  delay |
000006c0  74 6f 20 63 6f 6c 6c 65  63 74 20 69 6e 69 74 69  |to collect initi|
000006d0  61 6c 20 73 74 61 74 69  73 74 69 63 73 2c 20 74  |al statistics, t|
000006e0  68 65 20 54 61 73 6b 55  73 61 67 65 20 49 63 6f  |he TaskUsage Ico|
000006f0  6e 20 42 61 72 20 69 63  6f 6e 20 77 69 6c 6c 20  |n Bar icon will |
00000700  62 65 20 75 70 64 61 74  65 64 0a 20 20 65 61 63  |be updated.  eac|
00000710  68 20 73 65 63 6f 6e 64  20 6f 72 20 74 77 6f 20  |h second or two |
00000720  77 69 74 68 20 61 20 67  72 61 70 68 69 63 61 6c  |with a graphical|
00000730  20 72 65 70 72 65 73 65  6e 74 61 74 69 6f 6e 20  | representation |
00000740  6f 66 20 74 68 65 20 74  6f 74 61 6c 20 70 72 6f  |of the total pro|
00000750  63 65 73 73 6f 72 20 75  73 61 67 65 2e 0a 0a 20  |cessor usage... |
00000760  20 54 68 65 20 75 70 64  61 74 65 20 74 69 6d 65  | The update time|
00000770  20 77 69 6c 6c 20 62 65  20 6f 6e 65 20 73 65 63  | will be one sec|
00000780  6f 6e 64 20 66 6f 72 20  52 49 53 43 20 4f 53 20  |ond for RISC OS |
00000790  33 2e 35 20 61 6e 64 20  61 62 6f 76 65 20 28 69  |3.5 and above (i|
000007a0  65 20 61 74 20 6c 65 61  73 74 20 52 49 53 43 0a  |e at least RISC.|
000007b0  20 20 50 43 29 2c 20 61  6e 64 20 74 77 6f 20 73  |  PC), and two s|
000007c0  65 63 6f 6e 64 73 20 66  6f 72 20 74 68 65 20 73  |econds for the s|
000007d0  6c 6f 77 65 72 20 6d 61  63 68 69 6e 65 73 20 74  |lower machines t|
000007e0  6f 20 61 76 6f 69 64 20  61 20 6c 61 72 67 65 20  |o avoid a large |
000007f0  64 69 73 70 6c 61 79 20  6f 76 65 72 68 65 61 64  |display overhead|
00000800  2e 0a 20 20 54 68 69 73  20 64 65 66 61 75 6c 74  |..  This default|
00000810  20 73 68 6f 75 6c 64 20  62 65 20 72 65 61 73 6f  | should be reaso|
00000820  6e 61 62 6c 65 2c 20 62  75 74 20 74 68 65 20 64  |nable, but the d|
00000830  65 66 61 75 6c 74 20 63  61 6e 20 62 65 20 6f 76  |efault can be ov|
00000840  65 72 72 69 64 64 65 6e  20 69 66 0a 20 20 72 65  |erridden if.  re|
00000850  71 75 69 72 65 64 20 20  28 70 6c 65 61 73 65 20  |quired  (please |
00000860  73 65 65 20 74 68 65 20  21 52 75 6e 20 66 69 6c  |see the !Run fil|
00000870  65 20 66 6f 72 20 64 65  74 61 69 6c 73 29 0a 0a  |e for details)..|
00000880  20 20 54 68 65 20 49 63  6f 6e 20 77 69 6c 6c 20  |  The Icon will |
00000890  6e 6f 72 6d 61 6c 6c 79  20 73 68 6f 77 20 74 68  |normally show th|
000008a0  65 20 75 73 61 67 65 20  6f 76 65 72 20 74 68 65  |e usage over the|
000008b0  20 6c 61 73 74 20 34 30  20 73 65 63 6f 6e 64 73  | last 40 seconds|
000008c0  20 6f 72 20 73 6f 2e 0a  0a 20 20 49 66 20 53 65  | or so...  If Se|
000008d0  6c 65 63 74 20 69 73 20  63 6c 69 63 6b 65 64 20  |lect is clicked |
000008e0  6f 6e 20 74 68 65 20 54  61 73 6b 55 73 61 67 65  |on the TaskUsage|
000008f0  20 69 63 6f 6e 20 62 61  72 20 69 63 6f 6e 2c 20  | icon bar icon, |
00000900  74 68 65 20 54 61 73 6b  20 50 72 6f 63 65 73 73  |the Task Process|
00000910  6f 72 20 55 73 61 67 65  0a 20 20 77 69 6e 64 6f  |or Usage.  windo|
00000920  77 20 77 69 6c 6c 20 6f  70 65 6e 2e 20 20 54 68  |w will open.  Th|
00000930  69 73 20 77 69 6e 64 6f  77 20 69 73 20 69 6e 20  |is window is in |
00000940  61 20 73 69 6d 69 6c 61  72 20 66 6f 72 6d 61 74  |a similar format|
00000950  20 74 6f 20 74 68 65 20  54 61 73 6b 20 4d 61 6e  | to the Task Man|
00000960  61 67 65 72 27 73 0a 20  20 64 69 73 70 6c 61 79  |ager's.  display|
00000970  20 6f 66 20 53 74 6f 72  61 67 65 20 75 73 61 67  | of Storage usag|
00000980  65 2c 20 73 68 6f 77 69  6e 67 20 74 68 65 20 63  |e, showing the c|
00000990  75 72 72 65 6e 74 20 74  61 73 6b 73 2c 20 61 6e  |urrent tasks, an|
000009a0  64 20 69 6e 20 74 68 65  20 73 61 6d 65 20 6f 72  |d in the same or|
000009b0  64 65 72 2e 0a 20 20 41  67 61 69 6e 73 74 20 65  |der..  Against e|
000009c0  61 63 68 20 74 61 73 6b  20 69 73 20 73 68 6f 77  |ach task is show|
000009d0  6e 20 74 68 65 20 72 65  63 65 6e 74 20 61 76 65  |n the recent ave|
000009e0  72 61 67 65 20 70 65 72  63 65 6e 74 61 67 65 20  |rage percentage |
000009f0  70 72 6f 63 65 73 73 6f  72 20 75 73 61 67 65 2c  |processor usage,|
00000a00  20 61 73 20 61 0a 20 20  70 65 72 63 65 6e 74 61  | as a.  percenta|
00000a10  67 65 20 66 69 67 75 72  65 20 61 6e 64 20 61 20  |ge figure and a |
00000a20  63 6f 6c 6f 75 72 65 64  20 62 61 72 20 67 72 61  |coloured bar gra|
00000a30  70 68 2e 20 20 49 6e 20  61 64 64 69 74 69 6f 6e  |ph.  In addition|
00000a40  2c 20 74 68 65 20 6f 76  65 72 61 6c 6c 20 50 72  |, the overall Pr|
00000a50  6f 63 65 73 73 6f 72 0a  20 20 75 73 61 67 65 20  |ocessor.  usage |
00000a60  69 73 20 67 69 76 65 6e  2c 20 61 6e 64 20 74 68  |is given, and th|
00000a70  65 20 74 6f 74 61 6c 73  20 66 6f 72 20 41 70 70  |e totals for App|
00000a80  6c 69 63 61 74 69 6f 6e  20 61 6e 64 20 66 6f 72  |lication and for|
00000a90  20 4d 6f 64 75 6c 65 20  74 61 73 6b 73 2e 20 20  | Module tasks.  |
00000aa0  54 68 65 0a 20 20 64 69  73 70 6c 61 79 20 77 69  |The.  display wi|
00000ab0  6c 6c 20 75 70 64 61 74  65 20 65 76 65 72 79 20  |ll update every |
00000ac0  73 65 63 6f 6e 64 20 6f  72 20 74 77 6f 2c 20 61  |second or two, a|
00000ad0  6e 64 20 77 69 6c 6c 20  61 64 6a 75 73 74 20 69  |nd will adjust i|
00000ae0  74 73 65 6c 66 20 77 68  65 6e 65 76 65 72 20 74  |tself whenever t|
00000af0  61 73 6b 73 20 61 72 65  0a 20 20 73 74 61 72 74  |asks are.  start|
00000b00  65 64 20 6f 72 20 73 74  6f 70 70 65 64 2e 20 20  |ed or stopped.  |
00000b10  54 68 65 20 77 69 6e 64  6f 77 20 63 61 6e 20 62  |The window can b|
00000b20  65 20 72 65 73 69 7a 65  64 20 69 6e 20 74 68 65  |e resized in the|
00000b30  20 75 73 75 61 6c 20 52  49 53 43 20 4f 53 20 77  | usual RISC OS w|
00000b40  61 79 2c 20 62 75 74 20  69 66 0a 20 20 53 65 6c  |ay, but if.  Sel|
00000b50  65 63 74 20 69 73 20 63  6c 69 63 6b 65 64 20 6f  |ect is clicked o|
00000b60  6e 20 74 68 65 20 49 63  6f 6e 20 42 61 72 20 74  |n the Icon Bar t|
00000b70  68 65 20 77 69 6e 64 6f  77 20 77 69 6c 6c 20 72  |he window will r|
00000b80  65 76 65 72 74 20 74 6f  20 74 68 65 20 69 6e 69  |evert to the ini|
00000b90  74 69 61 6c 20 73 74 61  74 65 2c 0a 20 20 73 68  |tial state,.  sh|
00000ba0  6f 77 69 6e 67 20 61 6c  6c 20 41 70 70 6c 69 63  |owing all Applic|
00000bb0  61 74 69 6f 6e 20 54 61  73 6b 73 2c 20 61 6e 64  |ation Tasks, and|
00000bc0  20 6f 6e 6c 79 20 74 68  65 20 74 6f 74 61 6c 20  | only the total |
00000bd0  66 6f 72 20 74 68 65 20  4d 6f 64 75 6c 65 20 54  |for the Module T|
00000be0  61 73 6b 73 2e 0a 0a 20  20 49 66 20 41 64 6a 75  |asks...  If Adju|
00000bf0  73 74 20 69 73 20 63 6c  69 63 6b 65 64 20 6f 6e  |st is clicked on|
00000c00  20 74 68 65 20 54 61 73  6b 55 73 61 67 65 20 69  | the TaskUsage i|
00000c10  63 6f 6e 20 62 61 72 20  69 63 6f 6e 2c 20 74 68  |con bar icon, th|
00000c20  65 20 54 61 73 6b 20 52  65 61 73 6f 6e 20 43 6f  |e Task Reason Co|
00000c30  64 65 0a 20 20 55 73 61  67 65 20 77 69 6e 64 6f  |de.  Usage windo|
00000c40  77 20 77 69 6c 6c 20 6f  70 65 6e 2e 20 20 54 68  |w will open.  Th|
00000c50  69 73 20 73 68 6f 77 73  20 74 68 65 20 72 65 63  |is shows the rec|
00000c60  65 6e 74 20 61 76 65 72  61 67 65 20 6e 75 6d 62  |ent average numb|
00000c70  65 72 20 6f 66 20 57 69  6d 70 20 50 6f 6c 6c 73  |er of Wimp Polls|
00000c80  0a 20 20 62 65 69 6e 67  20 70 72 6f 63 65 73 73  |.  being process|
00000c90  65 64 20 70 65 72 20 73  65 63 6f 6e 64 2c 20 61  |ed per second, a|
00000ca0  6e 64 20 74 68 65 20 70  72 6f 63 65 73 73 6f 72  |nd the processor|
00000cb0  20 75 73 61 67 65 20 66  6f 72 20 65 61 63 68 20  | usage for each |
00000cc0  57 69 6d 70 20 52 65 61  73 6f 6e 20 63 6f 64 65  |Wimp Reason code|
00000cd0  2e 0a 20 20 49 66 20 61  20 74 61 73 6b 20 69 73  |..  If a task is|
00000ce0  20 63 6c 69 63 6b 65 64  20 6f 6e 20 69 6e 20 74  | clicked on in t|
00000cf0  68 65 20 54 61 73 6b 20  50 72 6f 63 65 73 73 6f  |he Task Processo|
00000d00  72 20 55 73 61 67 65 20  77 69 6e 64 6f 77 2c 20  |r Usage window, |
00000d10  74 68 65 20 54 61 73 6b  20 52 65 61 73 6f 6e 20  |the Task Reason |
00000d20  43 6f 64 65 0a 20 20 55  73 61 67 65 20 77 69 6e  |Code.  Usage win|
00000d30  64 6f 77 20 77 69 6c 6c  20 63 68 61 6e 67 65 20  |dow will change |
00000d40  74 6f 20 73 68 6f 77 20  74 68 65 20 66 69 67 75  |to show the figu|
00000d50  72 65 73 20 66 6f 72 20  74 68 61 74 20 74 61 73  |res for that tas|
00000d60  6b 20 6f 6e 6c 79 2e 20  20 57 68 69 6c 65 20 61  |k only.  While a|
00000d70  0a 20 20 73 70 65 63 69  66 69 63 20 74 61 73 6b  |.  specific task|
00000d80  20 69 73 20 62 65 69 6e  67 20 6d 6f 6e 69 74 6f  | is being monito|
00000d90  72 65 64 2c 20 61 6e 79  20 52 65 61 73 6f 6e 20  |red, any Reason |
00000da0  43 6f 64 65 73 20 77 68  69 63 68 20 74 68 65 20  |Codes which the |
00000db0  74 61 73 6b 20 68 61 73  20 6d 61 73 6b 65 64 20  |task has masked |
00000dc0  6f 75 74 0a 20 20 62 65  63 61 75 73 65 20 69 74  |out.  because it|
00000dd0  20 69 73 20 6e 6f 74 20  69 6e 74 65 72 65 73 74  | is not interest|
00000de0  65 64 20 69 6e 20 74 68  65 6d 20 61 72 65 20 73  |ed in them are s|
00000df0  68 61 64 65 64 2e 20 20  54 6f 20 72 65 76 65 72  |haded.  To rever|
00000e00  74 20 74 6f 20 6d 6f 6e  69 74 6f 72 69 6e 67 20  |t to monitoring |
00000e10  61 6c 6c 0a 20 20 74 61  73 6b 73 2c 20 73 69 6d  |all.  tasks, sim|
00000e20  70 6c 79 20 63 6c 69 63  6b 20 6f 6e 20 61 6e 79  |ply click on any|
00000e30  20 74 6f 74 61 6c 73 20  6c 69 6e 65 20 69 6e 20  | totals line in |
00000e40  65 69 74 68 65 72 20 77  69 6e 64 6f 77 2e 20 20  |either window.  |
00000e50  4e 6f 74 65 20 74 68 61  74 20 74 68 65 20 52 65  |Note that the Re|
00000e60  61 73 6f 6e 0a 20 20 43  6f 64 65 20 73 68 61 64  |ason.  Code shad|
00000e70  69 6e 67 20 63 61 6e 6e  6f 74 20 62 65 20 75 70  |ing cannot be up|
00000e80  64 61 74 65 64 20 75 6e  74 69 6c 20 74 68 65 20  |dated until the |
00000e90  74 61 73 6b 20 64 6f 65  73 20 73 6f 6d 65 74 68  |task does someth|
00000ea0  69 6e 67 2c 20 68 6f 77  65 76 65 72 20 74 72 69  |ing, however tri|
00000eb0  76 69 61 6c 2e 0a 20 20  54 68 69 73 20 69 73 20  |vial..  This is |
00000ec0  70 72 6f 6d 70 74 65 64  20 62 79 20 54 61 73 6b  |prompted by Task|
00000ed0  55 73 61 67 65 20 73 65  6e 64 69 6e 67 20 74 68  |Usage sending th|
00000ee0  65 20 74 61 73 6b 20 61  20 57 69 6d 70 5f 48 65  |e task a Wimp_He|
00000ef0  6c 70 52 65 71 75 65 73  74 20 6d 65 73 73 61 67  |lpRequest messag|
00000f00  65 2c 20 77 68 69 63 68  0a 20 20 69 73 20 75 73  |e, which.  is us|
00000f10  75 61 6c 6c 79 20 73 75  66 66 69 63 69 65 6e 74  |ually sufficient|
00000f20  2e 20 20 49 66 20 61 6c  6c 20 74 68 65 20 72 65  |.  If all the re|
00000f30  61 73 6f 6e 73 20 72 65  6d 61 69 6e 20 73 68 61  |asons remain sha|
00000f40  64 65 64 2c 20 74 72 79  20 6f 70 65 6e 69 6e 67  |ded, try opening|
00000f50  20 61 20 6d 65 6e 75 20  6f 72 0a 20 20 61 20 77  | a menu or.  a w|
00000f60  69 6e 64 6f 77 20 66 6f  72 20 74 68 65 20 74 61  |indow for the ta|
00000f70  73 6b 2e 20 20 55 6e 66  6f 72 74 75 6e 61 74 65  |sk.  Unfortunate|
00000f80  6c 79 2c 20 69 66 20 74  68 65 20 46 69 6c 65 72  |ly, if the Filer|
00000f90  20 69 73 20 63 6c 69 63  6b 65 64 20 6f 6e 2c 20  | is clicked on, |
00000fa0  79 6f 75 20 6d 61 79 20  67 65 74 0a 20 20 61 6e  |you may get.  an|
00000fb0  20 65 72 72 6f 72 20 6d  65 73 73 61 67 65 20 66  | error message f|
00000fc0  72 6f 6d 20 74 68 65 20  46 69 6c 65 72 20 6f 66  |rom the Filer of|
00000fd0  20 27 4d 65 73 73 61 67  65 20 74 6f 6b 65 6e 20  | 'Message token |
00000fe0  4d 48 20 6e 6f 74 20 66  6f 75 6e 64 27 2e 20 20  |MH not found'.  |
00000ff0  54 68 69 73 20 77 69 6c  6c 20 73 74 6f 70 0a 20  |This will stop. |
00001000  20 68 61 70 70 65 6e 69  6e 67 20 69 66 20 61 20  | happening if a |
00001010  6d 65 6e 75 20 69 73 20  6f 70 65 6e 65 64 20 6f  |menu is opened o|
00001020  76 65 72 20 61 6e 79 20  46 69 6c 65 72 20 77 69  |ver any Filer wi|
00001030  6e 64 6f 77 21 20 20 41  6e 64 20 62 65 66 6f 72  |ndow!  And befor|
00001040  65 20 79 6f 75 20 61 73  6b 2c 20 49 20 64 6f 0a  |e you ask, I do.|
00001050  20 20 6e 6f 74 20 6b 6e  6f 77 20 77 68 79 21 0a  |  not know why!.|
00001060  0a 20 20 49 66 20 4d 65  6e 75 20 69 73 20 63 6c  |.  If Menu is cl|
00001070  69 63 6b 65 64 20 6f 6e  20 74 68 65 20 54 61 73  |icked on the Tas|
00001080  6b 55 73 61 67 65 20 69  63 6f 6e 20 62 61 72 20  |kUsage icon bar |
00001090  69 63 6f 6e 20 28 6f 72  20 6f 6e 20 65 69 74 68  |icon (or on eith|
000010a0  65 72 20 54 61 73 6b 55  73 61 67 65 0a 20 20 77  |er TaskUsage.  w|
000010b0  69 6e 64 6f 77 29 2c 20  74 68 65 20 75 73 75 61  |indow), the usua|
000010c0  6c 20 49 6e 66 6f 20 61  6e 64 20 51 75 69 74 20  |l Info and Quit |
000010d0  6f 70 74 69 6f 6e 73 20  61 72 65 20 61 76 61 69  |options are avai|
000010e0  6c 61 62 6c 65 2e 20 20  49 6e 20 61 64 64 69 74  |lable.  In addit|
000010f0  69 6f 6e 20 74 68 65 72  65 20 69 73 0a 20 20 61  |ion there is.  a|
00001100  20 54 69 6d 65 72 20 6f  70 74 69 6f 6e 2c 20 77  | Timer option, w|
00001110  68 69 63 68 20 6a 75 73  74 20 73 68 6f 77 73 20  |hich just shows |
00001120  64 65 74 61 69 6c 73 20  6f 66 20 74 68 65 20 54  |details of the T|
00001130  69 6d 65 72 20 62 65 69  6e 67 20 75 73 65 64 20  |imer being used |
00001140  61 6e 64 20 74 68 65 20  55 70 64 61 74 65 0a 20  |and the Update. |
00001150  20 66 72 65 71 75 65 6e  63 79 2c 20 61 6e 64 20  | frequency, and |
00001160  54 61 73 6b 20 61 6e 64  20 52 65 61 73 6f 6e 20  |Task and Reason |
00001170  6f 70 74 69 6f 6e 73 20  77 68 69 63 68 20 77 69  |options which wi|
00001180  6c 6c 20 61 6c 73 6f 20  6f 70 65 6e 20 74 68 65  |ll also open the|
00001190  20 77 69 6e 64 6f 77 73  2e 0a 0a 20 20 4e 6f 74  | windows...  Not|
000011a0  65 20 74 68 61 74 20 66  75 6c 6c 20 49 6e 74 65  |e that full Inte|
000011b0  72 61 63 74 69 76 65 20  48 65 6c 70 20 69 73 20  |ractive Help is |
000011c0  61 76 61 69 6c 61 62 6c  65 20 6f 6e 20 61 6c 6c  |available on all|
000011d0  20 4d 65 6e 75 73 20 61  6e 64 20 57 69 6e 64 6f  | Menus and Windo|
000011e0  77 73 2c 20 69 66 20 21  48 65 6c 70 0a 20 20 6f  |ws, if !Help.  o|
000011f0  72 20 21 42 75 62 62 6c  65 48 65 6c 70 20 69 73  |r !BubbleHelp is|
00001200  20 72 75 6e 6e 69 6e 67  2e 0a 0a 0a 20 20 4d 61  | running....  Ma|
00001210  63 68 69 6e 65 20 52 65  71 75 69 72 65 6d 65 6e  |chine Requiremen|
00001220  74 73 0a 20 20 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ts.  ===========|
00001230  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 20 20 41 6e 79  |=========..  Any|
00001240  20 6d 65 61 73 75 72 65  6d 65 6e 74 20 77 69 6c  | measurement wil|
00001250  6c 20 64 69 73 74 6f 72  74 20 77 68 61 74 20 69  |l distort what i|
00001260  73 20 62 65 69 6e 67 20  6d 65 61 73 75 72 65 64  |s being measured|
00001270  2c 20 61 6e 64 20 54 61  73 6b 20 55 73 61 67 65  |, and Task Usage|
00001280  20 69 73 20 6e 6f 0a 20  20 65 78 63 65 70 74 69  | is no.  excepti|
00001290  6f 6e 2e 20 20 48 6f 77  65 76 65 72 2c 20 74 68  |on.  However, th|
000012a0  65 20 6f 76 65 72 68 65  61 64 73 20 68 61 76 65  |e overheads have|
000012b0  20 62 65 65 6e 20 70 61  72 65 64 20 74 6f 20 61  | been pared to a|
000012c0  20 6d 69 6e 69 6d 75 6d  20 74 6f 20 65 6e 61 62  | minimum to enab|
000012d0  6c 65 20 69 74 0a 20 20  74 6f 20 62 65 20 72 75  |le it.  to be ru|
000012e0  6e 20 65 61 73 69 6c 79  20 6f 6e 20 61 6e 79 20  |n easily on any |
000012f0  52 49 53 43 20 4f 53 20  6d 61 63 68 69 6e 65 2e  |RISC OS machine.|
00001300  0a 0a 20 20 4e 6f 74 65  20 74 68 61 74 20 61 74  |..  Note that at|
00001310  20 6c 65 61 73 74 20 52  49 53 43 20 4f 53 20 33  | least RISC OS 3|
00001320  2e 30 30 20 69 73 20 72  65 71 75 69 72 65 64 20  |.00 is required |
00001330  74 6f 20 72 75 6e 20 54  61 73 6b 55 73 61 67 65  |to run TaskUsage|
00001340  2e 0a 0a 20 20 54 68 65  20 6d 65 6d 6f 72 79 20  |...  The memory |
00001350  72 65 71 75 69 72 65 6d  65 6e 74 73 20 61 72 65  |requirements are|
00001360  20 61 70 70 72 6f 78 69  6d 61 74 65 6c 79 20 61  | approximately a|
00001370  73 20 66 6f 6c 6c 6f 77  73 3a 0a 0a 20 20 8f 20  |s follows:..  . |
00001380  20 20 20 54 68 65 20 54  61 73 6b 55 73 61 67 65  |   The TaskUsage|
00001390  20 72 65 6c 6f 63 61 74  61 62 6c 65 20 6d 6f 64  | relocatable mod|
000013a0  75 6c 65 20 20 20 20 20  20 20 20 20 20 20 36 2c  |ule           6,|
000013b0  31 39 32 0a 20 20 8f 20  20 20 20 54 68 65 20 54  |192.  .    The T|
000013c0  61 73 6b 55 73 61 67 65  20 6d 6f 64 75 6c 65 20  |askUsage module |
000013d0  77 6f 72 6b 61 72 65 61  20 20 20 20 20 20 20 20  |workarea        |
000013e0  20 20 20 20 20 20 36 2c  32 37 32 0a 20 20 8f 20  |      6,272.  . |
000013f0  20 20 20 54 68 65 20 4d  65 73 73 61 67 65 73 20  |   The Messages |
00001400  66 69 6c 65 20 20 20 20  20 20 20 20 20 20 20 20  |file            |
00001410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 31 2c  |              1,|
00001420  38 34 38 0a 0a 20 20 20  20 20 20 20 20 20 20 20  |848..           |
00001430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  |               T|
00001440  6f 74 61 6c 20 53 74 6f  72 61 67 65 20 20 20 20  |otal Storage    |
00001450  20 20 20 20 20 20 31 34  2c 33 31 32 0a 0a 20 20  |      14,312..  |
00001460  54 68 65 20 74 6f 74 61  6c 20 73 74 6f 72 61 67  |The total storag|
00001470  65 20 72 65 71 75 69 72  65 64 20 74 6f 20 72 75  |e required to ru|
00001480  6e 20 54 61 73 6b 20 55  73 61 67 65 20 69 73 20  |n Task Usage is |
00001490  74 68 65 72 65 66 6f 72  65 20 6f 6e 6c 79 20 61  |therefore only a|
000014a0  62 6f 75 74 20 31 34 6b  2c 20 61 6c 6c 20 69 6e  |bout 14k, all in|
000014b0  0a 20 20 74 68 65 20 52  65 6c 6f 63 61 74 61 62  |.  the Relocatab|
000014c0  6c 65 20 4d 6f 64 75 6c  65 20 41 72 65 61 2c 20  |le Module Area, |
000014d0  72 65 67 61 72 64 6c 65  73 73 20 6f 66 20 74 68  |regardless of th|
000014e0  65 20 6d 61 63 68 69 6e  65 20 6d 6f 64 65 6c 20  |e machine model |
000014f0  61 6e 64 20 70 61 67 65  20 73 69 7a 65 2e 20 0a  |and page size. .|
00001500  20 20 53 6f 6d 65 20 35  6b 20 6f 72 20 73 6f 20  |  Some 5k or so |
00001510  61 64 64 69 74 69 6f 6e  61 6c 20 73 74 6f 72 61  |additional stora|
00001520  67 65 20 77 69 6c 6c 20  61 6c 73 6f 20 62 65 20  |ge will also be |
00001530  6f 62 74 61 69 6e 65 64  20 62 79 20 74 68 65 20  |obtained by the |
00001540  57 69 6d 70 20 69 6e 20  74 68 65 20 52 4d 41 20  |Wimp in the RMA |
00001550  74 6f 0a 20 20 68 6f 6c  64 20 77 69 6e 64 6f 77  |to.  hold window|
00001560  20 64 65 66 69 6e 69 74  69 6f 6e 73 20 65 74 63  | definitions etc|
00001570  2e 20 66 6f 72 20 74 68  65 20 54 61 73 6b 20 55  |. for the Task U|
00001580  73 61 67 65 20 61 70 70  6c 69 63 61 74 69 6f 6e  |sage application|
00001590  2e 0a 0a 20 20 54 61 73  6b 20 55 73 61 67 65 20  |...  Task Usage |
000015a0  6d 65 61 73 75 72 65 73  20 69 74 27 73 20 6f 77  |measures it's ow|
000015b0  6e 20 74 61 73 6b 2c 20  77 68 69 63 68 20 75 73  |n task, which us|
000015c0  65 73 20 6f 6e 20 61 76  65 72 61 67 65 20 74 68  |es on average th|
000015d0  65 20 66 6f 6c 6c 6f 77  69 6e 67 0a 20 20 70 72  |e following.  pr|
000015e0  6f 63 65 73 73 6f 72 20  70 6f 77 65 72 20 6f 6e  |ocessor power on|
000015f0  20 74 77 6f 20 6d 61 63  68 69 6e 65 73 2c 20 77  | two machines, w|
00001600  69 74 68 20 62 6f 74 68  20 77 69 6e 64 6f 77 73  |ith both windows|
00001610  20 6f 70 65 6e 2c 20 65  76 65 6e 20 77 69 74 68  | open, even with|
00001620  20 6f 76 65 72 0a 20 20  31 30 30 20 74 61 73 6b  | over.  100 task|
00001630  73 20 72 75 6e 6e 69 6e  67 2e 20 4e 6f 74 65 20  |s running. Note |
00001640  69 74 20 69 73 20 65 76  65 6e 20 6c 65 73 73 20  |it is even less |
00001650  77 69 74 68 6f 75 74 20  74 68 65 20 77 69 6e 64  |without the wind|
00001660  6f 77 73 20 6f 70 65 6e  21 0a 0a 20 20 8f 20 20  |ows open!..  .  |
00001670  20 20 52 49 53 43 20 50  43 20 77 69 74 68 20 53  |  RISC PC with S|
00001680  74 72 6f 6e 67 41 72 6d  20 20 20 20 20 20 20 20  |trongArm        |
00001690  6c 65 73 73 20 74 68 61  6e 20 31 25 20 70 72 6f  |less than 1% pro|
000016a0  63 65 73 73 6f 72 0a 20  20 8f 20 20 20 20 41 34  |cessor.  .    A4|
000016b0  30 30 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |000             |
000016c0  20 20 20 20 20 20 20 20  20 20 20 20 76 61 72 69  |            vari|
000016d0  65 73 20 62 65 74 77 65  65 6e 20 61 62 6f 75 74  |es between about|
000016e0  20 31 30 25 20 61 6e 64  20 33 30 25 0a 0a 20 20  | 10% and 30%..  |
000016f0  52 6d 4b 69 6c 6c 20 54  61 73 6b 55 73 61 67 65  |RmKill TaskUsage|
00001700  20 63 61 6e 20 62 65 20  73 61 66 65 6c 79 20 75  | can be safely u|
00001710  73 65 64 20 74 6f 20 72  65 6d 6f 76 65 20 74 68  |sed to remove th|
00001720  65 20 6d 6f 64 75 6c 65  20 66 72 6f 6d 20 73 74  |e module from st|
00001730  6f 72 61 67 65 2e 0a 20  20 51 75 69 74 74 69 6e  |orage..  Quittin|
00001740  67 20 74 68 65 20 54 61  73 6b 55 73 61 67 65 20  |g the TaskUsage |
00001750  61 70 70 6c 69 63 61 74  69 6f 6e 20 77 69 6c 6c  |application will|
00001760  20 64 6f 20 74 68 69 73  20 61 75 74 6f 6d 61 74  | do this automat|
00001770  69 63 61 6c 6c 79 2e 0a  0a 0a 20 20 48 6f 77 20  |ically....  How |
00001780  74 68 65 20 50 72 6f 63  65 73 73 6f 72 20 55 73  |the Processor Us|
00001790  61 67 65 20 69 73 20 43  61 6c 63 75 6c 61 74 65  |age is Calculate|
000017a0  64 0a 20 20 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |d.  ============|
000017b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000017c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 20 20 57 68 65  |=========..  Whe|
000017d0  6e 20 54 61 73 6b 55 73  61 67 65 20 69 6e 69 74  |n TaskUsage init|
000017e0  69 61 6c 69 73 65 73 2c  20 69 74 20 69 6e 73 74  |ialises, it inst|
000017f0  61 6c 6c 73 20 74 68 65  20 66 6f 6c 6c 6f 77 69  |alls the followi|
00001800  6e 67 20 74 69 6d 69 6e  67 20 63 6f 64 65 20 69  |ng timing code i|
00001810  6e 20 52 49 53 43 20 4f  53 3a 0a 0a 20 20 8f 20  |n RISC OS:..  . |
00001820  20 20 20 54 68 65 20 69  6e 74 65 72 6e 61 6c 20  |   The internal |
00001830  54 69 6d 65 72 20 31 20  69 73 20 75 73 65 64 20  |Timer 1 is used |
00001840  74 6f 20 6f 62 74 61 69  6e 20 61 6c 6c 20 65 6c  |to obtain all el|
00001850  61 70 73 65 20 74 69 6d  65 73 2e 20 20 54 68 69  |apse times.  Thi|
00001860  73 20 72 65 71 75 69 72  65 73 0a 20 20 69 6e 74  |s requires.  int|
00001870  65 72 72 75 70 74 20 63  6f 64 65 2c 20 77 68 69  |errupt code, whi|
00001880  63 68 20 69 73 20 6f 6e  6c 79 20 36 20 69 6e 73  |ch is only 6 ins|
00001890  74 72 75 63 74 69 6f 6e  73 20 6c 6f 6e 67 2c 20  |tructions long, |
000018a0  62 75 74 20 69 74 20 69  73 20 63 61 6c 6c 65 64  |but it is called|
000018b0  20 6d 61 6e 79 20 74 69  6d 65 73 20 61 0a 20 20  | many times a.  |
000018c0  73 65 63 6f 6e 64 2c 20  64 65 70 65 6e 64 69 6e  |second, dependin|
000018d0  67 20 6f 6e 20 74 68 65  20 27 70 72 65 63 69 73  |g on the 'precis|
000018e0  69 6f 6e 27 20 6f 66 20  74 68 65 20 74 69 6d 69  |ion' of the timi|
000018f0  6e 67 20 63 6c 6f 63 6b  20 62 65 69 6e 67 20 75  |ng clock being u|
00001900  73 65 64 2e 0a 0a 20 20  21 54 61 73 6b 55 73 61  |sed...  !TaskUsa|
00001910  67 65 20 61 75 74 6f 6d  61 74 69 63 61 6c 6c 79  |ge automatically|
00001920  20 73 65 74 73 20 74 68  65 20 70 72 65 63 69 73  | sets the precis|
00001930  69 6f 6e 20 64 65 70 65  6e 64 69 6e 67 20 6f 6e  |ion depending on|
00001940  20 74 68 65 20 52 49 53  43 20 4f 53 20 76 65 72  | the RISC OS ver|
00001950  73 69 6f 6e 2c 0a 20 20  61 6e 64 20 77 68 65 74  |sion,.  and whet|
00001960  68 65 72 20 53 74 72 6f  6e 67 41 72 6d 20 69 73  |her StrongArm is|
00001970  20 66 69 74 74 65 64 2e  20 20 54 68 69 73 20 69  | fitted.  This i|
00001980  73 20 73 6f 20 74 68 61  74 20 66 61 73 74 65 72  |s so that faster|
00001990  20 70 72 6f 63 65 73 73  6f 72 73 20 63 61 6e 20  | processors can |
000019a0  75 73 65 20 61 0a 20 20  68 69 67 68 65 72 20 70  |use a.  higher p|
000019b0  72 65 63 69 73 69 6f 6e  20 74 69 6d 65 72 2c 20  |recision timer, |
000019c0  62 75 74 20 73 6c 6f 77  65 72 20 70 72 6f 63 65  |but slower proce|
000019d0  73 73 6f 72 73 20 61 72  65 20 6e 6f 74 20 73 70  |ssors are not sp|
000019e0  65 6e 64 69 6e 67 20 74  6f 6f 20 6d 75 63 68 20  |ending too much |
000019f0  74 69 6d 65 0a 20 20 74  72 79 69 6e 67 20 74 6f  |time.  trying to|
00001a00  20 62 65 20 6f 76 65 72  20 61 63 63 75 72 61 74  | be over accurat|
00001a10  65 21 20 20 54 68 65 20  64 65 66 61 75 6c 74 20  |e!  The default |
00001a20  73 65 74 74 69 6e 67 73  20 73 68 6f 75 6c 64 20  |settings should |
00001a30  62 65 20 72 65 61 73 6f  6e 61 62 6c 65 2c 20 62  |be reasonable, b|
00001a40  75 74 20 74 68 65 0a 20  20 64 65 66 61 75 6c 74  |ut the.  default|
00001a50  20 63 61 6e 20 62 65 20  6f 76 65 72 72 69 64 64  | can be overridd|
00001a60  65 6e 20 69 66 20 72 65  71 75 69 72 65 64 20 28  |en if required (|
00001a70  70 6c 65 61 73 65 20 73  65 65 20 74 68 65 20 21  |please see the !|
00001a80  52 75 6e 20 66 69 6c 65  20 66 6f 72 20 64 65 74  |Run file for det|
00001a90  61 69 6c 73 29 0a 0a 20  20 20 20 20 20 50 72 65  |ails)..      Pre|
00001aa0  63 69 73 69 6f 6e 20 20  20 20 20 54 69 6d 65 72  |cision     Timer|
00001ab0  73 2f 53 65 63 20 20 20  20 20 20 20 20 20 20 44  |s/Sec          D|
00001ac0  65 66 61 75 6c 74 20 75  73 65 64 0a 20 20 20 20  |efault used.    |
00001ad0  20 20 20 20 20 20 30 20  20 20 20 20 20 20 20 20  |      0         |
00001ae0  20 20 20 31 30 30 0a 20  20 20 20 20 20 20 20 20  |   100.         |
00001af0  20 31 20 20 20 20 20 20  20 20 20 20 20 20 32 30  | 1            20|
00001b00  30 0a 20 20 20 20 20 20  20 20 20 20 32 20 20 20  |0.          2   |
00001b10  20 20 20 20 20 20 20 20  20 34 30 30 20 20 20 20  |         400    |
00001b20  20 20 20 20 20 20 20 20  20 20 76 33 2e 30 30 2c  |          v3.00,|
00001b30  20 76 33 2e 31 30 2c 20  76 33 2e 31 31 0a 20 20  | v3.10, v3.11.  |
00001b40  20 20 20 20 20 20 20 20  33 20 20 20 20 20 20 20  |        3       |
00001b50  20 20 20 20 20 38 30 30  0a 20 20 20 20 20 20 20  |     800.       |
00001b60  20 20 20 34 20 20 20 20  20 20 20 20 20 20 31 2c  |   4          1,|
00001b70  36 30 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |600             |
00001b80  20 76 33 2e 35 30 2c 20  76 33 2e 37 30 20 28 69  | v3.50, v3.70 (i|
00001b90  65 20 52 49 53 43 20 50  43 29 0a 20 20 20 20 20  |e RISC PC).     |
00001ba0  20 20 20 20 20 35 20 20  20 20 20 20 20 20 20 20  |     5          |
00001bb0  33 2c 32 30 30 0a 20 20  20 20 20 20 20 20 20 20  |3,200.          |
00001bc0  36 20 20 20 20 20 20 20  20 20 20 36 2c 34 30 30  |6          6,400|
00001bd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 76 33  |              v3|
00001be0  2e 37 30 20 77 69 74 68  20 53 74 72 6f 6e 67 41  |.70 with StrongA|
00001bf0  72 6d 0a 20 20 20 20 20  20 20 20 20 20 37 20 20  |rm.          7  |
00001c00  20 20 20 20 20 20 20 31  32 2c 38 30 30 0a 20 20  |       12,800.  |
00001c10  20 20 20 20 20 20 20 20  38 20 20 20 20 20 20 20  |        8       |
00001c20  20 20 32 35 2c 36 30 30  0a 0a 20 20 54 68 65 20  |  25,600..  The |
00001c30  68 69 67 68 65 72 20 74  68 65 20 70 72 65 63 69  |higher the preci|
00001c40  73 69 6f 6e 2c 20 74 68  65 20 6d 6f 72 65 20 61  |sion, the more a|
00001c50  63 63 75 72 61 74 65 2c  20 62 75 74 20 74 68 65  |ccurate, but the|
00001c60  20 6d 6f 72 65 20 6f 76  65 72 68 65 61 64 21 21  | more overhead!!|
00001c70  0a 0a 20 20 54 68 69 73  20 69 6e 74 65 72 6e 61  |..  This interna|
00001c80  6c 20 54 69 6d 65 72 20  69 73 20 75 73 65 64 20  |l Timer is used |
00001c90  69 6e 20 70 72 65 66 65  72 65 6e 63 65 20 74 6f  |in preference to|
00001ca0  20 74 68 65 20 52 49 53  43 20 4f 53 20 4d 6f 6e  | the RISC OS Mon|
00001cb0  6f 74 6f 6e 69 63 20 54  69 6d 65 2c 0a 20 20 62  |otonic Time,.  b|
00001cc0  65 63 61 75 73 65 20 74  68 61 74 20 69 73 20 6f  |ecause that is o|
00001cd0  6e 6c 79 20 61 76 61 69  6c 61 62 6c 65 20 69 6e  |nly available in|
00001ce0  20 63 65 6e 74 69 73 65  63 6f 6e 64 73 2e 20 20  | centiseconds.  |
00001cf0  41 20 53 74 72 6f 6e 67  41 72 6d 20 6d 61 63 68  |A StrongArm mach|
00001d00  69 6e 65 20 63 61 6e 20  70 6f 6c 6c 0a 20 20 61  |ine can poll.  a|
00001d10  74 20 32 30 2c 30 30 30  20 74 69 6d 65 73 20 61  |t 20,000 times a|
00001d20  20 73 65 63 6f 6e 64 2c  20 73 6f 20 75 73 69 6e  | second, so usin|
00001d30  67 20 61 20 74 69 6d 65  72 20 77 68 69 63 68 20  |g a timer which |
00001d40  69 73 20 6f 6e 6c 79 20  63 61 70 61 62 6c 65 20  |is only capable |
00001d50  6f 66 20 6d 65 61 73 75  72 69 6e 67 20 74 6f 0a  |of measuring to.|
00001d60  20 20 31 30 30 20 74 69  6d 65 73 20 61 20 73 65  |  100 times a se|
00001d70  63 6f 6e 64 20 69 73 20  72 61 74 68 65 72 20 69  |cond is rather i|
00001d80  6e 61 63 63 75 72 61 74  65 21 20 20 20 4e 6f 74  |naccurate!   Not|
00001d90  65 20 68 6f 77 65 76 65  72 20 74 68 61 74 20 74  |e however that t|
00001da0  68 65 72 65 20 63 61 6e  20 62 65 20 6f 6e 6c 79  |here can be only|
00001db0  0a 20 20 6f 6e 65 20 75  73 65 72 20 6f 66 20 54  |.  one user of T|
00001dc0  69 6d 65 72 20 31 20 2d  20 69 66 20 79 6f 75 20  |imer 1 - if you |
00001dd0  68 61 76 65 20 61 6e 6f  74 68 65 72 20 41 70 70  |have another App|
00001de0  6c 69 63 61 74 69 6f 6e  20 77 68 69 63 68 20 75  |lication which u|
00001df0  73 65 73 20 54 69 6d 65  72 20 31 2c 20 74 68 65  |ses Timer 1, the|
00001e00  6e 0a 20 20 69 66 20 74  68 65 79 20 61 72 65 20  |n.  if they are |
00001e10  62 6f 74 68 20 72 75 6e  6e 69 6e 67 20 61 74 20  |both running at |
00001e20  74 68 65 20 73 61 6d 65  20 74 69 6d 65 2c 20 74  |the same time, t|
00001e30  68 65 20 66 69 72 73 74  20 6f 6e 65 20 73 74 61  |he first one sta|
00001e40  72 74 65 64 20 77 69 6c  6c 20 4e 4f 54 20 77 6f  |rted will NOT wo|
00001e50  72 6b 0a 20 20 70 72 6f  70 65 72 6c 79 2e 20 20  |rk.  properly.  |
00001e60  49 66 20 79 6f 75 20 6e  65 65 64 20 74 6f 20 72  |If you need to r|
00001e70  75 6e 20 62 6f 74 68 20  61 70 70 6c 69 63 61 74  |un both applicat|
00001e80  69 6f 6e 73 2c 20 74 68  65 6e 20 75 73 69 6e 67  |ions, then using|
00001e90  20 61 20 70 72 65 63 69  73 69 6f 6e 20 6f 66 20  | a precision of |
00001ea0  4d 20 77 69 6c 6c 0a 20  20 73 65 74 20 54 61 73  |M will.  set Tas|
00001eb0  6b 55 73 61 67 65 20 74  6f 20 75 73 65 20 74 68  |kUsage to use th|
00001ec0  65 20 4d 6f 6e 6f 74 6f  6e 69 63 20 54 69 6d 65  |e Monotonic Time|
00001ed0  20 28 31 30 30 20 54 69  6d 65 72 73 2f 73 65 63  | (100 Timers/sec|
00001ee0  29 20 69 6e 73 74 65 61  64 20 6f 66 20 54 69 6d  |) instead of Tim|
00001ef0  65 72 20 31 2e 0a 0a 20  20 54 68 65 20 70 72 65  |er 1...  The pre|
00001f00  63 69 73 69 6f 6e 20 61  6e 64 20 74 68 65 20 74  |cision and the t|
00001f10  69 6d 65 72 20 62 65 69  6e 67 20 75 73 65 64 20  |imer being used |
00001f20  63 61 6e 20 62 65 20 64  69 73 70 6c 61 79 65 64  |can be displayed|
00001f30  20 62 79 20 74 68 65 20  6d 65 6e 75 20 6f 70 74  | by the menu opt|
00001f40  69 6f 6e 20 54 69 6d 65  72 2e 0a 0a 20 20 57 68  |ion Timer...  Wh|
00001f50  65 6e 20 54 61 73 6b 55  73 61 67 65 20 69 6e 69  |en TaskUsage ini|
00001f60  74 69 61 6c 69 73 65 73  2c 20 69 74 20 69 6e 73  |tialises, it ins|
00001f70  74 61 6c 6c 73 20 74 68  65 20 66 6f 6c 6c 6f 77  |talls the follow|
00001f80  69 6e 67 20 6d 6f 6e 69  74 6f 72 69 6e 67 20 63  |ing monitoring c|
00001f90  6f 64 65 20 69 6e 20 52  49 53 43 20 4f 53 3a 0a  |ode in RISC OS:.|
00001fa0  0a 20 20 8f 20 20 20 20  54 68 65 20 57 69 6d 70  |.  .    The Wimp|
00001fb0  20 50 6f 73 74 2d 46 69  6c 74 65 72 20 63 6f 64  | Post-Filter cod|
00001fc0  65 2c 20 77 68 69 63 68  20 69 73 20 61 62 6f 75  |e, which is abou|
00001fd0  74 20 31 32 20 69 6e 73  74 72 75 63 74 69 6f 6e  |t 12 instruction|
00001fe0  73 20 6c 6f 6e 67 2c 20  61 6e 64 20 69 73 0a 20  |s long, and is. |
00001ff0  20 63 61 6c 6c 65 64 20  65 76 65 72 79 20 74 69  | called every ti|
00002000  6d 65 20 61 20 70 72 6f  67 72 61 6d 20 72 65 74  |me a program ret|
00002010  75 72 6e 73 20 66 72 6f  6d 20 61 20 57 69 6d 70  |urns from a Wimp|
00002020  20 50 6f 6c 6c 2e 0a 0a  20 20 8f 20 20 20 20 54  | Poll...  .    T|
00002030  68 65 20 57 69 6d 70 20  50 72 65 2d 46 69 6c 74  |he Wimp Pre-Filt|
00002040  65 72 20 63 6f 64 65 2c  20 77 68 69 63 68 20 69  |er code, which i|
00002050  73 20 61 62 6f 75 74 20  33 33 20 69 6e 73 74 72  |s about 33 instr|
00002060  75 63 74 69 6f 6e 73 20  6c 6f 6e 67 2c 20 61 6e  |uctions long, an|
00002070  64 20 69 73 0a 20 20 63  61 6c 6c 65 64 20 65 76  |d is.  called ev|
00002080  65 72 79 20 74 69 6d 65  20 61 20 70 72 6f 67 72  |ery time a progr|
00002090  61 6d 20 63 61 6c 6c 73  20 57 69 6d 70 20 50 6f  |am calls Wimp Po|
000020a0  6c 6c 2e 0a 0a 20 20 8f  20 20 20 20 54 68 65 20  |ll...  .    The |
000020b0  49 6e 74 65 72 72 75 70  74 20 63 6f 64 65 2c 20  |Interrupt code, |
000020c0  77 68 69 63 68 20 69 73  20 63 61 6c 6c 65 64 20  |which is called |
000020d0  65 76 65 72 79 20 73 65  63 6f 6e 64 20 28 6f 72  |every second (or|
000020e0  20 74 77 6f 29 2c 20 69  73 20 61 62 6f 75 74 20  | two), is about |
000020f0  32 33 30 0a 20 20 69 6e  73 74 72 75 63 74 69 6f  |230.  instructio|
00002100  6e 73 2c 20 70 6c 75 73  20 31 30 20 66 6f 72 20  |ns, plus 10 for |
00002110  65 61 63 68 20 6f 66 20  74 68 65 20 6d 61 78 69  |each of the maxi|
00002120  6d 75 6d 20 6e 75 6d 62  65 72 20 6f 66 20 74 61  |mum number of ta|
00002130  73 6b 73 20 74 68 61 74  20 68 61 76 65 20 72 75  |sks that have ru|
00002140  6e 0a 20 20 63 6f 6e 63  75 72 72 65 6e 74 6c 79  |n.  concurrently|
00002150  20 73 69 6e 63 65 20 74  68 65 20 63 6f 6d 70 75  | since the compu|
00002160  74 65 72 20 68 61 73 20  62 65 65 6e 20 73 74 61  |ter has been sta|
00002170  72 74 65 64 20 6f 72 20  52 65 73 65 74 2e 0a 0a  |rted or Reset...|
00002180  20 20 55 73 69 6e 67 20  74 68 65 20 74 69 6d 65  |  Using the time|
00002190  73 20 67 61 74 68 65 72  65 64 20 62 79 20 74 68  |s gathered by th|
000021a0  69 73 20 6d 6f 6e 69 74  6f 72 69 6e 67 20 63 6f  |is monitoring co|
000021b0  64 65 2c 20 74 68 65 20  66 6f 6c 6c 6f 77 69 6e  |de, the followin|
000021c0  67 20 61 72 65 20 63 61  6c 63 75 6c 61 74 65 64  |g are calculated|
000021d0  3a 0a 0a 20 20 8f 20 20  20 20 54 68 65 20 65 6c  |:..  .    The el|
000021e0  61 70 73 65 20 74 69 6d  65 20 69 73 20 72 65 63  |apse time is rec|
000021f0  6f 72 64 65 64 20 66 6f  72 20 65 61 63 68 20 54  |orded for each T|
00002200  61 73 6b 2c 20 66 72 6f  6d 20 74 68 65 20 74 69  |ask, from the ti|
00002210  6d 65 20 77 68 65 6e 20  74 68 65 0a 20 20 61 70  |me when the.  ap|
00002220  70 6c 69 63 61 74 69 6f  6e 20 69 73 20 72 65 74  |plication is ret|
00002230  75 72 6e 65 64 20 74 6f  20 61 66 74 65 72 20 63  |urned to after c|
00002240  61 6c 6c 69 6e 67 20 57  69 6d 70 50 6f 6c 6c 2c  |alling WimpPoll,|
00002250  20 74 6f 20 74 68 65 20  74 69 6d 65 20 74 68 65  | to the time the|
00002260  20 61 70 70 6c 69 63 61  74 69 6f 6e 0a 20 20 63  | application.  c|
00002270  61 6c 6c 73 20 57 69 6d  70 50 6f 6c 6c 20 61 67  |alls WimpPoll ag|
00002280  61 69 6e 2e 20 20 54 68  69 73 20 69 73 20 74 68  |ain.  This is th|
00002290  65 20 65 6c 61 70 73 65  64 20 74 69 6d 65 20 73  |e elapsed time s|
000022a0  70 65 6e 74 20 69 6e 20  74 68 65 20 61 70 70 6c  |pent in the appl|
000022b0  69 63 61 74 69 6f 6e 20  54 61 73 6b 2e 0a 20 20  |ication Task..  |
000022c0  49 74 20 77 69 6c 6c 20  75 73 75 61 6c 6c 79 20  |It will usually |
000022d0  63 6f 6d 70 72 69 73 65  20 50 72 6f 63 65 73 73  |comprise Process|
000022e0  6f 72 20 74 69 6d 65 2c  20 62 75 74 20 69 66 20  |or time, but if |
000022f0  61 6e 79 20 69 6e 70 75  74 20 6f 72 20 6f 75 74  |any input or out|
00002300  70 75 74 20 69 73 20 69  6e 76 6f 6c 76 65 64 2c  |put is involved,|
00002310  0a 20 20 74 68 65 72 65  20 6d 61 79 20 62 65 20  |.  there may be |
00002320  73 6f 6d 65 20 74 69 6d  65 20 73 70 65 6e 74 20  |some time spent |
00002330  77 61 69 74 69 6e 67 20  66 6f 72 20 74 68 65 20  |waiting for the |
00002340  64 69 73 63 20 6f 72 20  6f 74 68 65 72 20 64 65  |disc or other de|
00002350  76 69 63 65 2e 0a 0a 20  20 8f 20 20 20 20 49 6e  |vice...  .    In|
00002360  20 61 64 64 69 74 69 6f  6e 2c 20 65 61 63 68 20  | addition, each |
00002370  73 65 63 6f 6e 64 20 74  68 65 20 69 6e 74 65 72  |second the inter|
00002380  72 75 70 74 20 72 6f 75  74 69 6e 65 20 66 69 72  |rupt routine fir|
00002390  73 74 20 61 63 63 75 6d  75 6c 61 74 65 73 20 74  |st accumulates t|
000023a0  68 65 20 74 69 6d 65 0a  20 20 66 6f 72 20 74 68  |he time.  for th|
000023b0  65 20 54 61 73 6b 20 61  6e 64 20 52 65 61 73 6f  |e Task and Reaso|
000023c0  6e 20 43 6f 64 65 20 77  68 69 63 68 20 69 74 20  |n Code which it |
000023d0  68 61 73 20 69 6e 74 65  72 72 75 70 74 65 64 2e  |has interrupted.|
000023e0  20 20 49 74 20 74 68 65  6e 20 63 61 6c 63 75 6c  |  It then calcul|
000023f0  61 74 65 73 20 74 68 65  0a 20 20 6c 61 74 65 73  |ates the.  lates|
00002400  74 20 61 76 65 72 61 67  65 20 66 6f 72 20 65 61  |t average for ea|
00002410  63 68 20 54 61 73 6b 2c  20 61 6e 64 20 66 6f 72  |ch Task, and for|
00002420  20 65 61 63 68 20 57 69  6d 70 20 52 65 61 73 6f  | each Wimp Reaso|
00002430  6e 20 43 6f 64 65 2e 20  20 54 68 65 20 61 76 65  |n Code.  The ave|
00002440  72 61 67 65 20 69 73 20  61 0a 20 20 73 69 6d 70  |rage is a.  simp|
00002450  6c 65 20 72 6f 6c 6c 69  6e 67 20 27 61 76 65 72  |le rolling 'aver|
00002460  61 67 65 27 2c 20 63 61  6c 63 75 6c 61 74 65 64  |age', calculated|
00002470  20 62 79 20 74 61 6b 69  6e 67 20 74 68 65 20 6c  | by taking the l|
00002480  61 73 74 20 61 76 65 72  61 67 65 2c 20 61 64 64  |ast average, add|
00002490  69 6e 67 20 74 68 65 0a  20 20 6c 61 74 65 73 74  |ing the.  latest|
000024a0  20 65 6c 61 70 73 65 64  20 70 72 6f 63 65 73 73  | elapsed process|
000024b0  6f 72 20 74 69 6d 65 2c  20 61 6e 64 20 64 69 76  |or time, and div|
000024c0  69 64 69 6e 67 20 62 79  20 74 77 6f 2e 20 20 49  |iding by two.  I|
000024d0  74 20 69 73 20 6e 6f 74  20 61 20 74 72 75 65 20  |t is not a true |
000024e0  61 76 65 72 61 67 65 2c  0a 20 20 62 75 74 20 69  |average,.  but i|
000024f0  74 20 69 73 20 73 69 6d  70 6c 65 2c 20 71 75 69  |t is simple, qui|
00002500  63 6b 2c 20 61 6e 64 20  67 69 76 65 73 20 61 20  |ck, and gives a |
00002510  72 65 61 73 6f 6e 61 62  6c 65 20 72 65 70 72 65  |reasonable repre|
00002520  73 65 6e 74 61 74 69 6f  6e 20 6f 66 20 74 68 65  |sentation of the|
00002530  20 75 73 61 67 65 2e 0a  0a 0a 20 20 54 65 73 74  | usage....  Test|
00002540  20 50 72 6f 67 72 61 6d  73 20 53 75 70 70 6c 69  | Programs Suppli|
00002550  65 64 0a 20 20 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ed.  ===========|
00002560  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 0a 20 20 49  |===========..  I|
00002570  6e 20 74 68 65 20 21 54  61 73 6b 55 73 61 67 65  |n the !TaskUsage|
00002580  20 64 69 72 65 63 74 6f  72 79 20 74 68 65 72 65  | directory there|
00002590  20 69 73 20 61 20 64 69  72 65 63 74 6f 72 79 20  | is a directory |
000025a0  63 61 6c 6c 65 64 20 54  65 73 74 50 72 6f 67 73  |called TestProgs|
000025b0  2e 0a 20 20 54 68 69 73  20 63 6f 6e 74 61 69 6e  |..  This contain|
000025c0  73 20 66 6f 75 72 20 73  69 6d 70 6c 65 20 70 72  |s four simple pr|
000025d0  6f 67 72 61 6d 73 3a 0a  0a 20 20 8f 20 20 20 20  |ograms:..  .    |
000025e0  50 6f 6c 6c 41 73 6d 20  20 20 20 20 20 61 6e 20  |PollAsm      an |
000025f0  41 73 73 65 6d 62 6c 65  72 20 57 69 6d 50 6f 6c  |Assembler WimPol|
00002600  6c 20 6c 6f 6f 70 20 6f  6e 20 4e 75 6c 6c 50 6f  |l loop on NullPo|
00002610  6c 6c 0a 20 20 8f 20 20  20 20 50 6f 6c 6c 42 61  |ll.  .    PollBa|
00002620  73 69 63 20 20 20 20 61  20 42 41 53 49 43 20 57  |sic    a BASIC W|
00002630  69 6d 50 6f 6c 6c 20 6c  6f 6f 70 20 6f 6e 20 4e  |imPoll loop on N|
00002640  75 6c 6c 50 6f 6c 6c 0a  20 20 8f 20 20 20 20 50  |ullPoll.  .    P|
00002650  6f 6c 6c 49 64 6c 65 42  61 20 20 20 61 20 42 41  |ollIdleBa   a BA|
00002660  53 49 43 20 57 69 6d 50  6f 6c 6c 49 64 6c 65 20  |SIC WimPollIdle |
00002670  6c 6f 6f 70 20 6f 6e 20  4e 75 6c 6c 50 6f 6c 6c  |loop on NullPoll|
00002680  20 77 69 74 68 20 31 2f  31 30 20 73 65 63 6f 6e  | with 1/10 secon|
00002690  64 20 64 65 6c 61 79 0a  20 20 8f 20 20 20 20 50  |d delay.  .    P|
000026a0  6f 6c 6c 4d 6f 64 75 6c  65 20 20 20 61 6e 20 41  |ollModule   an A|
000026b0  73 73 65 6d 62 6c 65 72  20 57 69 6d 50 6f 6c 6c  |ssembler WimPoll|
000026c0  20 6c 6f 6f 70 20 6f 6e  20 4e 75 6c 6c 50 6f 6c  | loop on NullPol|
000026d0  6c 20 69 6e 20 61 20 52  65 6c 6f 63 61 74 61 62  |l in a Relocatab|
000026e0  6c 65 20 4d 6f 64 75 6c  65 0a 0a 20 20 4e 6f 74  |le Module..  Not|
000026f0  65 20 74 68 61 74 20 61  6c 6c 20 74 68 65 73 65  |e that all these|
00002700  20 70 72 6f 67 72 61 6d  73 20 61 70 70 65 61 72  | programs appear|
00002710  20 74 6f 20 64 6f 20 4e  4f 54 48 49 4e 47 20 77  | to do NOTHING w|
00002720  68 65 6e 20 64 6f 75 62  6c 65 20 63 6c 69 63 6b  |hen double click|
00002730  65 64 20 6f 6e 2e 0a 20  20 4e 6f 20 69 63 6f 6e  |ed on..  No icon|
00002740  73 20 61 70 70 65 61 72  21 20 20 54 68 65 79 20  |s appear!  They |
00002750  73 69 6d 70 6c 79 20 70  6f 6c 6c 20 61 73 20 66  |simply poll as f|
00002760  61 73 74 20 61 73 20 70  6f 73 73 69 62 6c 65 2e  |ast as possible.|
00002770  0a 20 20 54 68 65 20 6f  6e 6c 79 20 77 61 79 20  |.  The only way |
00002780  74 6f 20 73 74 6f 70 20  74 68 65 6d 20 69 73 20  |to stop them is |
00002790  74 6f 20 73 65 6c 65 63  74 20 51 75 69 74 20 66  |to select Quit f|
000027a0  72 6f 6d 20 74 68 65 20  54 61 73 6b 20 4d 61 6e  |rom the Task Man|
000027b0  61 67 65 72 20 64 69 73  70 6c 61 79 2e 0a 0a 20  |ager display... |
000027c0  20 53 6f 6d 65 20 74 65  73 74 20 72 65 73 75 6c  | Some test resul|
000027d0  74 73 20 66 72 6f 6d 20  6d 6f 6e 69 74 6f 72 69  |ts from monitori|
000027e0  6e 67 20 74 68 65 20 50  6f 6c 6c 69 6e 67 20 70  |ng the Polling p|
000027f0  72 6f 67 72 61 6d 73 2c  20 77 69 74 68 20 6c 69  |rograms, with li|
00002800  74 74 6c 65 20 65 6c 73  65 0a 20 20 72 75 6e 6e  |ttle else.  runn|
00002810  69 6e 67 2c 20 6f 6e 20  74 77 6f 20 64 69 66 66  |ing, on two diff|
00002820  65 72 65 6e 74 20 6d 61  63 68 69 6e 65 73 2c 20  |erent machines, |
00002830  61 72 65 20 61 73 20 66  6f 6c 6c 6f 77 73 3a 0a  |are as follows:.|
00002840  0a 20 20 52 49 53 43 20  50 43 36 30 30 20 53 74  |.  RISC PC600 St|
00002850  72 6f 6e 67 41 72 6d 20  20 20 52 49 53 43 20 4f  |rongArm   RISC O|
00002860  53 20 33 2e 37 30 0a 20  20 2d 2d 2d 2d 2d 2d 2d  |S 3.70.  -------|
00002870  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002880  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 20 20  |------------..  |
00002890  50 72 65 63 69 73 69 6f  6e 20 20 20 20 20 20 20  |Precision       |
000028a0  20 20 35 0a 20 20 54 69  6d 65 72 20 55 73 65 64  |  5.  Timer Used|
000028b0  20 20 20 20 20 20 20 20  54 69 6d 65 72 20 31 0a  |        Timer 1.|
000028c0  20 20 54 69 6d 65 72 73  2f 53 65 63 6f 6e 64 20  |  Timers/Second |
000028d0  20 20 20 20 36 2c 34 30  30 0a 20 20 53 65 63 6f  |    6,400.  Seco|
000028e0  6e 64 73 2f 55 70 64 61  74 65 20 20 20 20 31 0a  |nds/Update    1.|
000028f0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002900  20 20 20 20 20 20 43 50  55 20 55 73 61 67 65 2f  |      CPU Usage/|
00002910  54 61 73 6b 20 20 20 20  20 20 20 20 20 20 20 20  |Task            |
00002920  20 20 20 20 50 6f 6c 6c  73 2f 53 65 63 6f 6e 64  |    Polls/Second|
00002930  0a 20 20 50 72 6f 67 72  61 6d 73 20 20 20 20 20  |.  Programs     |
00002940  20 20 20 20 20 31 20 54  61 73 6b 20 20 20 32 20  |     1 Task   2 |
00002950  54 61 73 6b 73 20 20 20  20 20 20 20 20 20 20 20  |Tasks           |
00002960  20 20 31 20 54 61 73 6b  20 20 20 32 20 54 61 73  |  1 Task   2 Tas|
00002970  6b 73 0a 0a 20 20 50 6f  6c 6c 4d 6f 64 75 6c 65  |ks..  PollModule|
00002980  20 20 20 20 20 20 20 20  20 20 20 32 32 25 20 20  |           22%  |
00002990  20 20 20 20 31 30 25 20  20 20 20 20 20 20 20 20  |    10%         |
000029a0  20 20 20 20 20 31 38 2c  35 30 30 20 20 20 20 35  |     18,500    5|
000029b0  2c 37 30 30 0a 20 20 50  6f 6c 6c 41 73 6d 20 20  |,700.  PollAsm  |
000029c0  20 20 20 20 20 20 20 20  20 20 20 20 32 30 25 20  |            20% |
000029d0  20 20 20 20 20 20 35 25  20 20 20 20 20 20 20 20  |      5%        |
000029e0  20 20 20 20 20 20 31 38  2c 34 30 30 20 20 20 20  |      18,400    |
000029f0  20 20 38 30 30 0a 20 20  50 6f 6c 6c 42 61 73 69  |  800.  PollBasi|
00002a00  63 20 20 20 20 20 20 20  20 20 20 20 20 36 30 25  |c            60%|
00002a10  20 20 20 20 20 20 31 35  25 20 20 20 20 20 20 20  |      15%       |
00002a20  20 20 20 20 20 20 20 31  31 2c 38 30 30 20 20 20  |       11,800   |
00002a30  20 20 20 35 39 30 0a 20  20 50 6f 6c 6c 49 64 6c  |   590.  PollIdl|
00002a40  65 42 61 20 20 20 20 20  20 20 20 20 20 20 20 30  |eBa            0|
00002a50  25 20 20 20 20 20 20 20  30 25 20 20 20 20 20 20  |%       0%      |
00002a60  20 20 20 20 20 20 20 20  20 20 20 20 31 30 20 20  |            10  |
00002a70  20 20 20 20 20 31 30 0a  0a 20 20 41 34 30 30 30  |     10..  A4000|
00002a80  20 20 20 52 49 53 43 20  4f 53 20 33 2e 31 30 0a  |   RISC OS 3.10.|
00002a90  20 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |  --------------|
00002aa0  2d 2d 2d 2d 2d 2d 0a 0a  20 20 50 72 65 63 69 73  |------..  Precis|
00002ab0  69 6f 6e 20 20 20 20 20  20 20 20 20 32 0a 20 20  |ion         2.  |
00002ac0  54 69 6d 65 72 20 55 73  65 64 20 20 20 20 20 20  |Timer Used      |
00002ad0  20 20 54 69 6d 65 72 20  31 0a 20 20 54 69 6d 65  |  Timer 1.  Time|
00002ae0  72 73 2f 53 65 63 6f 6e  64 20 20 20 20 20 34 30  |rs/Second     40|
00002af0  30 0a 20 20 53 65 63 6f  6e 64 73 2f 55 70 64 61  |0.  Seconds/Upda|
00002b00  74 65 20 20 20 20 32 0a  0a 20 20 20 20 20 20 20  |te    2..       |
00002b10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 50  |              CP|
00002b20  55 20 55 73 61 67 65 2f  54 61 73 6b 20 20 20 20  |U Usage/Task    |
00002b30  20 20 20 20 20 20 20 20  20 20 20 20 50 6f 6c 6c  |            Poll|
00002b40  73 2f 53 65 63 6f 6e 64  0a 20 20 50 72 6f 67 72  |s/Second.  Progr|
00002b50  61 6d 73 20 20 20 20 20  20 20 20 20 20 31 20 54  |ams          1 T|
00002b60  61 73 6b 20 20 20 32 20  54 61 73 6b 73 20 20 20  |ask   2 Tasks   |
00002b70  20 20 20 20 20 20 20 20  20 20 31 20 54 61 73 6b  |          1 Task|
00002b80  20 20 20 32 20 54 61 73  6b 73 0a 0a 20 20 50 6f  |   2 Tasks..  Po|
00002b90  6c 6c 4d 6f 64 75 6c 65  20 20 20 20 20 20 20 20  |llModule        |
00002ba0  20 20 20 20 38 25 20 20  20 20 20 20 20 34 25 20  |    8%       4% |
00002bb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002bc0  37 35 30 20 20 20 20 20  20 32 30 30 0a 20 20 50  |750      200.  P|
00002bd0  6f 6c 6c 41 73 6d 20 20  20 20 20 20 20 20 20 20  |ollAsm          |
00002be0  20 20 20 20 20 38 25 20  20 20 20 20 20 20 34 25  |     8%       4%|
00002bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c00  20 37 35 30 20 20 20 20  20 20 31 38 30 0a 20 20  | 750      180.  |
00002c10  50 6f 6c 6c 42 61 73 69  63 20 20 20 20 20 20 20  |PollBasic       |
00002c20  20 20 20 20 20 34 35 25  20 20 20 20 20 20 31 35  |     45%      15|
00002c30  25 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |%               |
00002c40  20 20 34 30 30 20 20 20  20 20 20 31 33 30 0a 20  |  400      130. |
00002c50  20 50 6f 6c 6c 49 64 6c  65 42 61 20 20 20 20 20  | PollIdleBa     |
00002c60  20 20 20 20 20 20 20 34  25 20 20 20 20 20 20 20  |       4%       |
00002c70  34 25 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4%              |
00002c80  20 20 20 20 31 30 20 20  20 20 20 20 20 31 30 0a  |    10       10.|
00002c90  0a 0a 20 20 4f 62 73 65  72 76 61 74 69 6f 6e 73  |..  Observations|
00002ca0  20 66 72 6f 6d 20 75 73  69 6e 67 20 54 61 73 6b  | from using Task|
00002cb0  55 73 61 67 65 0a 20 20  3d 3d 3d 3d 3d 3d 3d 3d  |Usage.  ========|
00002cc0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002cd0  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 20 20 8f 20 20  |=========..  .  |
00002ce0  20 20 49 66 20 52 49 53  43 20 4f 53 20 69 73 20  |  If RISC OS is |
00002cf0  6e 6f 74 20 6f 70 65 72  61 74 69 6e 67 20 69 6e  |not operating in|
00002d00  20 6d 75 6c 74 69 2d 74  61 73 6b 69 6e 67 20 6d  | multi-tasking m|
00002d10  6f 64 65 2c 20 66 6f 72  20 65 78 61 6d 70 6c 65  |ode, for example|
00002d20  20 77 68 65 6e 20 46 31  32 20 69 73 0a 20 20 75  | when F12 is.  u|
00002d30  73 65 64 20 66 6f 72 20  61 20 63 6f 6d 6d 61 6e  |sed for a comman|
00002d40  64 20 6c 69 6e 65 2c 20  6f 72 20 77 68 65 6e 20  |d line, or when |
00002d50  61 20 70 72 6f 67 72 61  6d 20 69 73 20 72 75 6e  |a program is run|
00002d60  20 77 68 69 63 68 20 64  6f 65 73 20 6e 6f 74 20  | which does not |
00002d70  63 61 6c 6c 20 57 69 6d  70 20 50 6f 6c 6c 2c 0a  |call Wimp Poll,.|
00002d80  20 20 74 68 65 6e 20 74  68 65 20 66 69 67 75 72  |  then the figur|
00002d90  65 73 20 63 6f 6c 6c 65  63 74 65 64 20 77 69 6c  |es collected wil|
00002da0  6c 20 62 65 20 28 76 65  72 79 29 20 64 69 73 74  |l be (very) dist|
00002db0  6f 72 74 65 64 2c 20 62  75 74 20 77 69 6c 6c 20  |orted, but will |
00002dc0  73 6f 6f 6e 20 72 65 63  6f 76 65 72 20 77 68 65  |soon recover whe|
00002dd0  6e 0a 20 20 6d 75 6c 74  69 2d 74 61 73 6b 69 6e  |n.  multi-taskin|
00002de0  67 20 69 73 20 72 65 73  75 6d 65 64 2e 0a 0a 20  |g is resumed... |
00002df0  20 8f 20 20 20 20 54 68  65 20 74 69 6d 65 20 73  | .    The time s|
00002e00  70 65 6e 74 20 69 6e 20  61 70 70 6c 69 63 61 74  |pent in applicat|
00002e10  69 6f 6e 73 20 65 69 74  68 65 72 20 62 65 66 6f  |ions either befo|
00002e20  72 65 20 74 68 65 20 66  69 72 73 74 20 63 61 6c  |re the first cal|
00002e30  6c 20 74 6f 20 57 69 6d  70 50 6f 6c 6c 2c 0a 20  |l to WimpPoll,. |
00002e40  20 6f 72 20 61 66 74 65  72 20 74 68 65 20 72 65  | or after the re|
00002e50  74 75 72 6e 20 66 72 6f  6d 20 74 68 65 20 6c 61  |turn from the la|
00002e60  73 74 20 57 69 6d 70 50  6f 6c 6c 2c 20 61 72 65  |st WimpPoll, are|
00002e70  20 6e 6f 74 20 69 6e 63  6c 75 64 65 64 20 69 6e  | not included in|
00002e80  20 74 68 65 20 74 69 6d  65 73 20 73 68 6f 77 6e  | the times shown|
00002e90  0a 20 20 62 79 20 54 61  73 6b 55 73 61 67 65 2c  |.  by TaskUsage,|
00002ea0  20 61 73 20 74 68 65 79  20 61 72 65 20 6e 6f 74  | as they are not|
00002eb0  20 74 68 65 6e 20 6d 75  6c 74 69 2d 74 61 73 6b  | then multi-task|
00002ec0  69 6e 67 2e 0a 0a 20 20  8f 20 20 20 20 54 68 65  |ing...  .    The|
00002ed0  20 74 69 6d 65 20 73 70  65 6e 74 20 62 79 20 52  | time spent by R|
00002ee0  49 53 43 20 4f 53 20 69  74 73 65 6c 66 20 77 68  |ISC OS itself wh|
00002ef0  65 6e 20 6e 6f 74 20 61  63 74 75 61 6c 6c 79 20  |en not actually |
00002f00  72 75 6e 6e 69 6e 67 20  74 61 73 6b 73 20 69 73  |running tasks is|
00002f10  20 6e 6f 74 0a 20 20 69  6e 63 6c 75 64 65 64 20  | not.  included |
00002f20  69 6e 20 74 68 65 20 74  69 6d 65 73 20 73 68 6f  |in the times sho|
00002f30  77 6e 20 62 79 20 54 61  73 6b 55 73 61 67 65 2e  |wn by TaskUsage.|
00002f40  0a 0a 20 20 8f 20 20 20  20 41 6e 79 20 69 6e 74  |..  .    Any int|
00002f50  65 72 72 75 70 74 20 63  6f 64 65 20 69 73 20 69  |errupt code is i|
00002f60  6e 63 6c 75 64 65 64 20  69 6e 20 74 68 65 20 61  |ncluded in the a|
00002f70  70 70 6c 69 63 61 74 69  6f 6e 20 77 68 69 63 68  |pplication which|
00002f80  20 68 61 70 70 65 6e 73  20 74 6f 20 62 65 0a 20  | happens to be. |
00002f90  20 72 75 6e 6e 69 6e 67  20 61 74 20 74 68 65 20  | running at the |
00002fa0  74 69 6d 65 2c 20 62 75  74 20 74 68 69 73 20 73  |time, but this s|
00002fb0  68 6f 75 6c 64 20 62 65  20 73 6d 61 6c 6c 2e 0a  |hould be small..|
00002fc0  0a 20 20 8f 20 20 20 20  54 68 65 20 6e 75 6d 62  |.  .    The numb|
00002fd0  65 72 20 6f 66 20 57 69  6d 70 20 50 6f 6c 6c 73  |er of Wimp Polls|
00002fe0  20 77 68 69 63 68 20 61  72 65 20 62 65 69 6e 67  | which are being|
00002ff0  20 70 72 6f 63 65 73 73  65 64 20 70 65 72 20 73  | processed per s|
00003000  65 63 6f 6e 64 20 74 65  6e 64 73 20 74 6f 0a 20  |econd tends to. |
00003010  20 67 72 6f 77 2c 20 74  68 65 6e 20 66 61 6c 6c  | grow, then fall|
00003020  2c 20 61 73 20 74 68 65  20 73 79 73 74 65 6d 20  |, as the system |
00003030  67 65 74 73 20 62 75 73  69 65 72 2c 20 61 73 20  |gets busier, as |
00003040  69 74 20 63 61 6e 20 73  65 72 76 69 63 65 20 65  |it can service e|
00003050  61 63 68 20 74 61 73 6b  20 6c 65 73 73 0a 20 20  |ach task less.  |
00003060  66 72 65 71 75 65 6e 74  6c 79 2e 20 20 4e 6f 74  |frequently.  Not|
00003070  65 20 74 68 61 74 20 61  20 6c 61 72 67 65 20 4e  |e that a large N|
00003080  75 6c 6c 20 52 65 61 73  6f 6e 20 43 6f 64 65 20  |ull Reason Code |
00003090  74 69 6d 65 20 69 73 20  6e 6f 74 20 6e 65 63 65  |time is not nece|
000030a0  73 73 61 72 69 6c 79 20  62 61 64 3a 20 69 74 0a  |ssarily bad: it.|
000030b0  20 20 6d 61 79 20 73 68  6f 77 20 74 68 61 74 20  |  may show that |
000030c0  74 68 65 20 73 79 73 74  65 6d 20 68 61 73 20 73  |the system has s|
000030d0  6f 6d 65 20 73 70 61 72  65 20 74 69 6d 65 20 74  |ome spare time t|
000030e0  6f 20 64 6f 20 61 6e 79  20 62 61 63 6b 67 72 6f  |o do any backgro|
000030f0  75 6e 64 20 74 61 73 6b  73 0a 20 20 72 65 71 75  |und tasks.  requ|
00003100  69 72 65 64 2e 0a 0a 20  20 8f 20 20 20 20 4f 6e  |ired...  .    On|
00003110  20 61 20 52 49 53 43 20  50 43 20 36 30 30 2c 20  | a RISC PC 600, |
00003120  61 6e 20 61 73 73 65 6d  62 6c 65 72 20 6c 6f 6f  |an assembler loo|
00003130  70 20 72 6f 75 6e 64 20  61 20 57 69 6d 70 5f 50  |p round a Wimp_P|
00003140  6f 6c 6c 20 69 6e 20 61  6e 20 41 70 70 6c 69 63  |oll in an Applic|
00003150  61 74 69 6f 6e 0a 20 20  54 61 73 6b 20 63 61 6e  |ation.  Task can|
00003160  20 6d 61 6e 61 67 65 20  6f 76 65 72 20 31 2c 36  | manage over 1,6|
00003170  30 30 20 70 6f 6c 6c 73  20 70 65 72 20 73 65 63  |00 polls per sec|
00003180  6f 6e 64 2c 20 61 6e 64  20 75 73 65 73 20 61 62  |ond, and uses ab|
00003190  6f 75 74 20 31 30 25 20  6f 66 20 74 68 65 0a 20  |out 10% of the. |
000031a0  20 70 72 6f 63 65 73 73  6f 72 2c 20 69 66 20 72  | processor, if r|
000031b0  75 6e 6e 69 6e 67 20 6f  6e 20 69 74 73 20 6f 77  |unning on its ow|
000031c0  6e 2e 20 20 48 6f 77 65  76 65 72 2c 20 69 66 20  |n.  However, if |
000031d0  61 6e 6f 74 68 65 72 20  69 73 20 73 74 61 72 74  |another is start|
000031e0  65 64 2c 20 74 68 65 20  74 6f 74 61 6c 0a 20 20  |ed, the total.  |
000031f0  64 72 6f 70 73 20 74 6f  20 61 62 6f 75 74 20 35  |drops to about 5|
00003200  30 30 2c 20 61 6e 64 20  65 61 63 68 20 74 61 73  |00, and each tas|
00003210  6b 20 69 73 20 67 65 74  74 69 6e 67 20 61 62 6f  |k is getting abo|
00003220  75 74 20 68 61 6c 66 2e  20 20 54 68 65 20 74 6f  |ut half.  The to|
00003230  74 61 6c 20 64 72 6f 70  20 6d 75 73 74 20 62 65  |tal drop must be|
00003240  0a 20 20 62 65 63 61 75  73 65 20 6f 66 20 74 68  |.  because of th|
00003250  65 20 6f 76 65 72 68 65  61 64 73 20 6f 66 20 72  |e overheads of r|
00003260  75 6e 6e 69 6e 67 20 6d  6f 72 65 20 74 68 61 6e  |unning more than|
00003270  20 6f 6e 65 20 61 70 70  6c 69 63 61 74 69 6f 6e  | one application|
00003280  20 74 61 73 6b 2c 20 77  68 69 63 68 0a 20 20 72  | task, which.  r|
00003290  65 71 75 69 72 65 73 20  6d 65 6d 6f 72 79 20 74  |equires memory t|
000032a0  6f 20 62 65 20 70 61 67  65 64 20 69 6e 20 61 6e  |o be paged in an|
000032b0  64 20 6f 75 74 2e 20 20  54 68 65 20 73 79 73 74  |d out.  The syst|
000032c0  65 6d 20 70 6f 6c 6c 69  6e 67 20 63 61 70 61 62  |em polling capab|
000032d0  69 6c 69 74 79 20 69 73  20 74 68 65 6e 0a 20 20  |ility is then.  |
000032e0  64 69 76 69 64 65 64 20  62 79 20 74 68 65 20 6e  |divided by the n|
000032f0  75 6d 62 65 72 20 6f 66  20 74 61 73 6b 73 20 72  |umber of tasks r|
00003300  75 6e 6e 69 6e 67 2e 20  20 53 75 62 73 65 71 75  |unning.  Subsequ|
00003310  65 6e 74 20 61 64 64 69  74 69 6f 6e 61 6c 20 74  |ent additional t|
00003320  61 73 6b 73 20 64 6f 20  6e 6f 74 0a 20 20 72 65  |asks do not.  re|
00003330  64 75 63 65 20 74 68 65  20 74 6f 74 61 6c 20 73  |duce the total s|
00003340  69 67 6e 69 66 69 63 61  6e 74 6c 79 2c 20 62 75  |ignificantly, bu|
00003350  74 20 65 61 63 68 20 74  61 73 6b 20 6f 6e 6c 79  |t each task only|
00003360  20 67 65 74 73 20 69 74  27 73 20 73 68 61 72 65  | gets it's share|
00003370  20 6f 66 20 4e 75 6c 6c  0a 20 20 50 6f 6c 6c 73  | of Null.  Polls|
00003380  2e 20 20 54 68 69 73 20  69 73 20 77 68 79 20 6d  |.  This is why m|
00003390  69 73 62 65 68 61 76 65  64 20 74 61 73 6b 73 20  |isbehaved tasks |
000033a0  77 68 69 63 68 20 75 73  65 20 74 68 65 20 4e 75  |which use the Nu|
000033b0  6c 6c 20 72 65 61 73 6f  6e 20 63 6f 64 65 20 77  |ll reason code w|
000033c0  68 65 6e 20 6e 6f 74 0a  20 20 72 65 71 75 69 72  |hen not.  requir|
000033d0  65 64 20 73 6f 61 6b 20  75 70 20 73 75 63 68 20  |ed soak up such |
000033e0  6c 61 72 67 65 20 61 6d  6f 75 6e 74 73 20 6f 66  |large amounts of|
000033f0  20 70 72 6f 63 65 73 73  6f 72 20 74 69 6d 65 2c  | processor time,|
00003400  20 6d 61 6b 69 6e 67 20  74 68 65 20 73 79 73 74  | making the syst|
00003410  65 6d 20 6c 65 73 73 0a  20 20 72 65 73 70 6f 6e  |em less.  respon|
00003420  73 69 76 65 2c 20 65 76  65 6e 20 74 68 6f 75 67  |sive, even thoug|
00003430  68 20 4e 75 6c 6c 20 63  6f 64 65 73 20 61 72 65  |h Null codes are|
00003440  20 70 72 6f 63 65 73 73  65 64 20 77 69 74 68 20  | processed with |
00003450  74 68 65 20 6c 6f 77 65  73 74 20 70 72 69 6f 72  |the lowest prior|
00003460  69 74 79 2e 0a 0a 20 20  8f 20 20 20 20 4f 6e 20  |ity...  .    On |
00003470  61 20 52 49 53 43 20 50  43 20 36 30 30 2c 20 61  |a RISC PC 600, a|
00003480  6e 20 42 41 53 49 43 20  6c 6f 6f 70 20 72 6f 75  |n BASIC loop rou|
00003490  6e 64 20 61 20 57 69 6d  70 5f 50 6f 6c 6c 20 63  |nd a Wimp_Poll c|
000034a0  61 6e 20 6d 61 6e 61 67  65 20 61 62 6f 75 74 20  |an manage about |
000034b0  36 35 30 0a 20 20 70 6f  6c 6c 73 20 70 65 72 20  |650.  polls per |
000034c0  73 65 63 6f 6e 64 2c 20  61 6e 64 20 75 73 65 73  |second, and uses|
000034d0  20 61 62 6f 75 74 20 35  35 25 20 6f 66 20 74 68  | about 55% of th|
000034e0  65 20 70 72 6f 63 65 73  73 6f 72 2c 20 69 66 20  |e processor, if |
000034f0  72 75 6e 6e 69 6e 67 20  6f 6e 20 69 74 73 20 6f  |running on its o|
00003500  77 6e 2e 0a 20 20 48 6f  77 65 76 65 72 2c 20 69  |wn..  However, i|
00003510  66 20 61 6e 6f 74 68 65  72 20 69 73 20 73 74 61  |f another is sta|
00003520  72 74 65 64 2c 20 74 68  65 20 74 6f 74 61 6c 20  |rted, the total |
00003530  64 72 6f 70 73 20 74 6f  20 61 62 6f 75 74 20 33  |drops to about 3|
00003540  35 30 2c 20 61 6e 64 20  65 61 63 68 20 74 61 73  |50, and each tas|
00003550  6b 20 69 73 0a 20 20 67  65 74 74 69 6e 67 20 61  |k is.  getting a|
00003560  62 6f 75 74 20 68 61 6c  66 2e 20 20 54 68 65 20  |bout half.  The |
00003570  64 72 6f 70 20 6f 66 20  74 68 65 20 74 6f 74 61  |drop of the tota|
00003580  6c 20 69 73 20 6c 65 73  73 20 74 68 61 6e 20 77  |l is less than w|
00003590  69 74 68 20 74 68 65 20  61 73 73 65 6d 62 6c 65  |ith the assemble|
000035a0  72 20 50 6f 6c 6c 2c 0a  20 20 62 75 74 20 74 68  |r Poll,.  but th|
000035b0  69 73 20 69 73 20 70 72  6f 62 61 62 6c 79 20 62  |is is probably b|
000035c0  65 63 61 75 73 65 20 74  68 65 20 6d 75 6c 74 69  |ecause the multi|
000035d0  2d 74 61 73 6b 69 6e 67  20 6f 76 65 72 68 65 61  |-tasking overhea|
000035e0  64 73 20 61 72 65 20 70  61 72 74 6c 79 20 6f 76  |ds are partly ov|
000035f0  65 72 73 68 61 64 6f 77  65 64 0a 20 20 62 79 20  |ershadowed.  by |
00003600  74 68 65 20 42 61 73 69  63 20 6f 76 65 72 68 65  |the Basic overhe|
00003610  61 64 73 2e 20 41 67 61  69 6e 2c 20 65 61 63 68  |ads. Again, each|
00003620  20 74 61 73 6b 20 67 65  74 73 20 69 74 27 73 20  | task gets it's |
00003630  73 68 61 72 65 20 6f 66  20 74 68 65 20 4e 75 6c  |share of the Nul|
00003640  6c 20 50 6f 6c 6c 73 2e  0a 0a 20 20 8f 20 20 20  |l Polls...  .   |
00003650  20 4f 6e 20 61 20 53 74  72 6f 6e 67 41 72 6d 20  | On a StrongArm |
00003660  52 49 53 43 20 50 43 2c  20 74 68 65 20 61 73 73  |RISC PC, the ass|
00003670  65 6d 62 6c 65 72 20 57  69 6d 70 5f 50 6f 6c 6c  |embler Wimp_Poll|
00003680  20 6c 6f 6f 70 20 63 61  6e 20 72 65 61 63 68 20  | loop can reach |
00003690  31 39 2c 30 30 30 0a 20  20 70 6f 6c 6c 73 20 70  |19,000.  polls p|
000036a0  65 72 20 73 65 63 6f 6e  64 2c 20 61 6e 64 20 74  |er second, and t|
000036b0  68 65 20 42 61 73 69 63  20 6c 6f 6f 70 20 63 61  |he Basic loop ca|
000036c0  6e 20 72 65 61 63 68 20  31 2c 35 35 30 2e 0a 0a  |n reach 1,550...|
000036d0  20 20 53 6f 6d 65 20 6f  62 73 65 72 76 61 74 69  |  Some observati|
000036e0  6f 6e 73 20 6f 6e 20 61  20 66 65 77 20 73 70 65  |ons on a few spe|
000036f0  63 69 66 69 63 20 61 70  70 6c 69 63 61 74 69 6f  |cific applicatio|
00003700  6e 73 20 69 73 20 61 73  20 66 6f 6c 6c 6f 77 73  |ns is as follows|
00003710  3a 0a 0a 20 20 8f 20 20  20 20 21 50 43 70 72 6f  |:..  .    !PCpro|
00003720  2c 20 76 65 72 73 69 6f  6e 20 32 2e 30 33 2c 20  |, version 2.03, |
00003730  73 75 70 70 6c 69 65 72  20 41 6c 65 70 68 20 31  |supplier Aleph 1|
00003740  3a 20 20 54 68 69 73 20  75 73 65 73 20 39 30 25  |:  This uses 90%|
00003750  2b 20 69 66 20 74 68 65  20 50 43 20 77 69 6e 64  |+ if the PC wind|
00003760  6f 77 0a 20 20 69 73 20  6f 70 65 6e 2c 20 61 6e  |ow.  is open, an|
00003770  64 20 68 61 73 20 74 68  65 20 69 6e 70 75 74 20  |d has the input |
00003780  66 6f 63 75 73 2e 20 54  68 69 73 20 66 61 6c 6c  |focus. This fall|
00003790  73 20 74 6f 20 36 30 25  20 69 66 20 69 74 20 64  |s to 60% if it d|
000037a0  6f 65 73 20 6e 6f 74 20  68 61 76 65 20 74 68 65  |oes not have the|
000037b0  20 69 6e 70 75 74 0a 20  20 66 6f 63 75 73 2c 20  | input.  focus, |
000037c0  61 6e 64 20 30 25 20 69  66 20 66 72 6f 7a 65 6e  |and 0% if frozen|
000037d0  2e 20 49 66 20 69 6e 20  66 75 6c 6c 20 73 63 72  |. If in full scr|
000037e0  65 65 6e 20 6d 6f 64 65  2c 20 69 74 20 69 73 20  |een mode, it is |
000037f0  6f 62 76 69 6f 75 73 6c  79 20 31 30 30 25 2e 0a  |obviously 100%..|
00003800  0a 20 20 8f 20 20 20 20  21 55 73 61 67 65 2c 20  |.  .    !Usage, |
00003810  64 61 74 65 64 20 33 30  2f 31 2f 39 32 2c 20 73  |dated 30/1/92, s|
00003820  75 70 70 6c 69 65 72 20  41 63 6f 72 6e 3a 20 20  |upplier Acorn:  |
00003830  54 68 69 73 20 73 6f 6d  65 74 69 6d 65 73 20 75  |This sometimes u|
00003840  73 65 73 20 75 70 20 74  6f 20 33 30 25 2c 0a 20  |ses up to 30%,. |
00003850  20 61 6c 74 68 6f 75 67  68 20 69 74 20 64 6f 65  | although it doe|
00003860  73 20 6e 6f 74 20 72 65  70 6f 72 74 20 74 68 65  |s not report the|
00003870  20 68 69 67 68 20 75 73  61 67 65 21 0a 0a 20 20  | high usage!..  |
00003880  8f 20 20 20 20 21 4f 6d  6e 69 44 65 73 6b 2c 20  |.    !OmniDesk, |
00003890  76 65 72 73 69 6f 6e 20  31 2e 31 30 2c 20 73 75  |version 1.10, su|
000038a0  70 70 6c 69 65 72 20 41  63 6f 72 6e 20 55 73 65  |pplier Acorn Use|
000038b0  72 3a 20 45 78 68 69 62  69 74 73 20 6c 61 72 67  |r: Exhibits larg|
000038c0  65 20 61 6d 6f 75 6e 74  73 20 6f 66 0a 20 20 4e  |e amounts of.  N|
000038d0  75 6c 6c 20 50 6f 6c 6c  20 70 72 6f 63 65 73 73  |ull Poll process|
000038e0  6f 72 20 74 69 6d 65 2e  20 20 49 74 20 61 70 70  |or time.  It app|
000038f0  65 61 72 73 20 74 68 61  74 20 74 68 65 20 61 75  |ears that the au|
00003900  74 68 6f 72 20 70 6c 61  6e 6e 65 64 20 74 6f 20  |thor planned to |
00003910  75 73 65 20 50 6f 6c 6c  49 64 6c 65 0a 20 20 74  |use PollIdle.  t|
00003920  6f 20 70 6f 6c 6c 20 6f  6e 63 65 20 61 20 73 65  |o poll once a se|
00003930  63 6f 6e 64 2c 20 61 73  20 61 6c 6c 20 74 68 65  |cond, as all the|
00003940  20 63 6f 64 65 20 69 74  20 70 72 65 73 65 6e 74  | code it present|
00003950  20 61 70 61 72 74 20 66  72 6f 6d 20 70 61 73 73  | apart from pass|
00003960  69 6e 67 20 74 68 65 20  74 69 6d 65 20 74 6f 0a  |ing the time to.|
00003970  20 20 57 69 6d 70 5f 50  6f 6c 6c 49 64 6c 65 2e  |  Wimp_PollIdle.|
00003980  20 20 54 68 69 73 20 61  70 70 6c 69 65 73 20 74  |  This applies t|
00003990  6f 20 49 63 6f 6e 46 6c  61 67 73 2c 20 53 57 49  |o IconFlags, SWI|
000039a0  49 6e 64 65 78 2c 20 61  6e 64 20 57 69 6e 64 46  |Index, and WindF|
000039b0  6c 61 67 73 2e 0a 0a 20  20 8f 20 20 20 20 21 4c  |lags...  .    !L|
000039c0  61 72 67 65 72 2c 20 76  65 72 73 69 6f 6e 20 32  |arger, version 2|
000039d0  2e 31 34 2c 20 73 75 70  70 6c 69 65 72 20 57 61  |.14, supplier Wa|
000039e0  72 6d 20 53 69 6c 65 6e  63 65 20 53 6f 66 74 77  |rm Silence Softw|
000039f0  61 72 65 3a 20 73 65 65  6d 73 20 74 6f 20 75 73  |are: seems to us|
00003a00  65 0a 20 20 57 69 6d 70  50 6f 6c 6c 49 64 6c 65  |e.  WimpPollIdle|
00003a10  20 77 69 74 68 20 61 20  7a 65 72 6f 20 74 69 6d  | with a zero tim|
00003a20  65 20 69 6e 20 73 6f 6d  65 20 63 61 73 65 73 20  |e in some cases |
00003a30  28 65 67 20 77 68 65 6e  20 61 20 77 69 6e 64 6f  |(eg when a windo|
00003a40  77 20 68 61 64 20 62 65  65 6e 20 64 72 61 67 67  |w had been dragg|
00003a50  65 64 29 0a 20 20 75 6e  74 69 6c 20 61 20 6d 6f  |ed).  until a mo|
00003a60  75 73 65 20 63 6c 69 63  6b 20 69 73 20 64 6f 6e  |use click is don|
00003a70  65 20 6f 6e 20 74 68 65  20 21 4c 61 72 67 65 72  |e on the !Larger|
00003a80  20 62 61 63 6b 64 72 6f  70 2e 20 20 54 68 65 6e  | backdrop.  Then|
00003a90  20 74 68 65 20 74 69 6d  65 20 69 73 20 73 65 74  | the time is set|
00003aa0  20 74 6f 20 32 35 0a 20  20 63 65 6e 74 69 73 65  | to 25.  centise|
00003ab0  63 6f 6e 64 73 2c 20 61  6e 64 20 74 68 65 20 75  |conds, and the u|
00003ac0  73 61 67 65 20 64 72 6f  70 73 20 63 6f 6e 73 69  |sage drops consi|
00003ad0  64 65 72 61 62 6c 79 2e  0a 0a 20 20 8f 20 20 20  |derably...  .   |
00003ae0  20 21 46 69 72 65 77 6f  72 6b 7a 50 72 6f 2c 20  | !FireworkzPro, |
00003af0  76 65 72 73 69 6f 6e 20  31 2e 33 30 2f 30 36 2c  |version 1.30/06,|
00003b00  20 73 75 70 70 6c 69 65  72 20 43 6f 6c 74 6f 6e  | supplier Colton|
00003b10  20 53 6f 66 74 77 61 72  65 3a 20 75 73 65 73 20  | Software: uses |
00003b20  6c 61 72 67 65 20 61 6d  6f 75 6e 74 73 0a 20 20  |large amounts.  |
00003b30  6f 66 20 4e 75 6c 6c 20  50 6f 6c 6c 20 70 72 6f  |of Null Poll pro|
00003b40  63 65 73 73 6f 72 20 74  69 6d 65 2c 20 65 76 65  |cessor time, eve|
00003b50  6e 20 77 68 65 6e 20 6a  75 73 74 20 6c 6f 61 64  |n when just load|
00003b60  65 64 20 6f 6e 20 74 68  65 20 49 63 6f 6e 20 42  |ed on the Icon B|
00003b70  61 72 2e 0a 0a 20 20 8f  20 20 20 20 21 45 61 73  |ar...  .    !Eas|
00003b80  79 46 6f 6e 74 50 72 6f  2c 20 76 65 72 73 69 6f  |yFontPro, versio|
00003b90  6e 20 34 2e 31 33 61 2c  20 73 75 70 70 6c 69 65  |n 4.13a, supplie|
00003ba0  72 20 46 61 62 69 73 20  43 6f 6d 70 75 74 69 6e  |r Fabis Computin|
00003bb0  67 3a 20 75 73 65 73 20  6c 61 72 67 65 20 61 6d  |g: uses large am|
00003bc0  6f 75 6e 74 73 0a 20 20  6f 66 20 4e 75 6c 6c 20  |ounts.  of Null |
00003bd0  50 6f 6c 6c 20 70 72 6f  63 65 73 73 6f 72 20 74  |Poll processor t|
00003be0  69 6d 65 2c 20 65 76 65  6e 20 77 68 65 6e 20 6a  |ime, even when j|
00003bf0  75 73 74 20 6c 6f 61 64  65 64 20 6f 6e 20 74 68  |ust loaded on th|
00003c00  65 20 49 63 6f 6e 20 42  61 72 2e 0a 0a 20 20 54  |e Icon Bar...  T|
00003c10  68 65 73 65 20 6f 62 73  65 72 76 61 74 69 6f 6e  |hese observation|
00003c20  73 20 6d 61 79 20 6e 6f  74 20 62 65 20 74 79 70  |s may not be typ|
00003c30  69 63 61 6c 20 2d 20 6f  72 20 65 76 65 6e 20 61  |ical - or even a|
00003c40  63 63 75 72 61 74 65 21  0a 20 20 4e 6f 20 63 72  |ccurate!.  No cr|
00003c50  69 74 69 63 69 73 6d 20  6f 66 20 74 68 65 20 73  |iticism of the s|
00003c60  6f 66 74 77 61 72 65 20  69 73 20 65 78 70 65 73  |oftware is expes|
00003c70  73 65 64 20 6f 72 20 69  6d 70 6c 69 65 64 2e 0a  |sed or implied..|
00003c80  0a 0a 20 20 41 63 6b 6e  6f 77 6c 65 64 67 65 6d  |..  Acknowledgem|
00003c90  65 6e 74 73 0a 20 20 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ents.  =========|
00003ca0  3d 3d 3d 3d 3d 3d 3d 0a  0a 20 20 54 6f 20 52 61  |=======..  To Ra|
00003cb0  6e 20 4d 6f 6b 61 64 79  2c 20 66 6f 72 20 74 68  |n Mokady, for th|
00003cc0  65 20 69 6e 69 74 69 61  6c 20 69 6e 73 70 69 72  |e initial inspir|
00003cd0  61 74 69 6f 6e 20 66 6f  72 20 74 68 69 73 20 21  |ation for this !|
00003ce0  54 61 73 6b 55 73 61 67  65 20 61 70 70 6c 69 63  |TaskUsage applic|
00003cf0  61 74 69 6f 6e 2e 0a 20  20 49 20 6f 62 74 61 69  |ation..  I obtai|
00003d00  6e 65 64 20 68 69 73 20  21 55 73 61 67 65 20 61  |ned his !Usage a|
00003d10  70 70 6c 69 63 61 74 69  6f 6e 2c 20 76 65 72 73  |pplication, vers|
00003d20  69 6f 6e 20 31 2e 30 30  2c 20 64 61 74 65 64 20  |ion 1.00, dated |
00003d30  32 34 74 68 20 4d 61 79  20 31 39 39 30 2c 20 66  |24th May 1990, f|
00003d40  72 6f 6d 0a 20 20 54 68  65 20 44 61 74 61 66 69  |rom.  The Datafi|
00003d50  6c 65 2e 20 20 48 6f 77  65 76 65 72 2c 20 69 74  |le.  However, it|
00003d60  20 74 65 6e 64 65 64 20  74 6f 20 6c 6f 73 65 20  | tended to lose |
00003d70  73 74 6f 72 61 67 65 2c  20 61 6e 64 20 69 74 20  |storage, and it |
00003d80  68 61 64 20 61 20 72 65  6c 61 74 69 76 65 6c 79  |had a relatively|
00003d90  20 68 69 67 68 0a 20 20  70 72 6f 63 65 73 73 6f  | high.  processo|
00003da0  72 20 6f 76 65 72 68 65  61 64 2e 20 20 41 73 20  |r overhead.  As |
00003db0  74 68 65 72 65 20 77 61  73 20 6e 6f 20 63 6f 6e  |there was no con|
00003dc0  74 61 63 74 20 69 6e 66  6f 72 6d 61 74 69 6f 6e  |tact information|
00003dd0  20 66 6f 72 20 52 61 6e  2c 20 49 20 64 65 63 69  | for Ran, I deci|
00003de0  64 65 64 20 74 6f 0a 20  20 74 72 79 20 61 6e 64  |ded to.  try and|
00003df0  20 69 6d 70 72 6f 76 65  20 6f 6e 20 69 74 2e 0a  | improve on it..|
00003e00  0a 20 20 54 6f 20 44 6f  6d 69 6e 69 63 20 53 79  |.  To Dominic Sy|
00003e10  6d 65 73 2c 20 66 6f 72  20 5a 61 70 2c 20 61 20  |mes, for Zap, a |
00003e20  77 6f 6e 64 65 72 66 75  6c 20 65 64 69 74 6f 72  |wonderful editor|
00003e30  2e 0a 0a 0a 0a 20 20 43  6f 6e 64 69 74 69 6f 6e  |.....  Condition|
00003e40  73 20 6f 66 20 55 73 65  0a 20 20 3d 3d 3d 3d 3d  |s of Use.  =====|
00003e50  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 0a 20 20  |============..  |
00003e60  50 6c 65 61 73 65 20 6e  6f 74 65 20 74 68 61 74  |Please note that|
00003e70  20 61 6c 6c 20 74 68 65  20 73 6f 66 74 77 61 72  | all the softwar|
00003e80  65 20 61 6e 64 20 64 6f  63 75 6d 65 6e 74 61 74  |e and documentat|
00003e90  69 6f 6e 20 73 75 70 70  6c 69 65 64 20 77 69 74  |ion supplied wit|
00003ea0  68 20 54 61 73 6b 55 73  61 67 65 20 69 73 0a 20  |h TaskUsage is. |
00003eb0  20 63 6f 70 79 72 69 67  68 74 2c 20 61 6e 64 20  | copyright, and |
00003ec0  6d 61 79 20 6f 6e 6c 79  20 62 65 20 63 6f 70 69  |may only be copi|
00003ed0  65 64 20 66 6f 72 20 70  65 72 73 6f 6e 61 6c 20  |ed for personal |
00003ee0  62 61 63 6b 75 70 20 70  75 72 70 6f 73 65 73 2e  |backup purposes.|
00003ef0  0a 0a 20 20 41 6c 74 68  6f 75 67 68 20 54 61 73  |..  Although Tas|
00003f00  6b 55 73 61 67 65 20 69  73 20 62 65 6c 69 65 76  |kUsage is believ|
00003f10  65 64 20 74 6f 20 62 65  20 66 72 65 65 20 6f 66  |ed to be free of|
00003f20  20 61 6e 79 20 62 75 67  73 2c 20 41 76 69 73 6f  | any bugs, Aviso|
00003f30  66 74 20 63 61 6e 6e 6f  74 20 61 63 63 65 70 74  |ft cannot accept|
00003f40  0a 20 20 61 6e 79 20 72  65 73 70 6f 6e 73 69 62  |.  any responsib|
00003f50  69 6c 69 74 79 20 66 6f  72 20 61 6e 79 20 6c 6f  |ility for any lo|
00003f60  73 73 20 6f 72 20 63 6f  72 72 75 70 74 69 6f 6e  |ss or corruption|
00003f70  20 6f 66 20 64 61 74 61  20 77 68 69 63 68 20 6d  | of data which m|
00003f80  69 67 68 74 20 72 65 73  75 6c 74 20 66 72 6f 6d  |ight result from|
00003f90  0a 20 20 75 73 69 6e 67  20 54 61 73 6b 55 73 61  |.  using TaskUsa|
00003fa0  67 65 2e 20 20 4e 6f 72  6d 61 6c 20 74 65 73 74  |ge.  Normal test|
00003fb0  69 6e 67 20 61 6e 64 20  64 61 74 61 20 62 61 63  |ing and data bac|
00003fc0  6b 75 70 20 73 68 6f 75  6c 64 20 62 65 20 70 65  |kup should be pe|
00003fd0  72 66 6f 72 6d 65 64 21  0a 0a 0a 20 20 50 72 6f  |rformed!...  Pro|
00003fe0  62 6c 65 6d 73 20 61 6e  64 20 53 75 67 67 65 73  |blems and Sugges|
00003ff0  74 69 6f 6e 73 0a 20 20  3d 3d 3d 3d 3d 3d 3d 3d  |tions.  ========|
00004000  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00004010  0a 0a 20 20 49 66 20 61  6e 79 20 62 75 67 73 20  |..  If any bugs |
00004020  6f 72 20 70 72 6f 62 6c  65 6d 73 20 61 72 65 20  |or problems are |
00004030  66 6f 75 6e 64 2c 20 6f  72 20 69 66 20 79 6f 75  |found, or if you|
00004040  20 68 61 76 65 20 61 6e  79 20 73 75 67 67 65 73  | have any sugges|
00004050  74 69 6f 6e 73 20 66 6f  72 0a 20 20 69 6d 70 72  |tions for.  impr|
00004060  6f 76 65 6d 65 6e 74 73  2c 20 70 6c 65 61 73 65  |ovements, please|
00004070  20 73 65 6e 64 20 6d 65  20 66 75 6c 6c 20 64 65  | send me full de|
00004080  74 61 69 6c 73 20 69 6e  63 6c 75 64 69 6e 67 20  |tails including |
00004090  76 65 72 73 69 6f 6e 20  69 6e 66 6f 72 6d 61 74  |version informat|
000040a0  69 6f 6e 2c 0a 20 20 70  72 65 66 65 72 61 62 6c  |ion,.  preferabl|
000040b0  79 20 6f 6e 20 65 4d 61  69 6c 2c 20 73 6f 20 74  |y on eMail, so t|
000040c0  68 61 74 20 49 20 63 61  6e 20 72 65 63 72 65 61  |hat I can recrea|
000040d0  74 65 20 74 68 65 20 70  72 6f 62 6c 65 6d 20 61  |te the problem a|
000040e0  6e 64 20 74 72 79 20 74  6f 20 63 6f 72 72 65 63  |nd try to correc|
000040f0  74 20 69 74 2e 0a 0a 0a  20 20 48 69 73 74 6f 72  |t it....  Histor|
00004100  79 0a 20 20 3d 3d 3d 3d  3d 3d 3d 0a 0a 20 20 76  |y.  =======..  v|
00004110  30 2e 3f 3f 20 20 31 35  2f 20 35 2f 39 36 20 20  |0.??  15/ 5/96  |
00004120  41 6c 6c 20 76 30 20 77  65 72 65 20 64 65 76 65  |All v0 were deve|
00004130  6c 6f 70 6d 65 6e 74 20  76 65 72 73 69 6f 6e 73  |lopment versions|
00004140  2c 20 6e 65 76 65 72 20  72 65 6c 65 61 73 65 64  |, never released|
00004150  2e 0a 20 20 20 20 20 20  20 20 20 49 74 20 73 74  |..         It st|
00004160  61 72 74 65 64 20 61 73  20 61 20 42 41 53 49 43  |arted as a BASIC|
00004170  20 70 72 6f 67 72 61 6d  20 77 69 74 68 20 61 20  | program with a |
00004180  73 6d 61 6c 6c 20 52 65  6c 6f 63 61 74 61 62 6c  |small Relocatabl|
00004190  65 20 4d 6f 64 75 6c 65  2c 20 61 6e 64 20 77 61  |e Module, and wa|
000041a0  73 0a 20 20 20 20 20 20  20 20 20 67 72 61 64 75  |s.         gradu|
000041b0  61 6c 6c 79 20 63 68 61  6e 67 65 64 20 74 6f 20  |ally changed to |
000041c0  61 20 66 75 6c 6c 20 52  65 6c 6f 63 61 74 61 62  |a full Relocatab|
000041d0  6c 65 20 4d 6f 64 75 6c  65 20 57 69 6d 70 20 54  |le Module Wimp T|
000041e0  61 73 6b 2c 20 75 73 69  6e 67 0a 20 20 20 20 20  |ask, using.     |
000041f0  20 20 20 20 42 41 53 49  43 20 61 73 73 65 6d 62  |    BASIC assemb|
00004200  6c 65 72 2e 20 20 54 68  69 73 20 77 61 73 20 74  |ler.  This was t|
00004210  6f 20 72 65 64 75 63 65  20 73 74 6f 72 61 67 65  |o reduce storage|
00004220  20 72 65 71 75 69 72 65  6d 65 6e 74 73 2c 20 61  | requirements, a|
00004230  6e 64 20 74 6f 20 65 6c  69 6d 69 6e 61 74 65 0a  |nd to eliminate.|
00004240  20 20 20 20 20 20 20 20  20 74 68 65 20 6d 65 6d  |         the mem|
00004250  6f 72 79 20 73 77 69 74  63 68 69 6e 67 20 6f 76  |ory switching ov|
00004260  65 72 68 65 61 64 20 77  68 65 6e 20 54 61 73 6b  |erhead when Task|
00004270  55 73 61 67 65 20 62 65  63 61 6d 65 20 61 63 74  |Usage became act|
00004280  69 76 65 2e 0a 0a 20 20  76 31 2e 30 30 20 20 20  |ive...  v1.00   |
00004290  39 2f 30 33 2f 39 37 20  20 41 6c 6c 6f 77 65 64  |9/03/97  Allowed|
000042a0  20 4d 6f 6e 6f 74 6f 6e  69 63 20 54 69 6d 65 20  | Monotonic Time |
000042b0  66 72 6f 6d 20 70 61 72  6d 0a 20 20 76 31 2e 30  |from parm.  v1.0|
000042c0  31 20 20 20 39 2f 30 33  2f 39 37 20 20 41 64 64  |1   9/03/97  Add|
000042d0  65 64 20 54 69 6d 65 72  20 64 69 73 70 6c 61 79  |ed Timer display|
000042e0  20 64 69 61 6c 6f 67 20  62 6f 78 0a 20 20 76 31  | dialog box.  v1|
000042f0  2e 30 32 20 20 31 31 2f  30 33 2f 39 37 20 20 46  |.02  11/03/97  F|
00004300  69 78 65 64 20 74 69 6d  65 20 64 61 74 61 20 70  |ixed time data p|
00004310  72 65 63 69 73 69 6f 6e  73 0a 20 20 76 31 2e 30  |recisions.  v1.0|
00004320  33 20 20 32 30 2f 30 34  2f 39 37 20 20 41 6c 6c  |3  20/04/97  All|
00004330  6f 77 65 64 20 70 61 72  6d 20 74 6f 20 76 61 72  |owed parm to var|
00004340  79 20 50 6f 6c 6c 49 64  6c 65 20 61 6e 64 20 44  |y PollIdle and D|
00004350  69 73 70 6c 61 79 20 74  69 6d 65 0a 20 20 76 31  |isplay time.  v1|
00004360  2e 30 34 20 20 30 39 2f  30 35 2f 39 37 20 20 44  |.04  09/05/97  D|
00004370  69 73 70 6c 61 79 65 64  20 50 6f 6c 6c 54 69 6d  |isplayed PollTim|
00004380  65 20 69 6e 20 54 69 6d  65 72 20 64 69 61 6c 6f  |e in Timer dialo|
00004390  67 20 62 6f 78 0a 20 20  76 31 2e 30 35 20 20 32  |g box.  v1.05  2|
000043a0  35 2f 30 35 2f 39 37 20  20 43 6f 72 72 65 63 74  |5/05/97  Correct|
000043b0  65 64 20 69 6e 69 74 69  61 6c 69 73 61 74 69 6f  |ed initialisatio|
000043c0  6e 20 6d 61 73 6b 20 61  6e 64 20 4c 61 73 74 54  |n mask and LastT|
000043d0  69 6d 65 72 20 70 72 6f  62 6c 65 6d 73 0a 20 20  |imer problems.  |
000043e0  76 31 2e 30 36 20 20 32  30 2f 30 38 2f 39 37 20  |v1.06  20/08/97 |
000043f0  20 52 65 64 75 63 65 20  57 69 6d 70 20 54 69 74  | Reduce Wimp Tit|
00004400  6c 65 20 74 6f 20 61 76  6f 69 64 20 6f 6c 64 20  |le to avoid old |
00004410  52 49 53 43 20 4f 53 20  70 72 6f 62 6c 65 6d 0a  |RISC OS problem.|
00004420  20 20 76 31 2e 30 37 20  20 20 39 2f 30 39 2f 39  |  v1.07   9/09/9|
00004430  37 20 20 4d 61 64 65 20  6d 65 6e 75 20 70 65 72  |7  Made menu per|
00004440  73 69 73 74 65 6e 74 20  69 66 20 61 64 6a 75 73  |sistent if adjus|
00004450  74 20 70 72 65 73 73 65  64 0a 20 20 76 31 2e 31  |t pressed.  v1.1|
00004460  30 20 20 31 34 2f 31 32  2f 39 37 20 20 46 69 72  |0  14/12/97  Fir|
00004470  73 74 20 76 65 72 73 69  6f 6e 20 72 65 6c 65 61  |st version relea|
00004480  73 65 64 0a 20 20 76 31  2e 31 31 20 20 20 31 2f  |sed.  v1.11   1/|
00004490  20 32 2f 39 38 20 20 43  61 74 65 72 65 64 20 66  | 2/98  Catered f|
000044a0  6f 72 20 4e 65 73 74 65  64 20 57 69 6e 64 6f 77  |or Nested Window|
000044b0  20 4d 61 6e 61 67 65 72  0a 20 20 76 31 2e 31 32  | Manager.  v1.12|
000044c0  20 20 20 37 2f 20 32 2f  39 38 20 20 54 69 64 69  |   7/ 2/98  Tidi|
000044d0  65 64 20 75 70 20 54 65  6d 70 6c 61 74 65 73 20  |ed up Templates |
000044e0  61 6e 64 20 54 65 6d 70  6c 61 74 65 20 68 61 6e  |and Template han|
000044f0  64 6c 69 6e 67 0a 20 20  76 31 2e 31 33 20 20 20  |dling.  v1.13   |
00004500  39 2f 20 32 2f 39 38 20  20 4f 70 74 69 6d 69 73  |9/ 2/98  Optimis|
00004510  65 64 20 46 4e 67 65 74  74 69 6d 65 20 61 6e 64  |ed FNgettime and|
00004520  20 70 61 72 61 6d 65 74  65 72 20 73 65 74 75 70  | parameter setup|
00004530  0a 20 20 76 31 2e 31 34  20 20 31 30 2f 20 32 2f  |.  v1.14  10/ 2/|
00004540  39 38 20 20 52 65 64 75  63 65 64 20 73 74 61 63  |98  Reduced stac|
00004550  6b 20 73 69 7a 65 0a 20  20 76 31 2e 31 35 20 20  |k size.  v1.15  |
00004560  31 31 2f 20 32 2f 39 38  20 20 52 65 64 75 63 65  |11/ 2/98  Reduce|
00004570  64 20 52 65 61 73 6f 6e  20 74 69 6d 65 20 6c 69  |d Reason time li|
00004580  73 74 0a 0a 20 20 43 6f  6e 74 61 63 74 20 49 6e  |st..  Contact In|
00004590  66 6f 72 6d 61 74 69 6f  6e 0a 20 20 3d 3d 3d 3d  |formation.  ====|
000045a0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
000045b0  0a 20 20 65 4d 61 69 6c  3a 20 20 20 20 20 20 73  |.  eMail:      s|
000045c0  75 70 70 6f 72 74 40 61  76 69 73 6f 66 74 2e 66  |upport@avisoft.f|
000045d0  6f 72 63 65 39 2e 6e 65  74 0a 0a 20 20 53 6e 61  |orce9.net..  Sna|
000045e0  69 6c 4d 61 69 6c 3a 20  20 4d 61 72 74 69 6e 20  |ilMail:  Martin |
000045f0  41 76 69 73 6f 6e 2c 0a  20 20 20 20 20 20 20 20  |Avison,.        |
00004600  20 20 20 20 20 20 41 76  69 73 6f 66 74 2c 0a 20  |      Avisoft,. |
00004610  20 20 20 20 20 20 20 20  20 20 20 20 20 31 36 20  |             16 |
00004620  20 57 65 6c 6c 20 43 6c  6f 73 65 2c 0a 20 20 20  | Well Close,.   |
00004630  20 20 20 20 20 20 20 20  20 20 20 4c 65 69 67 68  |           Leigh|
00004640  2c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,.              |
00004650  54 4f 4e 42 52 49 44 47  45 2c 0a 20 20 20 20 20  |TONBRIDGE,.     |
00004660  20 20 20 20 20 20 20 20  20 4b 65 6e 74 20 20 20  |         Kent   |
00004670  20 20 20 54 4e 31 31 20  20 38 52 51 0a 0a 20 20  |   TN11  8RQ..  |
00004680  50 68 6f 6e 65 3a 20 20  20 20 20 20 30 31 37 33  |Phone:      0173|
00004690  32 20 38 33 33 35 34 39  0a 0a 0a 0a 20 20 20 20  |2 833549....    |
000046a0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
000046d0  2a 2a 2a 2a 2a 2a 2a 0a  20 20 20 20 2a 2a 20 20  |*******.    **  |
000046e0  49 66 20 74 68 69 73 20  68 65 6c 70 20 68 61 73  |If this help has|
000046f0  20 66 6c 61 73 68 65 64  20 70 61 73 74 20 74 6f  | flashed past to|
00004700  6f 20 66 61 73 74 20 74  6f 20 72 65 61 64 2c 20  |o fast to read, |
00004710  20 2a 2a 0a 20 20 20 20  2a 2a 20 20 74 68 65 6e  | **.    **  then|
00004720  20 70 6c 65 61 73 65 20  6c 6f 61 64 20 21 45 64  | please load !Ed|
00004730  69 74 20 61 6e 64 20 74  72 79 20 61 67 61 69 6e  |it and try again|
00004740  21 20 20 20 20 20 20 20  20 20 20 20 20 2a 2a 0a  |!            **.|
00004750  20 20 20 20 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |    ************|
00004760  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00004780  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 0a 0a           |***********..|
0000478d