home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / d / discbase / !DiskBase / History < prev    next >
Encoding:
Text File  |  1996-10-14  |  46.6 KB  |  771 lines

  1.  History                                                (up to version 0.75)
  2.  -------
  3.  
  4.  Modifications of the current version can be found in !Help.
  5.  
  6.  0.50 (23 Jan 1991)  - First release of !DiskBase. Running in Wimp but
  7.                        individual actions not yet multitasking.
  8.  
  9.  0.51 (02 Feb 1991)  - Fixed a bug in DUPLICATES. Too many entries were
  10.                        accused of being duplicates.
  11.  
  12.  0.52 (13 Feb 1991)  - Created fully multitasking actions. (ADD, DELETE,
  13.                        SHOW, SEARCH, DUPLICATES)
  14.  
  15.  0.53 (23 Feb 1991)  - Results can be placed in a textfile on disk or copied
  16.                        (via RAMtransmit) to another task e.g. printerdriver,
  17.                        !Edit/!DTP etc.
  18.  
  19.  0.54 (23 Mar 1991)  - Some bugs fixed. (Nasty one in finding duplicates)
  20.  
  21.  0.55 (04 Jun 1991)  - Fixed some bugs in allocating memory, case-sensitivity
  22.                        of diskname of Duplicates, closing datafile if loading
  23.                        of it failed, and bugs in saving results file fixed.
  24.                        Furthermore created sub-options in Duplicates for the
  25.                        type of report.
  26.  
  27.  0.56 (23 Jun 1991)  - Added the option in SEARCH to include/exclude disks.
  28.                        Also added the option to start files/applications or
  29.                        open directories by double clicking on a line of the
  30.                        RESULTS window.
  31.  
  32.  0.57 (29 Aug 1991)  - !DiskBase now only momentarily changes the CSD during
  33.                        the addition of a disk directory but will restore it
  34.                        before leaving this procedure.
  35.                        Bug, resulting in a program crash when a SAVE failed,
  36.                        fixed.
  37.                        Added the Print DiskLabel option.
  38.  
  39.  0.58 (14 Nov 1991)  - Removed the resetting of the CSD added in version 0.57
  40.                        because it could intermittently result in
  41.                        "FileCore in use" errors. (Depending on DirCache-size
  42.                        and/or Buffer-size of filing system).
  43.                      - Created a multi-level menu-structure for fonts in
  44.                        DiskLabel option, using FontMenu module designed by
  45.                        Joris RĂ–ling.
  46.                      - Adding and deleting disks is now done from a window
  47.                        (staying open) instead of from a submenu.
  48.                        The contents of an archive file is now examined and
  49.                        stored when adding a disk.
  50.                      - DiskBase now also supports SCSI and IDE filing systems
  51.                        so that harddisks with these filing systems can also
  52.                        be stored. Due to the way information was stored in
  53.                        the datafile I had to decide to store sizes of archive
  54.                        files and directories in Kbytes (in 3 bytes, max size
  55.                        16777 Mb) while applications sizes stay in bytes
  56.                        (also in 3 bytes, so max application size is 16 Mb
  57.                        bytes). Reason was that a maximum directory size of
  58.                        16 Mbytes is far too less for harddisks.
  59.                        Also filing system for each disk is now stored.
  60.                      - Conversion of an older datafile when loaded in
  61.                        !DiskBase 0.58 is done automatically. Consequence is
  62.                        that when afterwards this updated file should be used
  63.                        with an older version of !DiskBase, an incorrect size
  64.                        of directories is shown. Also since the 0.58 version
  65.                        knows a new entrytype for archive files added with
  66.                        the 0.58 !DiskBase, these files won't be recognised
  67.                        as files or archives when used afterwards with an
  68.                        earlier release.
  69.  
  70.                        WARNING:   Of course converting the datafile can't
  71.                        automatically update the file with the contents of
  72.                        the archive files, so you have to SEARCH yourself for
  73.                        archive files (filetype &DDC) and then ADD all disks
  74.                        containing archives to modify the datafile to contain
  75.                        the contents of any archive files !!!!
  76.  
  77.  0.59 (27 Dec 1991)  - Main reason for this release was the fixing of some
  78.                        bugs.
  79.                        When deleting disks containing archives the number of
  80.                        files wasn't decremented for deleted archives.
  81.  
  82.                        When an ADD of the contents of an archive file failed,
  83.                        that disk wasn't added at all. Now changed into adding
  84.                        the disk without adding the contents. In the ADD DISK
  85.                        window is a choice for an optional warning if an ADD
  86.                        of the contents of an archive fails.
  87.  
  88.                        Displaying file sizes in the RESULTS window is now
  89.                        done using the SWI OS_ConvertFixedFileSize so that a
  90.                        RISCOS consistent display is given.
  91.  
  92.                        When clicking on a line in the RESULTS window versions
  93.                        below 0.59 called Wimp_StartTask also if it is a file
  94.                        that should be run/started. This always causes a new
  95.                        application being started, even if there is one copy
  96.                        of that application already running. (e.g. clicking on
  97.                        a TEXT-type file when !Edit is already running starts
  98.                        another !Edit, instead of the running !Edit loading
  99.                        the textfile).
  100.                        Version 0.59 makes use of the Filer_Run syntax to
  101.                        run/start a file, if RISCOS 3.0 is used !!!
  102.                        This acts as double clicking on a file in a directory
  103.                        viewer, so no other copy of an application is started
  104.                        if it is not necessary. (e.g. the already running
  105.                        !Edit will load the textfile).
  106.                        In RISCOS 2.0 this facility is not available and the
  107.                        other method is still used !!!
  108.                        It is also possible to click not directly on a file
  109.                        in the RESULT window, but on the directory the file
  110.                        is in, and then double click on the icon in the
  111.                        directory viewer.
  112.  
  113.  0.60 (20 Jan 1992)  - Added the summary option in SHOW. It gives a easier
  114.                        to read overview of the contents of a disk.
  115.  
  116.                      - Now if RISCOS 2.0 is used !DiskBase uses the broadcast
  117.                        Message_DataOpen to see if an application is already
  118.                        running that is capable to load the selected file.
  119.                        If not, that application is started by a *RUN of that
  120.                        particular file. (See also the history of 0.59)
  121.  
  122.                      - Some (minor) speedup of the redrawing of the RESULTS
  123.                        window by changing the code and by deleting the word
  124.                        'bytes' when displaying entry sizes. (Even more RISCOS
  125.                        compliant as well).
  126.  
  127.                      - Rectified several (grammatical) errors in this Readme
  128.                        file. (Thanks to Kees Breet for his spelling checking)
  129.  
  130.  0.61 (24 Feb 1992)  - Size/filetype/timestamp of CFS-files shown now are the
  131.                        ones of the uncompressed files. Previously files all
  132.                        showed up with filetype of 'CFSlzw' and size/timestamp
  133.                        of compressed file.
  134.  
  135.                        Already made provisions to show the difference of
  136.                        archives made by !Spark and !ArcFS. !Spark archives
  137.                        are shown with a 'S' and !ArcFS files with an 'A'.
  138.                        At the moment all archives are shown as !Spark-files,
  139.                        even if they are created by !ArcFS. In the latter case
  140.                        however, no contents of the archive is shown. As soon
  141.                        as I have enough details of the layout of !ArcFS files
  142.                        I will implement the decoding and the correct display
  143.                        ('A') of the files.
  144.  
  145.                      - Fixed a bug concerning SEARCH. Previously doing a
  146.                        SEARCH for files and/or directories also showed all
  147.                        archive files. Same type of error fixed in DUPLICATES.
  148.  
  149.                      - Got some complains about !DiskBase's menu opened after
  150.                        opening a RESULT window. Problem was that RISCOS 2
  151.                        doesn't tell an application that it's menu is closed
  152.                        (by clicking the Menu-button on another application
  153.                        for instance). But at the end of an action !DiskBase
  154.                        had to unshade several menu-items, if the menu was
  155.                        still (or again) open, by doing a re-open. This
  156.                        resulted in any other menu being closed.
  157.                        What !DiskBase does now is saving the handle of
  158.                        the menu (actually a window) as soon as you click on
  159.                        one of the options of the main menu (not the submenus)
  160.                        so it can check at the end of an action if the menu is
  161.                        still open. So if you click on 'Status', 'Add disk' or
  162.                        'Delete disk' at the start of the application, all
  163.                        future re-opens of the main menu are done only if
  164.                        necessary.
  165.  
  166.                      - !DiskBase now makes use of Acorn's Interactive Help.
  167.                        When !Help (found on Acorn's Application disk 1) runs,
  168.                        help info is shown appropriate for the window/icon the
  169.                        pointer is over.
  170.  
  171.                      - All warning- and error-messages are now gathered in
  172.                        the file Messages, and via the MessageTrans (MgsTrans)
  173.                        module loaded when needed. So now its possible for any
  174.                        user to translate the messages to his choice.
  175.  
  176.                      - Added the percentage in the hourglass during the save
  177.                        of results. Because of the long time it can take to
  178.                        save these (every line of text has to be formed during
  179.                        this save), the ESCAPE key is enabled now during save,
  180.                        to be able to abort it.
  181.                        If you save results directly to an application using
  182.                        RAMtransmit (e.g. !Edit etc.) you have to press ESCAPE
  183.                        twice. On fail of a RAMtransmit, RISCOS restarts the
  184.                        save via a scrapfile. The second ESCAPE is needed to
  185.                        abort this.
  186.  
  187.                      - Changed the Activity window. Layout is RISCOS 3 now,
  188.                        and I added some more control during actions.
  189.                        ABORT and PAUSE are self explaining.
  190.                        FAST will make !DiskBase monotasking, resulting in all
  191.                        other jobs being paused. Pressing ESCAPE (long enough)
  192.                        results in !DiskBase continuing multitasking again.
  193.                        STOP will abort the action, but results found so far
  194.                        will be shown if possible.
  195.  
  196.  0.62 (27 Mar 1992)  - Archives created by ArcFS can now also be handled by
  197.                        !DiskBase.
  198.  
  199.                      - Fixed several bugs introduced when I implemented the
  200.                        handling of CFS-files.
  201.                        When disks containing CFS-files where deleted, the
  202.                        number of files wasn't decreased correctly.
  203.                        Also applications and directories containing CFS-files
  204.                        are now shown with their original sizes instead of the
  205.                        compacted sizes. This is necessary for finding
  206.                        duplicates and more consisted with the way sizes of
  207.                        applications and directories are shown inside archive
  208.                        files. So this also fixed some errors in finding
  209.                        duplicates.
  210.                        The colour of CFS-files when shown in a result window
  211.                        is now black, being more appropriate because it is
  212.                        always a single file, and light blue is now reserved
  213.                        for archive files only.
  214.  
  215.                      - Added the 'Press ESCAPE for multitasking' warning in
  216.                        the Activity window when FAST (monotasking) was
  217.                        selected during an action.
  218.  
  219.                      - When adding a disk resulted in deleting that existing
  220.                        disk first will now again update the Status window in
  221.                        between.
  222.  
  223.  0.63 (24 Apr 1992)  - Removed a bug which resulted in intermittent failing
  224.                        to setup the saved fontname correctly after loading
  225.                        a datafile or causing warnings like:
  226.                          Font 'Corpus.Bold' not available.
  227.                          Using 'Corpus.Bold' instead for printlabel option.
  228.                      - Added 'Free xx K' on a printed label.
  229.                      - Added the possibility to change the dimensions of the
  230.                        printed disklabel, and the way positioning of it on
  231.                        paper is done.
  232.                        !DiskBase now stores labelsizes, number of labels per
  233.                        row and column, and gaps between the labels.
  234.                        !DiskBase prints labels one at the time, but it would
  235.                        be nicer to be able to queue the labels until one
  236.                        sheet of paper is filled and then print them all
  237.                        together I'm thinking of implementing this but I'm
  238.                        not quite sure how to do it.
  239.  
  240.  0.64 (26 Aug 1992)  - Removed some bugs resulting in 'Address exception'
  241.                        errors when selected font was not available.
  242.                      - Removed bug resulting in 'Access to window denied' if
  243.                        ESCAPE was pressed when monotasking and mouse buffer
  244.                        was not empty.
  245.                      - Possibly ADFS-harddisks where counted twice in earlier
  246.                        releases. Corrected now.
  247.                      - Printed labels didn't show CFS-files in '$'-directory.
  248.                      - Contents of PackDir (by J.Korting) files are decoded
  249.                        now and stored as entries is the datafile.
  250.                      - When an error occurs during monotasking, will switch
  251.                        over to multitasking to prevent possible system hang.
  252.                      - In earlier versions, switching mode with a closed
  253.                        printlabel-window didn't rescale the selected font.
  254.                      - Option added to reverse the printed label for ease of
  255.                        use in diskette boxes (of flipover type).
  256.  
  257.  0.65 (21 Nov 1992)  - Changed coding to prevent problems with filing systems
  258.                        (like Morley SCSI) with SWI-names inconsistent with
  259.                        filing system name (SWI-prefix 'SCSIFS_')
  260.                      - In version 0.64 only PackDir files with 13 bits
  261.                        compression where decoded. Removed this bug.
  262.                      - Changes made in printing procedure to be able to queue
  263.                        a complete page before printing.
  264.                      - Updated interactive help messages where appropriate.
  265.                        (wasn't done the last few releases.)
  266.                      - On the printed label a date is printed now. This is the
  267.                        date the disk was added to !DiskBase, so the date the
  268.                        printed info is gathered.
  269.  
  270.  0.66 (27 Feb 1993)  - Added code to allow contents of Squash- and SparkFS
  271.                        SparkDir-files to be examined.
  272.                      - Rewritten the code for displaying the Results-window.
  273.                        When performing Show/Search/Duplicates, only an array
  274.                        of pointers to valid entrynames is created.
  275.                        When displaying the results, for each pointer a
  276.                        conversion to a textual string is needed before this
  277.                        can be shown in the results-window (only the visible
  278.                        lines are decoded). So during a scroll, or redrawing
  279.                        the window, again a conversion needs to be done.
  280.                        To speed up this process I've rewritten the major part
  281.                        of the routine in assembler, which speeded up the
  282.                        redraw by 20-30%.
  283.                        Some minor layout changes of the results are made.
  284.                      - Solid icon drag for save of datafile and resultsfile
  285.                        implemented (although not fully satisfactory yet).
  286.                      - Show and Search are speeded up if the diskname doesn't
  287.                        start with a wildcard. Before the operation begins a
  288.                        binary search is done in the diskname-list so that
  289.                        only disks with valid names are scanned anyway.
  290.                        (Before this was done during the Show or Search, and
  291.                        when a not valid diskname was found, that disk was
  292.                        also skipped, but the process took much longer then).
  293.                      - Furthermore some bugs fixed:
  294.                        - Sizes of directories inside ArcFS archives were a
  295.                          factor 10 too big. Newly added ArcFS archives will
  296.                          now be OK.
  297.                        - If the first entry of a PackdDir file was an
  298.                          application, the size was a factor 10 too small.
  299.                          Also if the only entry of a PackdDir file was an
  300.                          empty directory, one invalid extra entry was added.
  301.                        - For some filetypes the space of names shorter than
  302.                          10 characters was not always filled with &00.
  303.                          This resulted in a corrupted results display using
  304.                          the new (assembler) display routines.
  305.                          This could also prevent files not being recognised
  306.                          as duplicates of each other.
  307.            #             Therefore during the loading of a pre-0.66 datafile,
  308.            #             a scan of the file is done, and this will repair all
  309.            #             invalid entrynames.
  310.            #             It will also repair the wrong directory- and
  311.            #             application-sizes as described above.
  312.            #             The only problem with this is that application sizes
  313.            #             inside PackdDir files in previous versions were
  314.            #             rounded to 1 kB sizes, whereas other application-
  315.            #             sizes were stored with the exact amount of bytes.
  316.            #             This will prevent the Duplicates-function to find
  317.            #             a duplicate between an application inside a PackdDir
  318.            #             file and the same one stored outside a PackdDir-file
  319.            #             when 'Compare timestamps/sizes' is set.
  320.            #             The only way to fix this is to re-enter all the
  321.            #             disks containing PackdDir files in the database.
  322.                          Once a database is repaired, a save of the file will
  323.                          mark the file as being repaired and the next load of
  324.                          it doesn't need to be scanned anymore.
  325.  
  326.  0.67 (31 Mar 1993)  - I finally found the reason for errors reported by some
  327.                        users resulting in corrupted datafiles.
  328.                        Symptoms were errors like 'Number too big' during
  329.                        SEARCH, 'String too long' during SHOW or a SEARCH
  330.                        continued far over 100%, finally resulting in
  331.                        'Address exception' etc.
  332.                        The cause for this error to occur was the adding of
  333.                        disk numbers 129,257,385 etc., and the disk(s) there
  334.                        after, resulting in the number of entries becoming a
  335.                        multiple of 512.
  336.                        In both occasions the heapmanager could decide to move
  337.                        the blocks inside the heap. Because at some points I
  338.                        didn't recalculate the pointer to the record I was
  339.                        updating at that time, the 'update' could be done in a
  340.                        random other record, resulting in this corruption.
  341.  
  342.                        To find one of these types of corruption do a SHOW
  343.                        with 'Names only' and check the number of
  344.                        dirs/apps/files.
  345.                        If for some disk(s) this is '16777215 / -1 / -1', the
  346.                        datafile is surely corrupted.
  347.  
  348.                        In this version of !DiskBase I have included a small
  349.                        program called DBaseCheck, which you can use to check
  350.                        your datafile if you think it has a problem.
  351.                        This program will try to fix errors as far as possible
  352.                        or will tell you which disk(s) you have to add again
  353.                        to remove the corruption(s). In some situations it can
  354.                        not decide if something is a real corruption.
  355.                        (e.g. file-timestamps of &FFFFFFFF &FFFFFFFF)
  356.                        You can test this by adding the disk to an empty
  357.                        datafile (start !DiskBase 0.67 without loading a
  358.                        datafile), add the suspected disk and save the file.
  359.                        If checking this file results in the same warning(s)
  360.                        then there are NO errors.
  361.                        Unfortunately DBaseCheck can't find nor fix all
  362.                        possible errors. It will tell you if a datafile is not
  363.                        repairable, but it can't find errors like incorrect
  364.                        filesizes (e.g. size=12 bytes instead of 135K etc),
  365.                        or corrupted timestamps. So be aware.
  366.  
  367.                        When you double-clicked on a CFS file of a pre-0.67
  368.                        version !DiskBase gave a warning that it couldn't
  369.                        start/run a file compressed by CFS. This warning is
  370.                        no longer needed. It is possible to start/run a CFS
  371.                        file, by altering the 'Alias$@RunType_D96'.
  372.                        The best places to do this is in the !Boot and !Run
  373.                        files of !CFS itself. If you change the line
  374.                             Set Alias$@RunType_D96 "Set Dummy$Variable "
  375.                        to   Set Alias$@RunType_D96 Filer_Run CFS#%0
  376.                        you will always be able to run/start a CFS-file by
  377.                        double-clicking (from the RESULTS window as well as
  378.                        from an ADFS filer-window, without having to open
  379.                        the CFS filer window).
  380.  
  381.                        If you double-click a squashed file, you will be given
  382.                        a warning that if you continue, this double-click will
  383.                        only replace the squashed file, without it being run.
  384.                        This is the way Squash works.
  385.                        Double-clicking an application that has one or more
  386.                        squashed files in it, could also result in some of
  387.                        these files being unsquashed. But this time !DiskBase
  388.                        won't give a warning, simply because it will not check
  389.                        the files inside the application before starting it.
  390.                        (The same thing occurs when you start an application
  391.                        in a filer window by double-clicking)
  392.                        Squash won't squash very short files, so often the
  393.                        !Run file is unsquashed, and thus will be run when you
  394.                        start the application. This in turn will nearly always
  395.                        run a !RunImage file. If this one is squashed, Squash
  396.                        will unsquash it without running it.
  397.                        (Alias$@RunType_FCA : Run <path>.!Squash.!Run %*0
  398.                        only unsquashes a file, it won't run it afterwards).
  399.                        So be aware of this if you use Squash.
  400.                        One other thing to keep in mind if that unsquashing
  401.                        file(s) will of course result in your datafile not
  402.                        matching your disk(s) anymore, so you should also ADD
  403.                        the disk(s) again to have your datafile up-to-date!
  404.  
  405.                        Another change I've made is that all assembler code
  406.                        is now gathered in a file called 'CodeFile' and not
  407.                        any longer in the !RunImage file itself. This has two
  408.                        main advantages: the code doesn't have to be assembled
  409.                        at startup time (so startup is faster) and less memory
  410.                        is used (now only assembled code is in memory, not the
  411.                        Basic lines containing the non-assembled code).
  412.                        Also the file 'HeapCode' is no longer needed, because
  413.                        this code is also included in CodeFile.
  414.  
  415.                        Also after loading the !RunImage file a CRC-check is
  416.                        done over the !RunImage-file.
  417.                        If this check fails, !DiskBase will not run anymore!
  418.                        This I have added because it often happens that I get
  419.                        bugreports about !DiskBase versions in which !RunImage
  420.                        files aren't the original files anymore (so someone
  421.                        has changed the file, even though it is a crunched
  422.                        one, so very hard to read) and I don't want to spend
  423.                        more hours looking for bugs that aren't there in the
  424.                        original version.
  425.                        So to all of you who want to try to change it, first
  426.                        make a backup of !DiskBase.
  427.            #           Even loading the !Runimage file in a Basic Editor and
  428.            #           saving it again, without changing anything can corrupt
  429.            #           a Basic file when it is crunched.
  430.            #           Also renumbering the file will result in a CRC-error.
  431.                        This will probably not stop a very determined person
  432.                        to try to mess around in the program, but it will keep
  433.                        the average user from trying to.
  434.                        I also included a textfile named BugReport, which I
  435.                        hope everyone will use to report bugs with.
  436.                        If you answer all the questions in it as good as
  437.                        possible, I probably can trace errors more quickly.
  438.  
  439.                        Fixed a small bug which marked an updated datafile
  440.                        as not updated as soon as Results were saved, instead
  441.                        of the datafile itself.
  442.  
  443.  0.68 (25 June 1993) - No new functionality in this version, only several
  444.                        bug-fixes.
  445.                      - An anoying bug fixed in the code which fixed earlier
  446.                        problems with ArcFS-entries. If an ArcFS-entry was the
  447.                        last entry of a disk, the datafile couldn't be loaded.
  448.                        (If you would do a *SHOW DISK* at the command prompt,
  449.                        you would see:
  450.                        DiskBase$FatalError : Internal error: abort on data
  451.                        transfer at &038B5BCC at line 24630)
  452.                      - Entries of type Squash and SparkDir (SparkFS) were not
  453.                        handled right when a disk was deleted (value of Files
  454.                        was not decremented).
  455.                        For this reason a scan will be done when loading an
  456.                        older datafile, and if the actual number of files,
  457.                        dirs or apps differs from the stored values in the
  458.                        datafile, they will be corrected.
  459.                        Also these type of files weren't printed on a label.
  460.                      - Saving a datafile to a protected disk caused !DiskBase
  461.                        to quit without the file beeing saved.
  462.                      - When STOP was pressed during searching, the actual
  463.                        search stopped but the remaning disks were still
  464.                        counted untill the last one.
  465.                      - Click Select or Adjust on a label on the label-page
  466.                        will now show that label (same as the menu-entry
  467.                        'Show Label')
  468.  
  469.  0.69 (16 Oct 1993)
  470.      - Added the possibility to include DOS-disc partitions and DOS- and
  471.        Atari-formatted diskettes.
  472.        The only drawback is that filenames in DOS- and Atari-format can have
  473.        a length of up to 12 characters and the name-field in the !DiskBase
  474.        datafile is only 10 positions. So the names will be truncated to 10
  475.        positions, conform copying these files to Acorn formatted disks.
  476.        On the 'Add Disk' window is an option button with which you can
  477.        decide to include or exclude DOSdisc partitions (filetype FC8).
  478.        These are normally only found on harddisks.
  479.        Adding DOS- or Atari-formatted floppies is always possible, no
  480.        matter if the button is selected or deselected.
  481.      - I made some changes in the 'Show Disk' area, to have a wider range
  482.        of show-options.
  483.        - If 'Show contents' is deselected, only disknames, date, free-space
  484.          and number of files/directories/applications are given.
  485.        - If 'Show contents' is selected, you have five suboptions to specify
  486.          the level of contents you want to see.
  487.          - If none of the five suboptions is selected, only files/dirs/apps
  488.            in the root-directory of the disk are shown.
  489.            (These files will also appear on the printed label)
  490.          - Otherwise you will be shown the contents of one or more of the
  491.            following items:
  492.            - Directories
  493.            - Applications
  494.            - Archives
  495.            - PackdDir
  496.            - DOSdisc partitions
  497.      - Some speedup is made by updating the activity window less frequently.
  498.      - The Results-window now has the top-line and left-most character neatly
  499.        aligned, so that not only a part of the characters will be shown.
  500.      - Furthermore some bugfixes have been made:
  501.        - Empty directories inside PackdDir-files could result in an invalid
  502.          entry following the directory name, and/or the next file would be
  503.          shown one level too deep.
  504.        - CFS/Squash/SparkDir-files do in fact have two filetypes assosiated
  505.          with them. (e.g. A basic file compressed with CFS has type BASIC
  506.          and type CFS). Previously the search routine didn't find the
  507.          original filetype of compressed files (BASIC in this case).
  508.        - If a file had a wrong filetype of Archive or PackdDir and the file
  509.          was very short (onlya couple of bytes) !DiskBase could get an
  510.          Address Exception Error.
  511.        - During loading a pre-0.69 datafile again a check will be made. The
  512.          check done during loading of version 0.68 fixed a problem with
  513.          deleted Squash- and SparkDir-files only partly. The counter for
  514.          number of files on a disk was not updated. This could result in
  515.          fatal errors during a search.
  516.  
  517.  0.70 (25 Mar 1994)
  518.      Changes made in this version of !DiskBase include:
  519.      - Most actions during multitasking are speeded up by calling WimpPoll
  520.        less frequently (once per 100 milliseconds). This results in a little
  521.        decrease of responsiveness, but a great increase in speed in nearly all
  522.        actions.
  523.        Also the update of the Activity-window is reduced to once per second in
  524.        most circumstances.
  525.      - Interactive help now supported also on menu-items if !DiskBase runs
  526.        under RISC OS 3.
  527.      - Nearly all warnings and errors are now reported in a multitasking
  528.        dialogue box, preventing other applications to freeze when !DiskBase
  529.        reports an error.
  530.        Keyboard input, including 'hot keys' are NOT passed to running
  531.        programs to force you to acknowledge the window first, but other
  532.        processes will continue.
  533.        Also more sensible text is displayed on the button(s) in the error
  534.        window instead of the default 'OK' and 'CANCEL'.
  535.      - The presence of the font specified for printing labels is no longer
  536.        checked during the load of the datafile, but when first opening the
  537.        'Print page' window.
  538.      - In previous versions the end-of-file pointer wasn't reset to the last
  539.        in use record, so there were situations possible that some records at
  540.        the end of the saved file were empty, resulting in a too large file
  541.        being saved.
  542.      - Bugs removed:
  543.         - which could keep the datafile open when a load failed.
  544.         - that gave fatal errors when deleting a disk.
  545.         - the label page was not cleared when a new datafile was loaded,
  546.           resulting in unpredictable but often fatal errors.
  547.         - when a label on de label page was removed while it's preview was
  548.           shown, the preview window stayed open.
  549.  
  550.  0.71 (19 Jul 1994)
  551.      Some of the changes made in this version of !DiskBase are:
  552.      - I finally implemented the code to examine the contents of archives
  553.        created with PKZip. As with most other compession types I didn't have
  554.        any info about the file format, but by decoding several files created
  555.        with PKZip (on MS-DOS) and !SparkFS I was able to track down most bits
  556.        and bytes of the 'directory' of a ZIP-file.
  557.        I used PKZip version 2.04g and !SparkFS 1.25 (with Zip module 0.01)
  558.        The Zip-formats tested are 'Zip No compression', 'Zip Shrink',
  559.        'Zip Implode' and 'Zip Deflate' in DOS-format and Archimedes-format.
  560.        For compatibility with RiscOS 2 I had to write a procedure to convert
  561.        DOS-formatted time and date to RiscOS format. This procedure will fail
  562.        with dates beyond the year 2099. (I suppose this is long enough ;-) at
  563.        least for RiscOS 2. On a RiscOS 3 machine the conversion is done using
  564.        Acorn's SWI "Territory_ConvertOrdinalsToTime" and I don't know if this
  565.        one fails in the far feature)
  566.        If anyone has any other wishes to include decoding of other formats,
  567.        please let me know, but if possible supply me a few examples of files
  568.        in both compressed and uncompressed form or a detailed description of
  569.        the format.
  570.      - Added the filetype '&3FB' so that the new ArcFS-archives will be decoded
  571.        as well as the old ones. (The file-format has not changed as far as I
  572.        know, only the filetype was changed from &DDC to &3FB).
  573.      - Fixed a bug in a procedure called when adding an archive failed.
  574.        In these cases the entries added so far had to be removed, but for some
  575.        entry-types the total amount of entries wasn't decremented, which
  576.        resulted in incorrect STATUS displays and could lead to fatal errors
  577.        during a SEARCH where the total number of entries is used as a counter
  578.        in a loop.
  579.        Loading a file created with an earlier version of !DiskBase will start a
  580.        scan to correct the stored 'total number of entries' in that file.
  581.      - Corrupted archives or very short files with an incorrect filetype of a
  582.        compressed file (Archive, PackdDir, CFS, Squash etc.) could result in
  583.        an unexpected error. I've changed the code to handle this situations
  584.        better.
  585.      - Added a detour to fix the '3D-Bug' when pressing 'Quit' when using
  586.        the 3D-template. (Even if the BorderUtils-patch module is not loaded,
  587.        !DiskBase won't hang your machine anymore)
  588.      - When adding an already existing disk the RESULTS-window is now only
  589.        closed if the question "Disk ... already exist. Update or Cancel" is
  590.        answered with 'Update' but not if answered with 'Cancel'.
  591.  
  592.  0.72 (17 Apr 1995)
  593.    - The main change of this version is a new layout of the datafile, to be
  594.      able to add DOS-files complete with extension (12 characters, 8 + / + 3)
  595.      and to allow 11-character disknames as used in MS-DOS and in CD-ROM
  596.      names.
  597.      I had this change already in mind for some time, but because I also
  598.      implemented code to add CD-ROM's to the datafile, it was a must now.
  599.      Eventhough some CD-ROM's are especially made for RISC OS, they are
  600.      allowed and sometimes have 11-character CD-ROM names. The problem was
  601.      that if I would truncate the name to 10 characters, I would not be able
  602.      to detect duplicates disknames, or I should have checked for the first
  603.      10 characters only. But in that case two names which differ only for the
  604.      11th character, would be wrongly marked as duplicates, so adding the
  605.      second would automatically result in deleting the first one.
  606.      (e.g. adding CLIPART_CD2 after CLIPART_CD1 would delete CLIPART_CD1).
  607.  
  608.      P.S. Eventhough DOS-formatted floppies can have 11 charecter names, only
  609.      the first 10 are returned by 'SYS "OS_GBPB",5' for floppies, so this
  610.      could result in the problem described above when adding DOS-formatted
  611.      floppies with 11 character names (at least using DOSFS 0.43) !!!
  612.  
  613.      Because the layout change was needed to cope with the longer disknames,
  614.      I decided to also change the length of filenames to 12 characters at the
  615.      same time.
  616.      Existing datafiles can be converted by running DBaseCheck. This program
  617.      checks the datafile for integrity, and is able to repair some faults if
  618.      it finds them. If the integrety is determined, it converts the file
  619.      to its new layout if the datafile version is pre-0.72. A logfile of this
  620.      DBaseCheck is created called 'LogHHMMSS' where 'HHMMSS' is the time the
  621.      program was started. The resulting datafile is called 'CorrHHMMSS' if
  622.      only corrections were needed, or 'ConvHHMMSS' if also conversion to the
  623.      new layout is done.
  624.      Please be aware that there is no conversion back possible, so to be on
  625.      the save side, backup your old datafile for a while, just in case....
  626.      If you have to report bugs, caused by the conversion, please include the
  627.      logfile of the conversion.
  628.  
  629.    - Upon loading a datafile a check is done to see if the totals for files,
  630.      directories and applications are correct. In the past sometimes these
  631.      values were incorrect resulting in all kinds of, mostly fatal, errors
  632.      while doing a SEARCH.
  633.      If you want to disable the check (yes it will take some time to check),
  634.      modify 'SetEval DiskBaseCheck 1' in !Run to 'SetEval DiskBaseCheck 0'.
  635.  
  636.    - I've rewritten the code to add ZIP-files completely.
  637.      After the release of version 0.71 I discovered two main problems with
  638.      the previous implementation. First of all, when examining a ZIP-file
  639.      created with !SparkFS, all entries are normally in alphabetical order,
  640.      unless files are added later on. And ZIP-files created with MS-DOS
  641.      zippers are hardly ever sorted. This resulted in very strange displays
  642.      when these ZIP-files were added.
  643.      The other main problem was that ZIP-files can have extra data tagged
  644.      to the end of the file, and this type of files were not decoded by
  645.      !DiskBase.
  646.  
  647.    - Also the code for using wildcards is changed. Now both '*' and '#'
  648.      characters are allowed in any combination, where '#' represents any
  649.      single character and '*' represents any string of 0 or more characters.
  650.  
  651.    - After receiving several requests shortly after each other, I added an
  652.      option to configure the depth of the shown entrynames on printlabels.
  653.  
  654.    - Again several smaller bugfixes were made:
  655.      - An invalid DOS-image resulted in a corrupt datafileif it was the last
  656.        file of a disk.
  657.      - Doing a SEARCH twice in a row could result in missing line(s) at the
  658.        beginning of the RESULTS-window.
  659.      - The RAMTransfer was blocked by not including the 'Message-RAMFetch'
  660.        in 'Wimp_Initialise'.
  661.      - In certain conditions the procedure loading datafiles could loop
  662.        infinitely.
  663.      - Showing free space on disks wasn't using OS_ConvertFixedFileSize, so
  664.        displayed 159723 K in stead of 159 M.
  665.      - Scroll requests for page-down or page-left did skip one line/character
  666.        too much (not showing one line or row).
  667.      - Several small cosmetic or speed increasing changes were made.
  668.  
  669.  0.73 (13 Nov 1995)
  670.    - In version 0.72 an old problem reappeared, resulting in the inability to
  671.      add harddisks when certain SCSI-interfaces where used. If the SWI-prefix
  672.      was different from the filingsystem-name, the following error occurred:
  673.      "SWI name not known (internal error code 11850)".
  674.      For this problem I made a small patch program, which fixed the program
  675.      and modified the version to '0.72P'. This fix is of course also one of
  676.      the bug-fixes for release 0.73.
  677.    - One other main problem of 0.72 was the fact that corrupted or very
  678.      large ZIP-files could grab extra memory which was was never returned to
  679.      the Wimp if no longer needed or if the add failed for some reason.
  680.      Now after adding a ZIP-file, at the end of adding a disk, or after some
  681.      error situations, memory that is claimed before is returned to the Wimp
  682.      if unused.
  683.    - The templates used for reporting errors are modified to prevent keyboard
  684.      input to appear in the error window.
  685.      The error window is now also draggable to allow you to see what is under
  686.      it, but the window will always pop up at the centre of the screen, and
  687.      will be pushed on top of the window-stack. In the previous release an
  688.      other task's window could be opened on top of the error window.
  689.      Also the window title will now change to indicate the type of message
  690.      being reported.
  691.    - Adding DOS discs or CD-ROM's could result in the error:
  692.      "Bad file name '...' (internal error code 18330)". This happened if
  693.      the filename had an for RISC OS special character in its name, but which
  694.      is allowed for DOS. (eg. @ # & etc.) This has been fixed now.
  695.    - Fixed a problem for very small ZIP-files resulting in the message
  696.      "Error 3 in Archive (ZIP)".
  697.    - Several extra checks are made when adding ZIP-files to prevent corrupted
  698.      ZIP-files resulting in unusual errors. Also changed all the messages to
  699.      more or less meaningfull text instead of an error number.
  700.    - The PAUSE button on the activity-window wasn't functioning any more.
  701.      Fixed it. Also the activity window won't close now before an action is
  702.      completely finished, including internal housekeeping.
  703.    - When !DiskBase was quit from the taskmanager or the WIMP did a complete
  704.      shutdown, while !DiskBase was active, !DiskBase kept running. I modified
  705.      the code so now you have to abort the activity before !DiskBase can
  706.      quit.
  707.      Also when !DiskBase had unsaved data when a quit from the taskmanager or
  708.      a WIMP shutdown was done, !DiskBase didn't react as it should. This has
  709.      also been fixed
  710.  
  711.  0.74 (13 Jun 1996)
  712.    - The major change in this release is that when displaying the results of
  713.      a DUPLICATES, the full pathname of the reported files are shown, and not
  714.      only the names of the disks on which these files reside, so you can
  715.      easely find the files shown.
  716.    - Also the same (assembler) code that builds the info for the RESULTS
  717.      window is now used when a SAVE of the RESULTS is done. In the past, a
  718.      seperate (BASIC) procedure was used for this saving, so that the saved
  719.      info could have a different layout.
  720.    - The speed of saving RESULTS is also improved by not writing evry single
  721.      line to disk, but using a 4K buffer, and write this to disk when it is
  722.      (nearly) filled.
  723.    - The sort that was done at the start of a DUPLICATES sorted one entry too
  724.      less, resulting in the possibility that in some cases one entry was not
  725.      shown as a duplicate.
  726.    - I've found some CD's which do have 12 character CD-names. Part of the
  727.      procedures of !DiskBase could cope with this, others failed when a 12
  728.      character name was added. This has been fixed
  729.    - Finally, I've changed !DBaseCheck to be a WIMP application (!DBaseChk),
  730.      in which the file to be checked, and the pathnames for the logfile and
  731.      the converted file (in case a conversion to a newer format is needed)
  732.      can be filled in by dragging or dropping files.
  733.      The actual checking however is still not multitasking! I think it is
  734.      not worth the effort to change this, for the occasional use of this
  735.      application.
  736.  
  737.  0.75 (14 Oct 1996)
  738.    - The first problem in !DiskBase I encountered after upgrading from an
  739.      A340 to a RiscPC, was that if a user has two different filing systems
  740.      both having equal drive numbers, !Diskbase had no way of adding both
  741.      disks. (e.g. I couldn't add my SCSI::4 as icon 4 pointed to ADFS::4
  742.      and although icon 5 in the 'Add Disk' window was also enabled, it did
  743.      not point to SCSI::4).
  744.      So I added some icons and logic to let the user select a filing system,
  745.      after which !DiskBase will check the drives present for that particular
  746.      filing system.
  747.    - The static heap I used to use is changed to a sliding heap, which also
  748.      makes use of Dynamic Areas if the program is run on a Risc PC.
  749.      For the source and an explanation of this heap written by Alan Wrigley
  750.      see "Risc User" volume 9, issue 1 (November 1995), and the modification
  751.      in volume 9 issue 6 (May 1996), pg. 43.
  752.    - As a result of a change in version 0.74, an explicit DELETE of a disk
  753.      could cause a infinite loop, but deleting a disk by adding one with the
  754.      same name didn't suffer from this. This is now fixed.
  755.    - Clicking on lines of the RESULTS window when results of a DUPLICATES
  756.      were shown, gave incorrect actions. This has been fixed now.
  757.    - Several minor changed both cosmetic and functional were implemented as
  758.      well.
  759.    - One of the issues to be taken care of in a next release will be the use
  760.      of the Wimp-font as configured on Risc OS 3.50 and above in the RESULTS
  761.      window, without loosing the alignment of the column layout. This will
  762.      probably need quite some change of the redraw code, but that was not
  763.      feasible at the moment.
  764.    - One more point is that I've always done my best to stay compatible with
  765.      Risc OS 2.00, but as I've no way of testing this anymore, I will no
  766.      longer try to be compatible with this Risc OS version.
  767.      Even testing all code on Risc OS 3.10 myself will be quite hard to
  768.      accomplish, but I will do all I can, or try to find some beta-testers
  769.      for this.
  770.  
  771.