DEFSEL - The Definitive File Selector....
----- - --- ---------- ---- ------------
From Those Incredibly Fabulous Persons - Worlds Immarcescible.
---- ----- ---------- -------- ------- - ------ --------------
Foreword by Her Majesty Queen Elizabeth II...
-------- -- --- ------- ----- --------- -----
It warms the very bottom of one's heart when one hears of some
of those hard-working chaps out there, like those which made this
country great. Worlds Immarcescible are no exception to this
honoured list - one finds them to be two industrious, yet
completely wonderful persons. I order everyone reading this to
follow the bits about money later on, and take this programming
masterpiece right to the very ends of one's empire. Good Day.
HOUSETRAINING YOUR PET DEFSEL...
------------- ---- --- ---------
( We strongly advise before we start that you print out this
document. For those of you without printers, there is a chance
this may present problems however, so to simulate this, get a
friend to write down what appears on the screen, while you press
the keys, and make the ubiquitous 'Szzczzhchh' sound of the ol'
By now, you should have your small, furry, and loveable little
DEFSEL snug in the warm safety of your drive, or much better,
tucked away with a little bedding, food and something to drink in
the leisure of your disk box. Such an enviroment should keep your
DEFSEL in a healthy and functional state. This is really all that
is physically required of DEFSEL - most of the time, you merely
boot it up, and off it scampers merrily round your machine until
you need it. But more about that later. As for such activities
often associated with pets, e.g. washing, taking it for walks -
our advice is don't bother. There is a word later about
maintaining your DEFSEL's well-being.
DEFSEL was conceived last July in the gold-plated rooms of Worlds
Immarcescible Towers, where the two of us demi-gods were
pondering how to demonstrate our brilliance. By December, version
1.0 had been written ( we take things easy, you understand ), and
it struck us in the lounge of the Coach And Horses that the
remaining bugs in DEFSEL could be eliminated, along with creating
a host of extra features, by replacing the GEM part of our
program with our own code.
As many of you computer boffins will know, File Selectors are
really GEM object trees, and to interact with GEM object trees,
one calls the GEM routine form_do. However this piece of Digital
Research's Code is quite bugged, and quite slow. So we set about
writing our own version. As a consequence, DEFSEL doesn't use GEM
at all, hardly. All the mouse routines, routines to print the
characters, button routines, etc., are all our own code - GEM is
called only to draw the objects. The reason for including this it
of GEM is simple - that code isn't bugged, and for us to include
our version of it would merely add more K to the program's size.
A FEW TECHNICAL TERMS...
- --- --------- --------
On reading this, most of you will say 'Oh yeah, learnt this
rubbish YONKS ago.' If we knew all of you would say that, then
there would be no need for this, but since we don't, here goes...
Folders And The Hierarchal Folder System:
Pretty impressive words, eh? As you have undoubtedly found out,
GEMDOS allows to have not only files on a disk, but folders, in
which can be more files, or more folders. You can have up to
eight folders 'nested', or a folder in a folder in a folder in a
folder in a folder in a folder in a folder in a folder in a
The Pathname/Path String:
It's all very well having such an easy-to-use system, but how
does the computer know where to find the file 'HAMSTER.DOC' in
MYFOLDER.DOC on drive B ? That is solved by this clever bit of
writing (called a 'string'), namely the pathname. On it, is all
the information the computer needs. Let's take the above example.
It's pathname could be:
In a pathstring, the drive letter always comes first, then a
colon, to seperate. Normally, a '\' or a backslash comes next,
although this isn't necessary (but we do encourage it, since
on most other computers it is compulsory. In fact, DEFSEL
automatically inserts one if you forget.) Then comes a folder
name, if any. After the foldername, comes another backslash, this
time compulsory, then as many folder names as you like (seperated
by backslashes), as long as there are less than eight. E.g:
The bit at the end is called the extender. It is very
important, and serves to mask files. Let's take the imaginary
The extender tells the computer to ignore some files, and
acknowledge others. The only way to explain this is with
The symbol '*' means 'any group of letters will be accepted.'
So '*.*' means accept any eight letters for the filename and any
three letters for the extension, i.e. any file at all !
However 'H*.*' would mean 'acknowledge any files with the first
letter 'H', then any other 7 letters, then any three letters for
the extension, which would here give:
As you should be beginning to see, you can have letters and
asterisks to get lots of combinations, e.g.
'HAM*.F*' meaning any filename with the first three letters
being 'HAM' and the first letter of the extension being 'F'. The
only other symbol allowed in extenders is the question mark, or
the 'wildcard'. This allows any letter to be in its place, e.g.
'H?M*.*' would mean all files with first letter 'H', any second
letter, third letter 'M', and any other five letters, and any
three for the extension. ( Don't get extender and extension
confused ! )
Finally, would these all amount to the same thing ?
DEFSEL is very easy to install. On the disk that you boot up
with, create an AUTO folder, if you don't have one, and then
simply put DEFSEL.PRG inside it. When you switch on, you should
see at some point before the Desktop, a message to the effect
that DEFSEL has been installed. If you see an 'error' message, or
it crashes, or something dreadful appears to happen, then get
hold us through the address at the end, and we will clear things
Some people have lots of programs in the AUTO folder, and some
must be run first when you switch on for various reasons, as
those of you concerned will know. DEFSEL isn't particularly fussy
as to whether it is run first in the AUTO folder, or last - the
only exception is that it must be run before any of those
programs which speed up the mouse, because they use the same
vector that our mouse does, but some of them have a piece of code
which continually checks to see whether they have been
'eradicated' from that vector, as would our program do, and if
so, to reinstall themselves. The consequence of this that you
won't get a mouse when you use DEFSEL. Although all functions are
availiable from the keyboard, this is still a bit of pain, and it
If there is ever a time, and we hope there isn't where you want
to boot up and not load DEFSEL, e.g. if memory is tight, then
simply hold both shift keys down as it loads up, and it won't be
activated (you should get a nice message informing you so.)
DEFSEL'S INDIVIDUAL FUNCTIONS...
-------- ---------- ------------
Now we come to the most important bit - DEFSEL in action. If it
is working properly, DEFSEL should appear wherever the old file
selector did without any hassle. So we shall now explain each
The Pathname Entry Line...
This is the long editable line at the top, as you may have
guessed. There is little to comment on initially about it, but it
is removed from the standard by the two arrows to its bottom left
and right respectively. These scroll the pathname left and right,
allowing you to have a 150 letter pathname !
The 16 Drive Buttons...
Painfully obvious really, but all 16 drives are shown; those
that are inactive are in faint print and cannot be clicked upon.
Clicking on the drive buttons does just what you'd expect -
The File Window...
The file window is the box on the left centre, taking up a
large chunk of the file selector. In it are seven files, which
can be scrolled up and down via the up and down arrows or the
scroll bar on the side (no, really ?). Clicking on a file puts it
on the selection line, and double-clicking simulates selecting
the files then pressing 'Ok.'. If you click on a folder, you go
'into' it. At the bottom are a left and right arrow plus scroll
bar. Scrolling along shows all the info. on a file - it's
size in bytes, date and time of creation and all its system
flags. Since these are only any use to those who know about them
anyway, it is only necessary to say that if the Archive bit is
set you will see an 'A' on the far right, if the Hidden bit is
set, an 'H', and if the System bit is set, an 'S'.
On the far left, just left of the filenames, there will be
normally two spaces. A diamond there means that the file is not a
file but a folder, and an 'R' means the file is 'Read-Only'.
When you click on a drive button, or an extender button (see
later), the pathname is changed, and the disk is re-read
automatically. However, if you manually edit the pathname, the
program has no way of knowing you've made a change. To report
this change, you click on the fuzzy bar with the current extender
in it, just above the list of files. This has the sole action of
reading the disk with the current pathname. Since it resembles
the 'Move Window' bar on windows, we shall call it the 'Move
The final two symbols to do with the file window are the
'Diamond' shape and the 'Cross' shape, more commonly found on
windows, here found on the top right and top left of the file
window respectively. The latter takes you up a level from a
directory, and the former goes from whatever level of folders
you're in right up to the root directory (e.g. A:\*.PRG,
Finally, a note about the scroll bars. When you drag a scroll
box, the mouse will disappear, and reappear when you let go of
the button. Do not be alarmed - it is simply having a quick kip.
Another (do they ever end ?) bonus of this marvellous program
is the nine ways it allows you to sort your files. To select
them, you click on one of the 'U','N','S','D','T' buttons below
the selection line.
U - Unsorted Mode. This reads the files in in the way they are
ordered on the disk.
N - Sort By Name.
S - Sort By Size.
D - Sort By Date.
T - Sort by the extension of a filename.
There is more about the sort modes in the Options Screen
The Extender Buttons...
--- -------- ----------
The ten buttons in the bottom right are the extender buttons.
Clicking on them tacks on that extender onto the pathname. Four
of them are 'full' extenders, e.g. you can have 'HAM*.P?Z', but
six are the shorter, and more used extenders, where the extender
for the filename part is always '*', and you change the extender
for the extension. To edit 'em, double click on 'em. When you
have edited the extender, press 'Return' to enter it.
Clicking on Delete has NO immediate effect, except to toggle
the mouse pointer between an arrow and a 'D'. When the 'D' is the
pointer, you are in Delete Mode. From this, all functions work as
normally, except that when you click on a file or folder, it is
deleted. Use With Care, as we cannot be held responsible for
accidental deletions !!
This is desperately obvious - click on it to show the free
space, used space, etc. on the current drive. To exit from it,
press any key.
Let's have a guess at what this one does, eh? Yes, you in the
blue sweater...... ? Correct! It creates a folder of your choice
with respect to the current pathstring.
Clicking on this brings up a whole new screen with about three
trillion (okay six or seven, then) options.
Yet another 'mazin' feature of DEFSEL is its dynamic memory
requirements, i.e. you can change the amount of memory it needs.
Remarakbly, 40-50 % of DEFSEL is storage for the filenames, etc,
and the more files it can 'hold', the more memory it needs.
Maxfiles determines how many files maximum DEFSEL can hold. It is
between 150 and 999, and you can edit it.
There is a slight twitch to this though: memory is 'grabbed'
when you boot up, so changing Maxfiles from within DEFSEL has no
immediate effect. What you must do is change it and save it,
using the Save Button (see later).
Very simple - when it's on, the mouse's speed is doubled. Apart
from the obvious reason for putting it in - some people might
dislike a fast mouse, it is there in case you have a quick mouse
program installed already, in which case the mouse's speed will
not be doubled but quadruped.
Sort First Box...
Those of you with keen memories will surely remember that when I
talked about sorting files earlier, I said there were nine ways
of sorting the files but only listed five. Well all can now be
revealed. When you say 'Sort By Name', you can sort the files
with 'A' coming first, 'Z' last, like normal, e.g. the telephone
directory lists names in this way. But you can sort 'Z' first,
i.e. in reverse order, and similarly the 'Newest' File first or
the 'Oldest'. The selected items in this box determine the order
things are to be sorted.
When deleting a file under GEMDOS, you don't really 'Delete' at
all, you simply erase the bit on the disk which says that it
exists, and where to find it - the actual data remains intact.
'Recovery' Programs use this fact to their advantage, and it can
be quite a bonus. But if you have a file that you want to
physically erase, there aren't many simple roads upon unless you
format the disk or marinate it lamb's blood for three hours
before throwing it into the lions cage at your local zoo. By
turning Security Delete on, whenever you delete a file, it is
first filled with rubbish. A Sec. Delete will take a little
longer than an ordinary one.
This line is not self-explanatory, and belies a quite complex
topic. When your program calls DEFSEL, it passes it two bits of
information - what it wants on the pathstring line, and what it
wants on the filename line. However there are circumstances where
you want to ignore this, e.g. say you have an assembler on drive
C and your source code on drive D, and whenever you load a file
into your assembler, it always throws up the pathstring 'C:\*.*',
so you have to change your drive every time you load a file. If
you select (i.e. invert) either the 'Path' or the 'Filename' or
both, it means that bit of Data will not be taken from the host
program, but rather the pathname/filename that was there when you
exited last time will re-appear.
Simply an aesthetic option - when writing this, I liked filling
everything with shading, Ben, my accomplice didn't like fills, so
this option turns them on or off.
Clicking on save saves a file 'DEFSEL.DAT' to the AUTO folder
on drive A, so make sure you have your boot disk with DEFSEL on
it in at the time. This file is loaded in (if it exists) when the
program is loaded up, so you can have customised options.
Ok And Cancel.....
Do I really need to wear my fingers down over these ?
Back to the main screen now. The Title at the top, when clicked
upon reveals a simple dialog box, which allows you to 'deinstall'
DEFSEL, back to the normal system one. It will say press 'R' to
deinstall. Deinstallation doesn't take place instantly - only
when you exit the file selector after having requested to
Almost every function in the file selector is availiable from
the keyboard. This function is integral with the program, and
does not occupy any interrupts. Here is a list of them:
Alt-A to Alt-P simulate clicking on drives A-P.
Alt-Q = The Cancel button.
Alt-R = The 'Full' button, taking you to the root directory.
Alt-S = The Size Sort button.
Alt-T = The Sort By Type button.
Alt-U = The Unsort Mode button.
Alt-V = The 'Move Bar', to accept a new pathname.
Alt-W = The 'Out' button, taking you up a level from a folder
Alt-X = Enter/Exit Delete Mode.
Alt-Y = The Sort By Date button.
Alt-Z = The Sort By Name button.
Alt and + (on main keypad or calculator pad) = pressing the
shaded part under the vertical drag box.
Alt and - (as above) = pressing the shaded part above the
vertical drag box.
The numbers 1-10 ( the ten is represented by the zero key ) with
the Alternate Key simulate the pressing of one the extender
buttons. The numbers must be those above the row 'QWERT ... P',
i.e. on the main keyboard for this to work, as pressing the
numbers on the keypad have a different function.
Use the above grid, which is like the grid on the file selector
to help you remember which number accesses which extender.
Alt-( on the calculator pad simulates the pressing of the shaded part
to the left of the horizontal drag box.
Alt-) has a similar effect to the above, except it is for the shaded
part to the right. It must be the keypad ')' also.
The numbers 1-7 on the calculator keypad simulate the double-
clicking of the filenames/folders in the window with the Alter-
Note: for keys such as the '+' which normally need 'Shift' to be
pressed before they can be accessed, there is no need.
Not really too technical at all; just an explanation of the
mouse / dialog box / critical error handlers (if these mean
nothing to you, don't worry) and a bit for programmers wondering
whether it'll cock up their progs. The mouse is completely inde-
pendant of GEM, so it shouldn't upset any of your programs, but
it does of course hijack the mouse vector accessible through the
XBIOS kbdvbase function (34). All the locating of vectors is
done through the XBIOS, simply for compatibility. Atari guarantee
that the arrangement of vectors in under address $800 (or some-
thing) are fixed (this includes sys. variables and vector lists),
so direct reading/modification occurs here. Any trouble let us
(We have had this program tested on a 520,1040 and a Stacy in all
resolutions, and it has worked so far.)
Because the mouse is independant, it can't work with GEM
dialog boxes, like the ones you get when there is no disk in the
drive. Because of this, we have trapped all these 'critical'
error, and replaced them with our own dialog boxes. All our
dialog boxes are merely informative, not interactive, and to get
rid of them, you hit any key (the mouse doesn't do anything.)
This program shouldn't really conflict with anything. If it
does, drop us a line (see below).
* Free Tenner !! Free Tenner !! Free Tenner !! Free Tenner !! *
Right, now that I've got your attention, a word about
Copyright. This program is Shareware, which means you can share
it around, and you pay a ridiculously small fee for upgrades/
info/ new stuff etc., but you cannot in any sense of the word
hack up the code in any way. It is not like Public Domain, where
you give up the rights to it completely. We still have the
copyright, and since there are about ten lawyers/solicitors in
our familes combined, we'll have anyone who tries anything up in
the dock faster than you know.
Copyright all sounds a little pathetic, rather like the
paranoic whines of jealous authors, but until you've written
something you're proud of, that has taken you a long time, with a
lot of effort, it is difficult to appreciate. Then think how
leeked off you'd be if someone stole it, copied and made a nice
little packet on it with out any work at all. Believe us, it does
happen, not just in computers, very regularly.
Note: when we say 'share it around', we mean for personal use
- there must be no commercial use, no profit through copying, no
selling, releasing it on a disk with some of your own programs -
it is NOT public domain.
As you will agree, the more complicated a program gets, the
more chances there are for it to break down. We have eliminated
all the bugs we know of, but there may be some, as with ANY
program, lying unseen. In keeping with any other program as well,
then, we have to say that you use DEFSEL with your will - if it
cocks up a disk, we cannot be held responsible at all. It hasn't
got any hidden viruses to infect your disk - we aren't terribly
keen on them at all.
We want to hear from you! Which can be quite difficult with a
written letter (blimey we're funny) ! You know what I mean.
Any comments you have, any recommendations, any critiscms, any
programs you would like to see written, drop us a line, to tell
It would be nice to know that some people do appreciate DEFSEL
out there, and since it is shareware, the gift of a mere fiver
(or more, if you have a generous heart ) for our efforts would be
well-received, and if it comes with a disk (formatted please,
and no viruses - they're all checked anyway.), we'll give you
upgrades (there is already a version 3.0 of DEFSEL almost
ready), free programs, and for our first fifty customers, a
rare and very special DEFSEL condom - smooth, sleek and
compatible with machines of all sizes.
Send us an envelope with a disk, a fiver, and a letter with
your address and you'll be swiftly put on our mailing list, and
be sent upgrades, et al. If you feel you want to, enclose a
'phone number, where we can buzz you over delays, etc. Of course,
this is totally voluntary, and if you don't, we will only
correspond with you through letters.
Do remember though - a fiver isn't much, and it is a marvellous
incentive for us to output upgrades, etc.
Send your profferings to:
Arch-Deity Matthew 'Delusions of Grandure' Carmody And
Water-Nymph Ben 'Just Deluded' Cosh
44 St. John's Rd.,
P.S. If anyone has an original copy of 'A Wonderful Day'
by the WonderStuff, they will be greeted with open arms, free
drinks, free upgrades, etc. Get scribbling.
The version of Defsel you are now using is version 2.01.
Version 3.00 is well under development. It isn't a complete
revision of this version, but there are a number of bits and bobs
being added, e.g. a program to redefine the Hot-Keys. Also we are
trying to 'shrink' the code size slightly, and speed it up at the
same time. So send off right now, and get in line for this
upgrade, complete with some freebies as well. For anyone else a
tenner, but for you, guv, a mere fiver. I must be mad.
Hope your DEFSEL works well and doesn't wet the carpet. Any
hassles, you know where to send it.
Finally a few thankyou's:
Thankyou Thankyou Thankyou Thankyou Thankyou.
But Seriously Though:
Ta And Cheers to:
David Lynx At HiSoft
HiSoft for the Utterly Fab DevPac (on which this was
Revolver Records, Bristol, for musical support.
Cappella (my Hamster)
and You, for sending us a fiver (we don't half hammer this
one home, do we ??? )
Mat + Ben,