@DATABASE "KewlCD Professional V1.5"
@NODE "Main" "KewlCD Professional V1.5"
KewlCD Professional V1.5 - The best CD-Rom door for MAX's BBS & compatibles!
Copyright ©1997 Liquid Software Design by Steve Clack. Updated 13/4/97.

  @{u}Table of Contents@{uu}
                               
  @{" Disclaimer & Distribution " LINK "Disclaimer"}
  
  @{" Introduction " LINK "Introduction"}
  @{" Requirements " LINK "Requires"}
  @{" Installation " LINK "Install"}
  @{" Configuration Files " LINK "Conf"}
  
  @{" Using Parnet Or Sernet With KewlCDPro Safely " LINK "Parnet"}
  @{" Making (or updating) a CD Config file " LINK "cd.cfg"}
  @{" How to make index and config files for CDs with no index files! " LINK "noindex"}
    
  @{" File finding facility " LINK "xtra"}
  
  @{" Credits, Contacts & Greetings " LINK "BBS"}
  @{" History " LINK "History"}

Using KewlCDPro can be got by reading the Help.text or help in KewlCDPro.
Upgrading from previous versions can be got from looking at the history.

@{i}KewlCDPro is GiftWare! @{ui}Please click @{" here " LINK giftware} for info.

@ENDNODE


@NODE "Disclaimer" "Disclaimer & Distribution"
@{u}Licence@{uu}

Licensed to be used on any system under the conditions that the you send the
author, Steve Clack, a gift. If you recieve any extra software from the author
other than the distribution archive, you may not re-distribute it.

This program must not be altered under any circumstances.

If this software is altered in any other way except by inclusion of extra
documentation, help, or configuration files must be considered to be against
the copyright holder, Steve Clack. No source is included in this release. 
This may only be freely distributed with no additional cost except a small
charge for the media that it is contained on.

This is not a GNU public release, but is licensed as 'mailware'.

@{i}
NO WARRANTY 
@{ui}@{b}
THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
TO THE EXTENT PERMITTED BY APPLICABLE LAW. STEVE CLACK PROVIDES THIS PROGRAM
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING 
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL THE COPYRIGHT HOLDER, OR ANY
OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, 
BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM 
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE
OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO
OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.@{ub}
@{i}
END OF TERMS AND CONDITIONS
@{ui}
Additional note: This program has been tested and should not damage your 
system (it can't really anyway, afterall, you can't write to CDs...).

@ENDNODE                         


@NODE "Introduction" "Introduction"
@{u}So tell me what this KewlCDPro thing is?@{uu}

   This is a kewl CD-Rom reader door (hence KewlCD!), this one is written much
better than KewlPage and this guide isn't as silly. This WAS probably the first
real 96 util from Eden, with support (or rather constant nagging) KewlCD has
got to a stage I never intended it to be at! In it's most basic form, it allows
users to look through files on the CD-Rom and let them download whatever they 
like, but in its current form its almost an entire filebase of its own! Upon
looking back I see that this CD-Rom has taken over a year to mature :).

@{u}Heres a quick feature list:@{uu}
 
o Easy Multiple CD drive access (either fully automatic or by a menu).

o It can work out what CD is in the drive(s) automaticly.

o Cursor key marking and powerful list control system.

o Now supports File_ID.diz embedded in file listings.

o Option to log off after downloading files, the door also automaticly unmarks
  that have been downloaded succesfully.

o Permenant marked files storage, users can call back any time and download their
  marked files at any time for any CD.

o Downloading of current section's index or entire CD index (free, ie. the
  users get back any download credits or time spent downloading).

o Ratio-o-meter before downloading, shows a visual representation of how well
  the user is keeping up his ratio (uploads to downloads), looks funky ;)
  
o Uses similar config files to (the crap) CDROMDOOR V2.1 or above.
 
o Fast 'view-only' search (faster than DOPUS Text Viewer) and a markable search
  which isn't as fast but allows you to mark files directly from search results.

o Now has the option of copying the file to HD first with space-remover so that
  Max's won't complain.

o Now works on multinode systems.

o Standard MAX's door, works with MAX's BBS V1.52+ and MAX's Pro. Also it will
  work with any 100% compatible emulators, however, one hasn't been made yet,
  there are some around but KewlCDPro fails to operate properly on these.

>> You can @{" contact me " LINK "BBS"} really easily! <<

@ENDNODE


@NODE "Requires" "KewlCDPro's Requirements"
@{u}Requirements@{uu}
 
o Kickstart 1.2+ for main door.
o Kickstart 2.0+ for support program and 'view-only' (flashfind) search.
o MAX's BBS V1.52+ (hasn't been tested with any earlier versions).
o A CD-Rom with at least one CD :).
o About 200k of memory is used while the door is in use.

(P.S. This doesn't work with FTP-Mount, I tried it :((..)

@ENDNODE


@NODE "Install" "Press Ctrl+Left Amiga+Right Amiga+A to continue"
@{u}How to Install KewlCD@{uu}

   Copy all of this to Doors:, you're probably reading this from where you 
extract your archives to, so there should be a directory in doors now called
KewlCD and there should be all these files in it. Doors:KewlCD/ should exist :)
Now let's look inside of it, you will see a couple of dirs, "Flashfind 1.2" and
"CDConfigs". Now, copy the file "FlashFind" from the Flashfind 1.2 directory to
c: --- Eg. Copy "Doors:KewlCD/Flashfind 1.2/Flashfind" to c: --- now you've
done that you can delete the entire "Flashfind 1.2" directory, you can read the
docs to Flashfind if you like but its not important as Flashfind is used by
KewlCD to do it's fast searches. 

   Now have a look in the "CDConfigs" directory, you will see some files which
have the extension of ".kewlcdpro" these are the CD Configuration files which
we will refer to as the "CD Configs" from now on (it's easier to type!), these
are files which KewlCD uses to "know how to" access each CD and to know what 
directories to use, what sections there are and where the index files can be
found (and some other stuff) more on that later. The files in "CDConfigs" are
pre-made straight for use with KewlCD with the appropriate CD-Rom, ie.
Aminet12.cfg would be used with the Aminet12 CD for example :).

CD Config files for KewlCDPro can and should end in ".kewlcdpro", older files,
ie. those used in CDROMDOOR or KewlCD will have an ending of ".cfg", I changed
this so it was easy to tell the difference between which CD Config files are
for which program. If you make any CD Configs for KewlCDPro please make the
filename end in .kewlcdpro (ie. Aminet12.kewlcdpro) and don't forget to update
any CD Configs which arn't specially for KewlCDPro otherwise they won't work!
  
   Now stick it in a menu, you might want your CD Rom for people who pay so set
the access levels accordingly, your menu should look sommat like this:
@{b}
Key  Function  Extra  LoAcc  HiAcc  Misc
C      34        0      5    10000  Doors:KewlCD/KewlCD [DRIVE:]
@{ub}
   The DRIVE: argument can be specified if you have more than one CD drive, if
you enter a DRIVE: (ie. CD0:) it will specifically use that drive and no others,
please note: this is only needed if you which to use the 'mode 1' method which
will be covered in the next section @{" How to make a KewlCD.cfg " LINK "Conf"}.

(BTW, the DRIVE: argument doesn't work with PARNET or SERNET so don't even try
it, it's already been tested :)...)

Once thats done, it's installed into the BBS, but it's not quite ready for use
yet...

@{i}@{b}Now, let's go to the @{" configuration files section! " LINK "Conf"}@{ub}@{ui}

@ENDNODE


@NODE "Conf" "Configuration + How to make a KewlCD.cfg"
@{u}Configuration - How to make a KewlCD.cfg@{uu}

(For people upgrading: Re-read this section, it includes information on the new
 access levels for each CD-Rom feature and the new structure of the KewlCD.cfg)

   You must edit the list of CD Configs to use, this is in the file is
Doors:KewlCD/KewlCD.cfg - this section will tell you what needs to be in it...

@{b}Line 1 - X,Y coordinates of the section name on the screen@{ub}

This is in the format of X,Y in which the X is the column and Y is the row at
which you want the section name to be displayed at, if you are using the
default ANSI with KewlCD this should be "26,4" (excluding the quotes, it is on
all of the examples, just enter the text inside the "".).

@{b}Line 2 - X,Y coordinates of section number on the screen@{ub}

This is in the format of X,Y in which the X is the column and Y is the row at
which you want the section NUMBER to be displayed at, if you are using the
default ANSI with KewlCD this should be "75,4".

@{b}Line 3 - X,Y coordinates of keypress prompt on the screen@{ub}

This is in the format of X,Y in which the X is the column and Y is the row at
which you want the keypress prompt to be at (the cursor), if you are using the
default ANSI with KewlCD this should be "16,23".

@{b}Line 4 - Directory for "downloads" if local log-in@{ub}

This feature allows you to copy files from the CD-ROM to a directory on your
hard disk if its a local login allowing you to surf your CDs and get files
just as easy as your callers! The directory should be a common download
directory and if it IS a directory (and not an assign or device) it MUST
have a trailing slash. Example: "Comms:Downloads/".

@{b}Line 5 - Tempory directory to hold downloads@{ub}

This feature is optional, if you wish to disable it, just leave a BLANK LINE
here, this feature copies the file to be downloaded to an area on your hard 
disk beforehand, it also removes spaces from filenames in the process so it 
might be useful if you have an awkward CD, set this to a directory with at
least 4meg free, users will not be able to download the file if it exceeds
the storage space on the hard disk. Again this must have a trailing slash if it
is a directory. Example: "BBS:Files/Tempory/".

@{b}Line 6 - CD mode for handling CDs@{ub}

This is a number, either 1 or 2, here is an explanation of what the numbers do:

@{b}1 -@{ub} This will create a menu showing a list of the CDs that are available to the
    user, it will check each entry in the list to see which one is in the drive
    and tell the user what CD it found, if it found none then it will bring up
    a little message and quit, also it will not display any CDs that the user
    does not have access levels high enough to see.
    
    If you want to use this feature with 2 CD-Drives (with any more or a
    multi CD-changer it would be worth using 'mode 2'), you can have two
    options in say a "CD-Rom" accessing menu, and under each entry in the menu
    you specify the DEVICE as an argument when running the door, e.g.
    Doors:KewlCD/KewlCD CD0: - this will check which CD is in CD0: and then
    look at the list of CDs and see which one it is, note you don't need the
    device argument if you only have 1 CD drive. You could have a menu like:
    
    @{b}Key:  Function:  Extra:  Lo acc:  Hi acc:  Filename/Etc:@{ub}
    1     34         0       5        10000    Doors:KewlCD/KewlCD CD0:
    2     34         0       5        10000    Doors:KewlCD/KewlCD CD1:

    Remember: 3 or more CD drives or a CD-Changer and you should use 'mode 2'
    instead and you don't need to specify the DEVICE argument if you only have
    one drive, hey, you can even use 'mode 2' for 2 drives, its just a matter
    of preference!

@{b}2 -@{ub} This will create a list as before, showing the CDs, but next to each CD it
    will tell you if that CD is in a drive or not, this is meant for users of
    multiple CD drives or CD-Changers, it will give a prompt at the bottom and
    ask a user to enter the CD to access, if its not in a drive it will tell
    them that and to select another - it will also do that if they select a CD
    that they dont have enough access to - but it will not display CDs that
    they don't have access to so thats why it does that. To hide :)...

@{b}The rest of the lines...@{ub}

You now make a list of the CDs you have available, each CD has two lines of
information for it:

The first line should be the full path and file to the CD Config, and the
second line should be the minimum access level required to access the CD-ROM.

Once you have completed the list, it MUST be terminated with a hash (#).. See
the supplied example KewlCD.cfg for info.. The finished KewlCD.cfg will end up
looking something like:

26,4                                                 << Coords for section name
75,4                                               << Coords for section number
16,20                                             << Coords for keypress prompt
Comms:Downloads/                     << Directory for downloads on local log-in
                             << Tempory directory for downloads (disabled here)                                           
1                                                          << Mode of operation
Doors:KewlCD/CDConfigs/Aminet16.kewlcdpro              << Filename of CD config
5                                                      << Access level for this
Doors:KewlCD/CDConfigs/Aminet17.kewlcdpro                             << Etc...
10
Doors:KewlCD/CDConfigs/SharewareStudio9.kewlcdpro
2
Doors:KewlCD/CDconfigs/Euroscene1.kewlcdpro
5
Doors:KewlCD/CDconfiga/Pornworld.kewlcdpro                            << <grin>
100                                            << Don't want normal peeps here!
#                                         << Never delete this terminating hash
^- Don't remove that sexy hash!                  

(example configuration file included in archive named "KewlCD.cfg.example")

Note: CD configs are ending in .kewlcdpro because they are specifically for
KewlCDPro and won't work with anything else, if the files end in .cfg they will
be for KewlCD or CDROMDOOR (yuck) and will need to be updated for use with 
KewlCDPro, see the @{" Making or updating a CD Config file " LINK "cd.cfg"} section.

READ ON...

@{" Using Parnet or Sernet with KewlCDPro " LINK "Parnet"}

@{" Making or updating a CD Config file " LINK "cd.cfg"}

@{" How to make index and config files for CDs with no index files! " LINK "noindex"}

@ENDNODE


@NODE "Parnet" "Using Parnet or Sernet with KewlCD"
@{u}For those that use Parnet or Sernet to access their CDs@{uu}

   Before you could only safely allow people to freely use the network if you
*knew* the other computer was always on and connected up, well heres a pretty
safe way of leaving the door with no need to enable or disable the door itself
and you decide if the CD is on or not by simply turning the CD on or off and 
activating the network, here's how:

   Assign all the disks in your assign list at startup, but make sure you set 
them all as 'LATE' or 'DEFER'... Ie...

(Standard AmigaDOS)
Assign Aminet_0794: Net:Aminet_0794 DEFER

(Assplus)
Aminet_0794: Net:Aminet_0794 D

(@{" MCP " LINK "MCP"} assign lists)
Aminet_0794: Net:Aminet_0794    (and have LATE selected for the entry)

   Do this for all your CDs and then set that up in each CD Config, my door 
will only check ACTIVE (ie. the LATE or DEFER has been cancelled out and the
assign can be used normally, this is done by simply accessing the assign, like
"Dir Aminet_0794: >nil:").

   Please note: You CANNOT specify the [DRIVE:] argument for 'mode 1' because I
directly ask the OS what disk in in the drive you specify, OK so you COULD put
NET:CD0 (haven't seen if this works or not) but from what I have done it seems
it will not work because I ask for the volume name of "NET:CD0" which
consequently would get the volume name from NET: (because in sernet and parnet,
each device is indicated by a DRAWER and drawers do not have volume names 
because they are not volumes, (they have drawer names instead :).).).

   If you want to change a CD over in your drive, DON'T FORGET to REMOVE the
assign!! E.g. Assign Aminet_0794: REMOVE - and you will hafta reassign it if
you want to use that one again, complex but the only way you can use a network
CD carefully, also if you turn off the network CD after KewlCDPro has been used
you will either hafta remove all the used assigns or reset the BBS machine.

   This is a *safe* way of using the network, because usualy if the network 
isn't connected properly, it will lock your computer for ages until either you
connect up the network or it time-outs and the 'no disk present' requester
comes up, but this will avoid this problem and so your BBS won't lock up! 

@{u}Warning for PARNET users!@{uu}

   This @{b}WILL@{ub} make those darn annoying "Act 2.0pkt whatever" requesters
come up, you will need to use either MCP's REQUESTER TIMEOUT function or get
NetPatch (also availible from my @{" BBS " LINK "BBS"}) which will patch these errors out and
fix a few other bugs in ParNET too. 

   If you run Kickstart 2.0+ on your client you may switch to ProNET which is a
fully featured Parallel and Serial networking package, more powerful and faster
than ParNET or SerNET and uses ParNET + null modem cables!

@ENDNODE


@NODE "cd.cfg" "How to make or update a CD Configuration file"
@{u}How to make or update a CD Config file@{uu}
 
   All CD Configs should be placed in the Doors:KewlCD/CDconfigs/ directory,
please also don't confuse the KewlCD.cfg file (which must be located at 
Doors:KewlCD/KewlCD.cfg) with the CD Configs as the KewlCD.cfg contains a list
of CD configs to use and more. 

   CD Configs created specifically for KewlCDPro *SHOULD* end in ".kewlcdpro"
so that they can be told apart from the older CD Configs (which end in ".cfg",
these can be updated by changing the first 5 or so lines, see below!).

@{u}If you are making an Aminet CD Config read here@{uu}
 
   A program called AmiScanner is available, it has been written by @{b}Tim Quigley@{ub}
and allows you to generate a config file for any Aminet CDs (1-18+) in a few
seconds, fully automatic, the files it creates are compatible with KewlCD and
KewlCDPro (all versions of both) and there is even a switch for the CDROMDOOR
(if anyone is still using this pile of crap). This is available from the Aminet
or any good BBS, the latest version as of writing is 2.0. Note: Some people
have said that this program doesn't work, well it does but its picky about its
string gadgets and cycle gadget - make sure you press return in the string
gadgets and select 'KewlCDPro' afterwards.

@{u}If you are updating/checking a config for compatiblity for KewlCDPro@{uu}
 
   A support program called KewlCD-Copy&Update has been included which will
update any config from KewlCD (or KewlCDProBETA) to KewlCDPro, it will fill in
lines 4 & 5 automaticly if it regonizes the CD and it will check if the paths +
index files are valid in the config (to stop typing errors). Read the supplied
docs with it to find out more!

@{u}What a CD Config file consists of...@{uu}

   If you are making a new config for a CD then firstly load up your fave text
editor and start to make the file. If you are updating a CD go through the
list below and make absolutly sure everything is OK to be used with this 
version of KewlCDPro. You will need to update the config if it has come from
the CDROMDOOR V2.1+ or KewlCD (non-pro versions) and KewlCDProBETA...

@{b}Line 1: Volume Name of CD-Rom@{ub}
   
Must be the volume name of the CD Rom, used for identification. For example 
Aminet12: for the Aminet 12 CD.

@{b}Line 2: Name of Current Disk@{ub}

Used to tell the user what CD has been chosen at the beginning. You could write
"Aminet 12 for Amiga software" for Aminet12.

@{b}Line 3: Short Disk Identity@{ub}

Used as a marked files disk identity because I found a bug that DOS can only 
handle so many chars so people with big names and big CD-Rom titles were
getting too big for the DOS. The solution is to use this line as a SHORT DISK 
ID. For example, A12 for Aminet 12 or SS5 for Shareware Studio 5, giving marked
files names like Joe Bloggs.SS5

Caution: If anything is in here it will be used for the short disk ID (even if 
it is long) so if anyones written any credits or comments in this line please
remove it before use. Use line 7 for credits if you *HAVE* to :)).

@{b}Line 4: Listing field position data@{ub}

Position-FileSize,Position-FileDescript

NOTE: The comma (,) must separate the two, so please include it!

In the PRO version of KewlCD you can now have cursor key marking, now this
marking system is OK but data must be stored somewhere about the CD, and well
all this does is reads the index file (see line below for info on what it reads)
and prints stuff on the screen/holds it for future use, the size and file
description field positions depend on the longest file length and the biggest
size.

The two settings on this line are used to set the starting position of the
file size and file description fields on the screen. The reason I did this
is because the further the fields are apart, the smaller the comment can be, so
if you try to squash the longest size possible from the CD next to the longest 
filename there should be at the most 1 character space, it doesn't really matter
if say one file happens to touch, thats one file in several thousand. Play 
around with these values to get them optimised, look at the very bottom of this
section for a table of values to use for certain CDs. Note that the size field
is right-justified so that it looks nice.

Here are some that have already been worked out for you:

Aminet 1-5         20,29
Aminet 6-18+       19,28
Shareware Studio   13,22

Don't forget to enter the values *exactly* including the comma!

@{b}Line 5: Index data@{ub}

Start-Name,End-Name,Start-Size,End-Size,Start-Descript,End-Descript,Ignore

It may look a bit confusing, but i'll explain each one so don't worry...

NOTE: The commas (,) must separate all of them, so please include them!

This is the line that tells KewlCDPro what bits it needs to read from the index
file to get the information about filenames and stuff...

Start-Name and End-Name are the starting and ending positions of the filename
field in the index file, Start-Name will usualy be 1 because it is the first
field on the line on most index files, End-Name is 19 for recent Aminet CDs,
20 for the older Aminets (before Aminet 6), 12 for MS-DOS ISO9660 style CDs
and around 30 for full filenames (but I haven't seen any with this many!).

Start-Size and End-Size are the starting and ending positions of the filesize
field in the index file, there is no standard for these positions, I have
made a table below this to help though.

Start-Descript and End-Descript are the starting and ending positions of the
file description field - this one is as important as the other two, because it
lets the users know what they are downloading before they actually do it! I
have put in an "Easy life" option here, just enter -1 for the End-Descript and
KewlCDPro will automaticly grab the description till the end of the line, this
can be used for most index files.

Ignore is the number of lines to ignore at the start of each index file, this is
useful for the Aminet CDs because they have a 2 line header at the start of each
index file, so you would enter 2 for Aminet, check if the CD you are using has
headers, count of the number of lines it takes up and enter it in here, if the
index files do not have any headers then simply put a 0 here.

Here are some that have already been worked out for you:

Aminet 1-5         1,20,32,36,38,-1,2
Aminet 6-18+       1,19,31,34,40,-1,2
Shareware Studio   1,12,13,21,34,-1,0

-------------------------------------------------------------------------------
Counting the positions is often quite tricky to get exact and it is important
that it IS exact otherwise you can cause nasty problems. You can use any text
editor or ansi editor for that matter to do it, well any that have a counter
on them which tells you what column the cursor is currently in, make sure the
first character on the line is at column 1 though and not 0, if it is at 0 then
increase each of the numbers you put into the CD Config by one.
-------------------------------------------------------------------------------         

@{b}Line 6: Full path and name of the main INDEX file for that CD@{ub}

If there isn't one then leave a BLANK LINE, this is only for download purposes
and also the 'view-only' file finding search feature. For example, 
Aminet12:Aminet/INDEX for Aminet 12.

@{b}Line 7: Author of CD-config, ie. copyright information etc.@{ub}

@{b}Line 8: Number of sections on Current Disk@{ub}

Most CD ROMS are conveniently divided into 'sections' - this value represents 
the number of 'sections' (usually in dirs) on this disk.

@{b}Line 9: <Section Name>  <Path to listing file>   <Path to section>@{ub}

Repeat for number of times needed (the value in line 8). You must make an entry
for each 'section', 1 line each, with section name, a path & and name to a text
listing of the files in that section (only used for downloading purposes), and 
a path to that section. Each of the lines MUST be in quotes.. no commas are 
needed to separate the strings, just like this :

         "Name"   "Listing File"   "Path"

         No quotes needed for first 8 lines of the config.. 
         It is probably a good idea to make the Section Name in the format that
         was needed for earlier versions of KewlCD with the lame (tho fast)
         searches. I entitled this 'NEWLOOK' <G>, this consists of several
         major changes to ya ordinary section name :). Please read the section
         in {~ File Finding Facility " LINK "xtra" 42} about NEWLOOK.

   Save it to the Doors:KewlCD/CDconfigs directory under an appropriate name &
add it to your KewlCD.cfg! Ta-da! Don't forget to test all the sections and 
stuff, you don't want to be running a dodgy config :).

Read the docs supplied with KewlCD-Copy&Update to find out what that clever &
handy little prog does!

@ENDNODE


@NODE "History" "History!"
@{u}History@{uu}
 
Names within < > indicate they reported the bug/suggested the feature.

(All very old history has been deleted, ie. pre-pro versions)

V1.0 - Removed custom file format and the conversion is now REAL TIME as
       the listings commence, it seems to be slightly faster than the old
       way too and saves a lot of farting around (ie. no more converter!)
       KewlCDCopy included for users of slow CD Roms.
       KewlCDUpdate to check older CD Config files for use with KewlCDPro.
       Fixed some text and added a visual section progress to the search
       routines.
       Added AmiScanner to the distribution archive.
       Trying to sort my brain out and stop fooling people with crap 
       programming, sorry for the hassle guys.
       CD Configs ending in ".kewlcdpro" for the new config format.
           
V1.1 - Some of the code was duplicated 3 times (!) I have optimised the
       code, it is now also a little bit faster.
       Changed the "help.text" and the guide a little.
       Altered some of the operation and changed some small text.
       New bug-fixed version of AmiScanner (v1.9 - 2).
       Added tests into the search/listing routines so it will tell you
       exactly what file it can't find if there is an error in a CD config.
       Added RATIO screen to download, take a look - its quite nice :).
       Added new ANSI file to go with the ratio feature. Editable.
       Added version string into executable, go on, try 'Version KewlCDPro'
       in a shell (not forgetting the full path to KewlCDPro)!!
       Added some more CD Configs (hopefully Aminet 13 will be included!).
           
V1.2 - Converted sourcecode to "Kewl Doors" (by Niki Murkett) instead of
       the old Ari Tsironis extension. Fixed a couple of bugs I noticed
       while I was doing this too and improved some code.
       Added free downloads for index files etc, the user will be given
       back any time and download ratio spent on the file after the
       download, this should work OK but in the worst case a user won't
       be given back downloads/time (if he/she hangs up too soon).
       Improved a couple of routines I spotted and added more error
       checking in.
       Fixed bug in "Clear all Marked Files" <Ozz Scott>.
       Removed 'mode 0' because if you *really* need it you just put in
       'mode 1' instead and take out all CDs in the KewlCD.cfg except one.
       The intro/menu system is now totally automatic and the prompt on
       'mode 2' can now handle upto 99 CDs <Sykoe>.
       Removed KewlCD.Intro because of the above.
       Added access levels for each CD <Richard Neville>.
       Format of KewlCD.cfg changed because of above.
       Changed listing method, some people seem to prefer it where the
       marker system only activates after people press an initial up, I
       see your point guys and this is standard <Niki Murkett, etc>.
       Fixed some bad English and documentation.
       Added what CD they are on to the main screen <Sykoe>.
       Changed Help.text to reflect new lister.
       Fixed "Page Up" bug with CDs with headers (hopefully) <Sykoe>.
           
V1.3 - Fixed major bug which meant the last CD in the Kewlcd.cfg was
       ignored (or KewlCD failed), dont know how this one slipped through.
       Removed WORDWRAP from guide, some people still use topaz/8 as
       system default font <smirk> and so the wordwrap messed up stuff,
       especially in this section <Niki Murkett>.
       Added some marked files management, tells users if they have marked
       files on other CDs when they enter the door and gives them several
       options on what to do with them <Sykoe>.
       Added "Copy to HD" feature <Niki Murkett/Sykoe>.
       Updated Kewlcd.cfg because of above, header changed too.
       Re-worked and added to this guide a bit.
           
V1.4 - Now internally converts filenames to lowercase so that the marked
       files editor won't get shitty if there are capital letters.
       
       Fixed volume & directory "spaces" bug <Sykoe>.
       
       Added File_ID.diz support to File_ID embedded listings <Sykoe>!!!! This
       little fucker made me stop working on KewlCD for 3 months because of a
       silly typing error which I couldn't figure out :(, but anyway, its done!
       
       Fixed bug when downloading results of "view-only" file listings.  
       .       
       Fixed version strings within executables.
       .
       Changed some of the operations & text, also the keypad does not change
       (all features of it work in mark mode or not) so that means yes I have
       put TOP & BOTTOM when you arn't in the marking session as well ;).
       
       Now works on multinode systems although the executable is huge now!
       
       Added a lot of error trapping so it should not quit totally if an
       error occours, BUT, if your CD is scratched up, its possible that
       your entire BBS will lock up cos the reader might get stuck :/.
       
       Updated KewlCDCopy + Update into one prog, KewlCD-Copy&Update -
       select which function you want at the start, also this prog has many
       enhancements over the old version.
       
V1.5 - The last page feature now holds 30 pages instead of 1, if you find a CD
       with more than 30 pages-worth of files, please mail me! Another one,
       when you go to the top of the list and press up again, instead of doing
       nothing it will go to the last page (or beep if at first page).
       
       New config format to house several new features :-
       o The section name can now be anywhere on the screen.
       o The section number can be anywhere too.
       o The prompt is now on the menu instead of built into the program, 
         instead you can chose where you want the keypress cursor to be.
       o When downloading files from a local login, instead of bringing up a
         download window it'll copy files to a download directory on your hard
         disk so now even you, the sysop, can surf your CDs with ease!
         
       Slightly altered ANSI - if you are using the default one, copy over it
       with this one, if you are using your own, make sure the "KewlCD by Steve
       Clack" bit is now on the first line, first column. Also I updated the
       Help.text so copy that over too.
       
       The downloader didn't actually remove spaces from filenames if the 
       "copy to hard disk before downloading" feature was enabled (it removes
       spaces because of a bug in the MAXs downloader, if you have a CD-ROM
       with spaces in filenames, enable with function).
       
       For more info on the new config and more read the appropriate section of
       this guide, which has been updated in places. Oh and 'AmiScanner' is no 
       longer included, because I think everyones got it now and its available
       seperately on the Aminet.
       
       Killed two weird bugs, one was that the ghostly image of 'enter your
       phone number' was being displayed just before download and the other was
       that the last file in the marked files list might not always be unmarked
       after download, fixed them both, but they were weird??
       
       Dots are back in filesizes now because otherwise you get '14m' instead
       of '1.4m' on Aminet CDs.
       
       KewlCDPro is now @{" giftware " LINK giftware}, please register.
       
       Added nice centering thing to the intro (not on the menu mode), I think
       it looks quite nice though I was having some problems with the cursor
       positioning so 'not allowed to access' CDs are represented by a red dash
       for now until I figure out a way of making them totally invisible.
       
@ENDNODE


@NODE "xtra" "File Finding Facility"
@{u}File Finding@{uu}

   As of the PRO versions, there is now a subtle cursor key marking implemented,
this allows easy marking and unmark of files, there is a global markable search
but it aint very fast which is a bit of a shame, I will optimise it as it goes
on tho and so i've kept FlashFind search which is now known as a 'view-only'
fast search :)..

@{u}What Flashfind is@{uu}

   I use an external program called FlashFind which will do all the searching
dirty work for me, it will search the index files and find out what matches and
show the entire line to the user, no matter what matches it will be shown
(unfortuantly this also means the filesize and directory in the case of the
Aminet CDs but that could be a feature in a way), it shows the entire line. Its
VERY fast BTW (fastest search routine Dave has seen too!)!! This was originally
the only search method but after I implemented the cursor key marking, it has 
been seen as an extra.

@{u}Searching new life and new civilazations (not ECS version)@{uu}
 
   Search is split up into 2 main modes, Current section and GLOBAL, the first
will only search the current section's index file for any matchings and will
give the option to mark any of them (if any) and thats about it, but theres the
GLOBAL search....

   This search is split up into 2 main modes, there is the MARKABLE search and 
the 'view-only' search. The 'view-only' search uses an external program as said
before, it is extremely fast (faster than the dopus searcher etc) but it won't
allow u to mark files because there is no info to what or where the file is so
it's just a view search for now. It uses the CD's main index file (if its not
availible then it doesn't work) and it searches thru the file and will print
anything it finds to match, it would be useful here if the user knows which
section the file is in, so in example of the Aminet CDs it shows the directory 
after the filename @{i}WHICH IS GOOD! @{ui}@{b}BUT...@{ub} The section name must
have something along the theme of the real directory name.. Let me give you a 
little story to explain this (please note: this isn't really needed for the new
version because the flashfind search isn't NEEDED anymore but is still there 
just for the sake..)

A user wants to find MCP in a global search, so he does this and it gets the
results (for example on an aminet cd).

MCP104.lha       wb/util  400k+A kewl Workbench enhancer program, best around!
MCPmoni.lha      wb/moni   60k+Monitors for WB.
Shitheads.lha    no/way    20k+New game from the McPye brothers!

(maybe not that last one)

Anyway the user thinks "WOW! I always wanted MCP104.lha!! And it's in wb/util!"
now, how does he know what the hell that section is?? I'm sure you get the
picture...

Workbench - Utilities  ...now that suggests wb/util - or you could do...
Workbench utils (wb/util)  ... that is probably your best bet- so create your
configs from scratch in this NEWLOOK way because it looks much nicer!

   Anyway, once the user has done the search it displays the list, prompts a
return and then goes back to the main kewlcd menu...

@{u}To bodly go where no bold man has boldly gone before...@{uu}
 
   The other option is the markable search which can be aborted at any time BTW,
it is about 5x as slow as flashfind but very easy to use, it also looks nice and
well you can mark files with the cursor keys, it is transparent to the user but
this has a lot of work going on internally, also it uses up no extra ram so the
search is a little compromised. I could load in each index into ram, then search
that but a) It would be too much hassle and would waste memory and b) I don't 
know I could pull it off without a lot of (wasted) effort.

@ENDNODE


@NODE "BBS" "Credits, Contacts & Greetings"
@{u}Credits@{uu}

©1997 Steve Clack of Liquid Software Design.

With thanks to Niki Murkett for Kewldoors extension for AMOS & the patcher
that allows this to be used on Multinode systems.

Thanx to Tim Quigley for AmiScanner, its not included anymore but you can get
it from the Aminet.

Thanx to David Anderson at Docking Bay Four (01703 498801) for testing out this
door on his BBS and giving me encouragement - thanx Dave! :)

@{u}Contact@{uu}

I can be reached at:

Total Eclipse BBS: +44(0)1983 522428 - 24 hours - 33.6k - I'm the sysop
Internet E-Mail: steeevc@ndirect.co.uk
FluffyNet: 888:104/0
My address can be found by reading the section on @{" Giftware " LINK giftware}.

@{u}Greetings@{uu}

Niki Murkett, Techn!x, Leigh Russ, Dr. X, the email support guys like Sykoe
from a distant country (thanks for all your bug reports, etc!) and everyone
else! Hi also to everyone who I forgot (must concentrate on other bits of
this doc, sorry :(..). Thankyou Wendell Wantanabe for sending me a kind gift
of $30!

P.S. Check out Magic File, by me! ;)

Have fun using KewlCDPro, and don't forget to rate it on the Aminet if you like
it (and have access to the net!), and register yourself by @{" sending me a gift " LINK giftware}.

@ENDNODE


@NODE "noindex" "How to make CD Configs for CDs without index files!"
@{u}Making CD Configs for CDs without index files!@{uu}
 
This is a sneaky idea I had and it seems to work :)...
I think it is easier to show this in steps.... So lets go...! 

1. Create a directory in Doors:KewlCD/Index/ with an appropriate name for the 
   CD, i.e. GIF's galore might be Doors:KewlCD/Index/GIFSGAL/ ..

2. Check out the "list" command that comes with Workbench, as these CDs do not
   have comments with the files we shall use the date of the file as the
   comment (well, its better than nothing!).
   
3. Do a full "list" of all directories on the CD, and redirect the output
   to the Doors:KewlCD/Index/{nameofdir}/ - replacing {nameofdir} with the name
   of the directory you created for this CD. If you don't know how to do this
   an example might be...
   
   List CD0:Pictures/GIFs >Doors:KewlCD/Index/GIFSGAL/GIFS.txt NOHEAD
   
   Do it for every directory on the CD... Now time to make the CD Config ...
   
4. Refer to the section on @{"Making a CD Config" LINK "cd.cfg"} but when
   entering the index file, refer to the one you created in 
   Doors:KewlCD/Index/{nameofdir}/ of course. Also when creating lines 4 & 5
   you will have to consider the following recommendations:
   
   > The filename field can change size if huge filenames are in it, so you may
     hafta re-do the list without the file in it as otherwise it would cause
     problems. The standard I think is 24 characters for this field, so use
     this value if possible.
     
   > The filesize field is a right-justified field, KewlCDPro should cope (not
     tested) but assume the biggest file will be about 9megs in size.
     
   > The comment field can be the filedate, as I can't think whatelse you 
     can put in the comment field.
   
   > If you forget the NOHEAD argument when using list, the header size must be
     set to 1 because of the bit list puts on the top.
   
5. If you don't know what i'm on about or i've lost you, you're obviously not
   that knowledgeable of the Amiga or life so please don't attempt this and
   seriously think about shutting your BBS down (alternativley you can ask
   someone to do it for you :)..)

Thats all for now! More handy hints from me some other time, maybe, after I
have discovered what the BED does.

@ENDNODE


@NODE "Giftware" "Giftware"
@{u}Giftware@{uu}

KewlCDPro is now Giftware which means you should send me some money (maybe £8,
$15) or an eqvillent value gift (A4000Ts, etc ;)..) to the following address:

Steve Clack
83 Whitepit Lane
Newport
Isle of Wight
PO30 1NF
England

Write an accompaning letter with your email address and/or home address along
with information on your Bulletin Board System. I can send new versions, news
along with other stuff only if you have access to an email address, if you
wish me to send it via. normal mail then an additional free (not gift) of about
£1 (more if not from England) should be sent to me and I will post you a disk.

For your trouble you may be notified of new versions available, and could be
sent some handy support programs, different styles of ANSI, extra support and
news/future registered versions of software by me. I plan to make a few BBS
games available to registered users (a minefield & a worm game :)..).

Thankyou for supporting Amiga software, click @{" here " LINK BBS} for details
on contacting me if you have any queries.

@ENDNODE
