home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
utilities
/
multiobey_1
/
!MultiObey
/
!Help
< prev
next >
Wrap
Text File
|
1994-09-19
|
8KB
|
166 lines
Multitasking Obey version 1.10
© Sam Kington 10th August 1994
This program is freeware, *not* public domain – i.e., I retain copyright (see
“Boring legal message”)
What this program does
**********************
This program, as it’s name suggests, allows you to multitask Obey files,
allowing the Desktop time to catch up between each line. It is best suited to
medium or long files that spend quite a lot of time on each line – such as
Boot files, or Obey files that do a lot of file copying. However, it will slow
down considerably long files, with lines that execute very rapidly – setting
variables, for instance – and isn’t worth it for short files. On no account
should you use it on files that set the WimpSlot (such as !Run files), and
therefore it will refuse to run a !Run or !Boot file.
When given a file to run, it steps through it line by line; when it finds a
“useful” line (i.e. one that is neither blank or a comment), it starts that
command as a new Wimp Task (using Wimp_StartTask), and updates the progress
window to hold the text of the line just executed, an appropriate icon, and
updates the slider to give some idea of the amount of the file still to come.
The advantage of MultiObey over Obey files or Desktop files is that it gives
you a (hopefully) useful idea of where you are in the file and what is
happening; as it fully multitasks, it allows tasks that have been started up
by the file to put their icons on the icon bar, update the screen, etc. etc.,
so you can see something is happening. This is especially useful for Boot
sequences, as mentioned earlier.
Using Multi Obey
****************
There are two different ways to make MultiObey run a file. The first is to
set an Obey file to type MultObey (type &212 - NB:this is not a registered
filetype). Running, double-clicking or Filer_Running the file will pass it to
MultiObey. The second is to run the command MultiObey <file>, if you want to
force MultiObey to run a file of a different type.
Warning: although it is possible to set MultiObey to run all Obey files, by
running the command Set Alias$@RunType_FEB MultiObey %*0 (replace the % by %%
if this is in an Obey file), there are very good reasons why you would not
want to do this: not only are all Obey files not appropriate for the
multitasking treatment (see above), but some Obey files do not take kindly to
being multi-tasked, and complain, or hang the machine. I don’t know whose
fault this is (it’s probably mine), but you have been warned.
In other words, although MultiObey is primarily designed to be a
multitasking Boot, you may have fatal errors which hang the machine from time
to time. Sometimes they go away if you restart the machine, sometimes they go
away if you change the order of the commands in the file. Most programs aren’t
expecting to be run from a multitasking boot file, and while you should hardly
ever have any problems, you have been warned: this is a complex process that
can sometimes go wrong. Exactly how complex it is can be measured by pausing
the process, watch the disc continue to whirr, and then notice the
applications that had already been started, only now be initialised:
MultiObey has moved on to other things, but the processes it has started up
haven’t finished yet.
Advanced features
*****************
Apart from sitting back and enjoying the view, there are four buttons you
can click on for more control over the process:
• Abort : Stops everything, closes the window.
• Skip : Skips this line, moves to the next one. Only useful if
Pause is on (see below).
• Step through : When selected, allows you to step through the file line by
line, rather than them all being executed one after the
other.
• Pause : Pauses execution of the file; the button then changes to
“Continue”. Clicking on “Continue” continues execution of
the file.
Whatever the situation, the main part of the window will show the next
line to be executed. When Paused, therefore, clicking Skip will skip the
currently shown line and show the next one; clicking Continue will start
execution again at the new line. If Step through is selected, the file will
automatically be Paused after each line; press Skip to move to the next line
or Continue to execute it.
NB: The slider at the top is not necessarily a good indicator of how much
longer the file will take, as it has no idea how long each line will take.
What it actually measures is the position in the file of the current line,
which will be approximately the same as the time taken/remaining if each line
takes approximately the same time. If, however, different lines take very
different times to execute, the bar will move erratically, in jumps.
Miscellanea
***********
You can run several copies of MultiObey at the same time, in which case
the earlier copies are suspended until the latest has finished. The windows
are offset from each other so you can see how many are running at once.
By default, MultiObey will display the name of the file it is processing in
the title bar of its window, centred. However, if the filename gets too long,
it will right-justify it so you can see the leaf-name (presumably you know
the bit at the left). Cunning, cunning...
Boring legal message
********************
This application is freeware, that is, it can be distributed freely as
long as only reasonable charges are made for media and distribution. I retain
copyright on all program code and documentation.
This software is supplied “as is”: I make no warranty, expressed or
implied, of the merchantability of this software or its fitness for any
particular purpose. In no circumstances shall I be liable for any damage,
loss of profits, or any indirect or consequential loss arising out of the use
of this software or inability to use this software, even if I have been
advised of the possibility of such loss.
In other words, if your computer crashes, blows up, you lose all your work
etc. all because of MultiObey (unlikely I know), don’t blame me.
About all these strange foreign characters in this file
*******************************************************
OK, so if you’re reading this on a PC or a Mac or another strange machine
like that, you may be wondering what all these strange ae things are. Well,
they’re quotes (sorry, there was another one), dashes, ligatures, etc.
Honest. But not on all machines...
Basically, character sets are only standard up to character 127, which is
basically alphanumerics and a few standard punctuation marks. Foreign
characters, typographical oddities like quotes and ligatures, and other more
obscure symbols are “non-standard”, and each computer often has its own idea
of where they should go in the character set. So don’t worry: even if it’s
hard to read on your current machine, it won’t be on an Acorn machine. It may
look slightly strange if you’re using the System font, however.
But why am I using these strange characters in the first place? Well,
they’re in the character set and they look nice in an outine font, and I’ve
written a program called Smart Quotes (sorry for the plug) that substitutes
these sort of characters automatically, and I’ve got it turned on at the
moment...
How to contact me
*****************
All bug-reports, suggestions, comments or indeed any feedback at all will be
welcomed. Here’s how to get to me:
E-mail : 9262861k@arts.gla.ac.uk, 926286ki@udcf.gla.ac.uk during term-time
These should be OK until June 1996
At Christmas, Easter and during the summer, you can get me at
wombat@altern.com, wombat@email.teaser.com or sam@altern.com, in order
of preference (that is, if mail bounces off one of these or I don’t
answer within a week send to the next one).
Snail-mail : My term-time address, at least until June 1995, is:
Sam Kington
Flat 2/1
44 Hotspur Street
Glasgow G20 8NL
SCOTLAND
Again, a backup is the home address – anything that goes here will get
to me eventually.
Sam Kington
Merlhiot
24420 Savignac les Eglises
FRANCE
Term-time is October to June, with bits off at Christmas (3 weeks) and
Easter (4 weeks).