home *** CD-ROM | disk | FTP | other *** search
- History (up to version 0.75)
- -------
-
- Modifications of the current version can be found in !Help.
-
- 0.50 (23 Jan 1991) - First release of !DiskBase. Running in Wimp but
- individual actions not yet multitasking.
-
- 0.51 (02 Feb 1991) - Fixed a bug in DUPLICATES. Too many entries were
- accused of being duplicates.
-
- 0.52 (13 Feb 1991) - Created fully multitasking actions. (ADD, DELETE,
- SHOW, SEARCH, DUPLICATES)
-
- 0.53 (23 Feb 1991) - Results can be placed in a textfile on disk or copied
- (via RAMtransmit) to another task e.g. printerdriver,
- !Edit/!DTP etc.
-
- 0.54 (23 Mar 1991) - Some bugs fixed. (Nasty one in finding duplicates)
-
- 0.55 (04 Jun 1991) - Fixed some bugs in allocating memory, case-sensitivity
- of diskname of Duplicates, closing datafile if loading
- of it failed, and bugs in saving results file fixed.
- Furthermore created sub-options in Duplicates for the
- type of report.
-
- 0.56 (23 Jun 1991) - Added the option in SEARCH to include/exclude disks.
- Also added the option to start files/applications or
- open directories by double clicking on a line of the
- RESULTS window.
-
- 0.57 (29 Aug 1991) - !DiskBase now only momentarily changes the CSD during
- the addition of a disk directory but will restore it
- before leaving this procedure.
- Bug, resulting in a program crash when a SAVE failed,
- fixed.
- Added the Print DiskLabel option.
-
- 0.58 (14 Nov 1991) - Removed the resetting of the CSD added in version 0.57
- because it could intermittently result in
- "FileCore in use" errors. (Depending on DirCache-size
- and/or Buffer-size of filing system).
- - Created a multi-level menu-structure for fonts in
- DiskLabel option, using FontMenu module designed by
- Joris RĂ–ling.
- - Adding and deleting disks is now done from a window
- (staying open) instead of from a submenu.
- The contents of an archive file is now examined and
- stored when adding a disk.
- - DiskBase now also supports SCSI and IDE filing systems
- so that harddisks with these filing systems can also
- be stored. Due to the way information was stored in
- the datafile I had to decide to store sizes of archive
- files and directories in Kbytes (in 3 bytes, max size
- 16777 Mb) while applications sizes stay in bytes
- (also in 3 bytes, so max application size is 16 Mb
- bytes). Reason was that a maximum directory size of
- 16 Mbytes is far too less for harddisks.
- Also filing system for each disk is now stored.
- - Conversion of an older datafile when loaded in
- !DiskBase 0.58 is done automatically. Consequence is
- that when afterwards this updated file should be used
- with an older version of !DiskBase, an incorrect size
- of directories is shown. Also since the 0.58 version
- knows a new entrytype for archive files added with
- the 0.58 !DiskBase, these files won't be recognised
- as files or archives when used afterwards with an
- earlier release.
-
- WARNING: Of course converting the datafile can't
- automatically update the file with the contents of
- the archive files, so you have to SEARCH yourself for
- archive files (filetype &DDC) and then ADD all disks
- containing archives to modify the datafile to contain
- the contents of any archive files !!!!
-
- 0.59 (27 Dec 1991) - Main reason for this release was the fixing of some
- bugs.
- When deleting disks containing archives the number of
- files wasn't decremented for deleted archives.
-
- When an ADD of the contents of an archive file failed,
- that disk wasn't added at all. Now changed into adding
- the disk without adding the contents. In the ADD DISK
- window is a choice for an optional warning if an ADD
- of the contents of an archive fails.
-
- Displaying file sizes in the RESULTS window is now
- done using the SWI OS_ConvertFixedFileSize so that a
- RISCOS consistent display is given.
-
- When clicking on a line in the RESULTS window versions
- below 0.59 called Wimp_StartTask also if it is a file
- that should be run/started. This always causes a new
- application being started, even if there is one copy
- of that application already running. (e.g. clicking on
- a TEXT-type file when !Edit is already running starts
- another !Edit, instead of the running !Edit loading
- the textfile).
- Version 0.59 makes use of the Filer_Run syntax to
- run/start a file, if RISCOS 3.0 is used !!!
- This acts as double clicking on a file in a directory
- viewer, so no other copy of an application is started
- if it is not necessary. (e.g. the already running
- !Edit will load the textfile).
- In RISCOS 2.0 this facility is not available and the
- other method is still used !!!
- It is also possible to click not directly on a file
- in the RESULT window, but on the directory the file
- is in, and then double click on the icon in the
- directory viewer.
-
- 0.60 (20 Jan 1992) - Added the summary option in SHOW. It gives a easier
- to read overview of the contents of a disk.
-
- - Now if RISCOS 2.0 is used !DiskBase uses the broadcast
- Message_DataOpen to see if an application is already
- running that is capable to load the selected file.
- If not, that application is started by a *RUN of that
- particular file. (See also the history of 0.59)
-
- - Some (minor) speedup of the redrawing of the RESULTS
- window by changing the code and by deleting the word
- 'bytes' when displaying entry sizes. (Even more RISCOS
- compliant as well).
-
- - Rectified several (grammatical) errors in this Readme
- file. (Thanks to Kees Breet for his spelling checking)
-
- 0.61 (24 Feb 1992) - Size/filetype/timestamp of CFS-files shown now are the
- ones of the uncompressed files. Previously files all
- showed up with filetype of 'CFSlzw' and size/timestamp
- of compressed file.
-
- Already made provisions to show the difference of
- archives made by !Spark and !ArcFS. !Spark archives
- are shown with a 'S' and !ArcFS files with an 'A'.
- At the moment all archives are shown as !Spark-files,
- even if they are created by !ArcFS. In the latter case
- however, no contents of the archive is shown. As soon
- as I have enough details of the layout of !ArcFS files
- I will implement the decoding and the correct display
- ('A') of the files.
-
- - Fixed a bug concerning SEARCH. Previously doing a
- SEARCH for files and/or directories also showed all
- archive files. Same type of error fixed in DUPLICATES.
-
- - Got some complains about !DiskBase's menu opened after
- opening a RESULT window. Problem was that RISCOS 2
- doesn't tell an application that it's menu is closed
- (by clicking the Menu-button on another application
- for instance). But at the end of an action !DiskBase
- had to unshade several menu-items, if the menu was
- still (or again) open, by doing a re-open. This
- resulted in any other menu being closed.
- What !DiskBase does now is saving the handle of
- the menu (actually a window) as soon as you click on
- one of the options of the main menu (not the submenus)
- so it can check at the end of an action if the menu is
- still open. So if you click on 'Status', 'Add disk' or
- 'Delete disk' at the start of the application, all
- future re-opens of the main menu are done only if
- necessary.
-
- - !DiskBase now makes use of Acorn's Interactive Help.
- When !Help (found on Acorn's Application disk 1) runs,
- help info is shown appropriate for the window/icon the
- pointer is over.
-
- - All warning- and error-messages are now gathered in
- the file Messages, and via the MessageTrans (MgsTrans)
- module loaded when needed. So now its possible for any
- user to translate the messages to his choice.
-
- - Added the percentage in the hourglass during the save
- of results. Because of the long time it can take to
- save these (every line of text has to be formed during
- this save), the ESCAPE key is enabled now during save,
- to be able to abort it.
- If you save results directly to an application using
- RAMtransmit (e.g. !Edit etc.) you have to press ESCAPE
- twice. On fail of a RAMtransmit, RISCOS restarts the
- save via a scrapfile. The second ESCAPE is needed to
- abort this.
-
- - Changed the Activity window. Layout is RISCOS 3 now,
- and I added some more control during actions.
- ABORT and PAUSE are self explaining.
- FAST will make !DiskBase monotasking, resulting in all
- other jobs being paused. Pressing ESCAPE (long enough)
- results in !DiskBase continuing multitasking again.
- STOP will abort the action, but results found so far
- will be shown if possible.
-
- 0.62 (27 Mar 1992) - Archives created by ArcFS can now also be handled by
- !DiskBase.
-
- - Fixed several bugs introduced when I implemented the
- handling of CFS-files.
- When disks containing CFS-files where deleted, the
- number of files wasn't decreased correctly.
- Also applications and directories containing CFS-files
- are now shown with their original sizes instead of the
- compacted sizes. This is necessary for finding
- duplicates and more consisted with the way sizes of
- applications and directories are shown inside archive
- files. So this also fixed some errors in finding
- duplicates.
- The colour of CFS-files when shown in a result window
- is now black, being more appropriate because it is
- always a single file, and light blue is now reserved
- for archive files only.
-
- - Added the 'Press ESCAPE for multitasking' warning in
- the Activity window when FAST (monotasking) was
- selected during an action.
-
- - When adding a disk resulted in deleting that existing
- disk first will now again update the Status window in
- between.
-
- 0.63 (24 Apr 1992) - Removed a bug which resulted in intermittent failing
- to setup the saved fontname correctly after loading
- a datafile or causing warnings like:
- Font 'Corpus.Bold' not available.
- Using 'Corpus.Bold' instead for printlabel option.
- - Added 'Free xx K' on a printed label.
- - Added the possibility to change the dimensions of the
- printed disklabel, and the way positioning of it on
- paper is done.
- !DiskBase now stores labelsizes, number of labels per
- row and column, and gaps between the labels.
- !DiskBase prints labels one at the time, but it would
- be nicer to be able to queue the labels until one
- sheet of paper is filled and then print them all
- together I'm thinking of implementing this but I'm
- not quite sure how to do it.
-
- 0.64 (26 Aug 1992) - Removed some bugs resulting in 'Address exception'
- errors when selected font was not available.
- - Removed bug resulting in 'Access to window denied' if
- ESCAPE was pressed when monotasking and mouse buffer
- was not empty.
- - Possibly ADFS-harddisks where counted twice in earlier
- releases. Corrected now.
- - Printed labels didn't show CFS-files in '$'-directory.
- - Contents of PackDir (by J.Korting) files are decoded
- now and stored as entries is the datafile.
- - When an error occurs during monotasking, will switch
- over to multitasking to prevent possible system hang.
- - In earlier versions, switching mode with a closed
- printlabel-window didn't rescale the selected font.
- - Option added to reverse the printed label for ease of
- use in diskette boxes (of flipover type).
-
- 0.65 (21 Nov 1992) - Changed coding to prevent problems with filing systems
- (like Morley SCSI) with SWI-names inconsistent with
- filing system name (SWI-prefix 'SCSIFS_')
- - In version 0.64 only PackDir files with 13 bits
- compression where decoded. Removed this bug.
- - Changes made in printing procedure to be able to queue
- a complete page before printing.
- - Updated interactive help messages where appropriate.
- (wasn't done the last few releases.)
- - On the printed label a date is printed now. This is the
- date the disk was added to !DiskBase, so the date the
- printed info is gathered.
-
- 0.66 (27 Feb 1993) - Added code to allow contents of Squash- and SparkFS
- SparkDir-files to be examined.
- - Rewritten the code for displaying the Results-window.
- When performing Show/Search/Duplicates, only an array
- of pointers to valid entrynames is created.
- When displaying the results, for each pointer a
- conversion to a textual string is needed before this
- can be shown in the results-window (only the visible
- lines are decoded). So during a scroll, or redrawing
- the window, again a conversion needs to be done.
- To speed up this process I've rewritten the major part
- of the routine in assembler, which speeded up the
- redraw by 20-30%.
- Some minor layout changes of the results are made.
- - Solid icon drag for save of datafile and resultsfile
- implemented (although not fully satisfactory yet).
- - Show and Search are speeded up if the diskname doesn't
- start with a wildcard. Before the operation begins a
- binary search is done in the diskname-list so that
- only disks with valid names are scanned anyway.
- (Before this was done during the Show or Search, and
- when a not valid diskname was found, that disk was
- also skipped, but the process took much longer then).
- - Furthermore some bugs fixed:
- - Sizes of directories inside ArcFS archives were a
- factor 10 too big. Newly added ArcFS archives will
- now be OK.
- - If the first entry of a PackdDir file was an
- application, the size was a factor 10 too small.
- Also if the only entry of a PackdDir file was an
- empty directory, one invalid extra entry was added.
- - For some filetypes the space of names shorter than
- 10 characters was not always filled with &00.
- This resulted in a corrupted results display using
- the new (assembler) display routines.
- This could also prevent files not being recognised
- as duplicates of each other.
- # Therefore during the loading of a pre-0.66 datafile,
- # a scan of the file is done, and this will repair all
- # invalid entrynames.
- # It will also repair the wrong directory- and
- # application-sizes as described above.
- # The only problem with this is that application sizes
- # inside PackdDir files in previous versions were
- # rounded to 1 kB sizes, whereas other application-
- # sizes were stored with the exact amount of bytes.
- # This will prevent the Duplicates-function to find
- # a duplicate between an application inside a PackdDir
- # file and the same one stored outside a PackdDir-file
- # when 'Compare timestamps/sizes' is set.
- # The only way to fix this is to re-enter all the
- # disks containing PackdDir files in the database.
- Once a database is repaired, a save of the file will
- mark the file as being repaired and the next load of
- it doesn't need to be scanned anymore.
-
- 0.67 (31 Mar 1993) - I finally found the reason for errors reported by some
- users resulting in corrupted datafiles.
- Symptoms were errors like 'Number too big' during
- SEARCH, 'String too long' during SHOW or a SEARCH
- continued far over 100%, finally resulting in
- 'Address exception' etc.
- The cause for this error to occur was the adding of
- disk numbers 129,257,385 etc., and the disk(s) there
- after, resulting in the number of entries becoming a
- multiple of 512.
- In both occasions the heapmanager could decide to move
- the blocks inside the heap. Because at some points I
- didn't recalculate the pointer to the record I was
- updating at that time, the 'update' could be done in a
- random other record, resulting in this corruption.
-
- To find one of these types of corruption do a SHOW
- with 'Names only' and check the number of
- dirs/apps/files.
- If for some disk(s) this is '16777215 / -1 / -1', the
- datafile is surely corrupted.
-
- In this version of !DiskBase I have included a small
- program called DBaseCheck, which you can use to check
- your datafile if you think it has a problem.
- This program will try to fix errors as far as possible
- or will tell you which disk(s) you have to add again
- to remove the corruption(s). In some situations it can
- not decide if something is a real corruption.
- (e.g. file-timestamps of &FFFFFFFF &FFFFFFFF)
- You can test this by adding the disk to an empty
- datafile (start !DiskBase 0.67 without loading a
- datafile), add the suspected disk and save the file.
- If checking this file results in the same warning(s)
- then there are NO errors.
- Unfortunately DBaseCheck can't find nor fix all
- possible errors. It will tell you if a datafile is not
- repairable, but it can't find errors like incorrect
- filesizes (e.g. size=12 bytes instead of 135K etc),
- or corrupted timestamps. So be aware.
-
- When you double-clicked on a CFS file of a pre-0.67
- version !DiskBase gave a warning that it couldn't
- start/run a file compressed by CFS. This warning is
- no longer needed. It is possible to start/run a CFS
- file, by altering the 'Alias$@RunType_D96'.
- The best places to do this is in the !Boot and !Run
- files of !CFS itself. If you change the line
- Set Alias$@RunType_D96 "Set Dummy$Variable "
- to Set Alias$@RunType_D96 Filer_Run CFS#%0
- you will always be able to run/start a CFS-file by
- double-clicking (from the RESULTS window as well as
- from an ADFS filer-window, without having to open
- the CFS filer window).
-
- If you double-click a squashed file, you will be given
- a warning that if you continue, this double-click will
- only replace the squashed file, without it being run.
- This is the way Squash works.
- Double-clicking an application that has one or more
- squashed files in it, could also result in some of
- these files being unsquashed. But this time !DiskBase
- won't give a warning, simply because it will not check
- the files inside the application before starting it.
- (The same thing occurs when you start an application
- in a filer window by double-clicking)
- Squash won't squash very short files, so often the
- !Run file is unsquashed, and thus will be run when you
- start the application. This in turn will nearly always
- run a !RunImage file. If this one is squashed, Squash
- will unsquash it without running it.
- (Alias$@RunType_FCA : Run <path>.!Squash.!Run %*0
- only unsquashes a file, it won't run it afterwards).
- So be aware of this if you use Squash.
- One other thing to keep in mind if that unsquashing
- file(s) will of course result in your datafile not
- matching your disk(s) anymore, so you should also ADD
- the disk(s) again to have your datafile up-to-date!
-
- Another change I've made is that all assembler code
- is now gathered in a file called 'CodeFile' and not
- any longer in the !RunImage file itself. This has two
- main advantages: the code doesn't have to be assembled
- at startup time (so startup is faster) and less memory
- is used (now only assembled code is in memory, not the
- Basic lines containing the non-assembled code).
- Also the file 'HeapCode' is no longer needed, because
- this code is also included in CodeFile.
-
- Also after loading the !RunImage file a CRC-check is
- done over the !RunImage-file.
- If this check fails, !DiskBase will not run anymore!
- This I have added because it often happens that I get
- bugreports about !DiskBase versions in which !RunImage
- files aren't the original files anymore (so someone
- has changed the file, even though it is a crunched
- one, so very hard to read) and I don't want to spend
- more hours looking for bugs that aren't there in the
- original version.
- So to all of you who want to try to change it, first
- make a backup of !DiskBase.
- # Even loading the !Runimage file in a Basic Editor and
- # saving it again, without changing anything can corrupt
- # a Basic file when it is crunched.
- # Also renumbering the file will result in a CRC-error.
- This will probably not stop a very determined person
- to try to mess around in the program, but it will keep
- the average user from trying to.
- I also included a textfile named BugReport, which I
- hope everyone will use to report bugs with.
- If you answer all the questions in it as good as
- possible, I probably can trace errors more quickly.
-
- Fixed a small bug which marked an updated datafile
- as not updated as soon as Results were saved, instead
- of the datafile itself.
-
- 0.68 (25 June 1993) - No new functionality in this version, only several
- bug-fixes.
- - An anoying bug fixed in the code which fixed earlier
- problems with ArcFS-entries. If an ArcFS-entry was the
- last entry of a disk, the datafile couldn't be loaded.
- (If you would do a *SHOW DISK* at the command prompt,
- you would see:
- DiskBase$FatalError : Internal error: abort on data
- transfer at &038B5BCC at line 24630)
- - Entries of type Squash and SparkDir (SparkFS) were not
- handled right when a disk was deleted (value of Files
- was not decremented).
- For this reason a scan will be done when loading an
- older datafile, and if the actual number of files,
- dirs or apps differs from the stored values in the
- datafile, they will be corrected.
- Also these type of files weren't printed on a label.
- - Saving a datafile to a protected disk caused !DiskBase
- to quit without the file beeing saved.
- - When STOP was pressed during searching, the actual
- search stopped but the remaning disks were still
- counted untill the last one.
- - Click Select or Adjust on a label on the label-page
- will now show that label (same as the menu-entry
- 'Show Label')
-
- 0.69 (16 Oct 1993)
- - Added the possibility to include DOS-disc partitions and DOS- and
- Atari-formatted diskettes.
- The only drawback is that filenames in DOS- and Atari-format can have
- a length of up to 12 characters and the name-field in the !DiskBase
- datafile is only 10 positions. So the names will be truncated to 10
- positions, conform copying these files to Acorn formatted disks.
- On the 'Add Disk' window is an option button with which you can
- decide to include or exclude DOSdisc partitions (filetype FC8).
- These are normally only found on harddisks.
- Adding DOS- or Atari-formatted floppies is always possible, no
- matter if the button is selected or deselected.
- - I made some changes in the 'Show Disk' area, to have a wider range
- of show-options.
- - If 'Show contents' is deselected, only disknames, date, free-space
- and number of files/directories/applications are given.
- - If 'Show contents' is selected, you have five suboptions to specify
- the level of contents you want to see.
- - If none of the five suboptions is selected, only files/dirs/apps
- in the root-directory of the disk are shown.
- (These files will also appear on the printed label)
- - Otherwise you will be shown the contents of one or more of the
- following items:
- - Directories
- - Applications
- - Archives
- - PackdDir
- - DOSdisc partitions
- - Some speedup is made by updating the activity window less frequently.
- - The Results-window now has the top-line and left-most character neatly
- aligned, so that not only a part of the characters will be shown.
- - Furthermore some bugfixes have been made:
- - Empty directories inside PackdDir-files could result in an invalid
- entry following the directory name, and/or the next file would be
- shown one level too deep.
- - CFS/Squash/SparkDir-files do in fact have two filetypes assosiated
- with them. (e.g. A basic file compressed with CFS has type BASIC
- and type CFS). Previously the search routine didn't find the
- original filetype of compressed files (BASIC in this case).
- - If a file had a wrong filetype of Archive or PackdDir and the file
- was very short (onlya couple of bytes) !DiskBase could get an
- Address Exception Error.
- - During loading a pre-0.69 datafile again a check will be made. The
- check done during loading of version 0.68 fixed a problem with
- deleted Squash- and SparkDir-files only partly. The counter for
- number of files on a disk was not updated. This could result in
- fatal errors during a search.
-
- 0.70 (25 Mar 1994)
- Changes made in this version of !DiskBase include:
- - Most actions during multitasking are speeded up by calling WimpPoll
- less frequently (once per 100 milliseconds). This results in a little
- decrease of responsiveness, but a great increase in speed in nearly all
- actions.
- Also the update of the Activity-window is reduced to once per second in
- most circumstances.
- - Interactive help now supported also on menu-items if !DiskBase runs
- under RISC OS 3.
- - Nearly all warnings and errors are now reported in a multitasking
- dialogue box, preventing other applications to freeze when !DiskBase
- reports an error.
- Keyboard input, including 'hot keys' are NOT passed to running
- programs to force you to acknowledge the window first, but other
- processes will continue.
- Also more sensible text is displayed on the button(s) in the error
- window instead of the default 'OK' and 'CANCEL'.
- - The presence of the font specified for printing labels is no longer
- checked during the load of the datafile, but when first opening the
- 'Print page' window.
- - In previous versions the end-of-file pointer wasn't reset to the last
- in use record, so there were situations possible that some records at
- the end of the saved file were empty, resulting in a too large file
- being saved.
- - Bugs removed:
- - which could keep the datafile open when a load failed.
- - that gave fatal errors when deleting a disk.
- - the label page was not cleared when a new datafile was loaded,
- resulting in unpredictable but often fatal errors.
- - when a label on de label page was removed while it's preview was
- shown, the preview window stayed open.
-
- 0.71 (19 Jul 1994)
- Some of the changes made in this version of !DiskBase are:
- - I finally implemented the code to examine the contents of archives
- created with PKZip. As with most other compession types I didn't have
- any info about the file format, but by decoding several files created
- with PKZip (on MS-DOS) and !SparkFS I was able to track down most bits
- and bytes of the 'directory' of a ZIP-file.
- I used PKZip version 2.04g and !SparkFS 1.25 (with Zip module 0.01)
- The Zip-formats tested are 'Zip No compression', 'Zip Shrink',
- 'Zip Implode' and 'Zip Deflate' in DOS-format and Archimedes-format.
- For compatibility with RiscOS 2 I had to write a procedure to convert
- DOS-formatted time and date to RiscOS format. This procedure will fail
- with dates beyond the year 2099. (I suppose this is long enough ;-) at
- least for RiscOS 2. On a RiscOS 3 machine the conversion is done using
- Acorn's SWI "Territory_ConvertOrdinalsToTime" and I don't know if this
- one fails in the far feature)
- If anyone has any other wishes to include decoding of other formats,
- please let me know, but if possible supply me a few examples of files
- in both compressed and uncompressed form or a detailed description of
- the format.
- - Added the filetype '&3FB' so that the new ArcFS-archives will be decoded
- as well as the old ones. (The file-format has not changed as far as I
- know, only the filetype was changed from &DDC to &3FB).
- - Fixed a bug in a procedure called when adding an archive failed.
- In these cases the entries added so far had to be removed, but for some
- entry-types the total amount of entries wasn't decremented, which
- resulted in incorrect STATUS displays and could lead to fatal errors
- during a SEARCH where the total number of entries is used as a counter
- in a loop.
- Loading a file created with an earlier version of !DiskBase will start a
- scan to correct the stored 'total number of entries' in that file.
- - Corrupted archives or very short files with an incorrect filetype of a
- compressed file (Archive, PackdDir, CFS, Squash etc.) could result in
- an unexpected error. I've changed the code to handle this situations
- better.
- - Added a detour to fix the '3D-Bug' when pressing 'Quit' when using
- the 3D-template. (Even if the BorderUtils-patch module is not loaded,
- !DiskBase won't hang your machine anymore)
- - When adding an already existing disk the RESULTS-window is now only
- closed if the question "Disk ... already exist. Update or Cancel" is
- answered with 'Update' but not if answered with 'Cancel'.
-
- 0.72 (17 Apr 1995)
- - The main change of this version is a new layout of the datafile, to be
- able to add DOS-files complete with extension (12 characters, 8 + / + 3)
- and to allow 11-character disknames as used in MS-DOS and in CD-ROM
- names.
- I had this change already in mind for some time, but because I also
- implemented code to add CD-ROM's to the datafile, it was a must now.
- Eventhough some CD-ROM's are especially made for RISC OS, they are
- allowed and sometimes have 11-character CD-ROM names. The problem was
- that if I would truncate the name to 10 characters, I would not be able
- to detect duplicates disknames, or I should have checked for the first
- 10 characters only. But in that case two names which differ only for the
- 11th character, would be wrongly marked as duplicates, so adding the
- second would automatically result in deleting the first one.
- (e.g. adding CLIPART_CD2 after CLIPART_CD1 would delete CLIPART_CD1).
-
- P.S. Eventhough DOS-formatted floppies can have 11 charecter names, only
- the first 10 are returned by 'SYS "OS_GBPB",5' for floppies, so this
- could result in the problem described above when adding DOS-formatted
- floppies with 11 character names (at least using DOSFS 0.43) !!!
-
- Because the layout change was needed to cope with the longer disknames,
- I decided to also change the length of filenames to 12 characters at the
- same time.
- Existing datafiles can be converted by running DBaseCheck. This program
- checks the datafile for integrity, and is able to repair some faults if
- it finds them. If the integrety is determined, it converts the file
- to its new layout if the datafile version is pre-0.72. A logfile of this
- DBaseCheck is created called 'LogHHMMSS' where 'HHMMSS' is the time the
- program was started. The resulting datafile is called 'CorrHHMMSS' if
- only corrections were needed, or 'ConvHHMMSS' if also conversion to the
- new layout is done.
- Please be aware that there is no conversion back possible, so to be on
- the save side, backup your old datafile for a while, just in case....
- If you have to report bugs, caused by the conversion, please include the
- logfile of the conversion.
-
- - Upon loading a datafile a check is done to see if the totals for files,
- directories and applications are correct. In the past sometimes these
- values were incorrect resulting in all kinds of, mostly fatal, errors
- while doing a SEARCH.
- If you want to disable the check (yes it will take some time to check),
- modify 'SetEval DiskBaseCheck 1' in !Run to 'SetEval DiskBaseCheck 0'.
-
- - I've rewritten the code to add ZIP-files completely.
- After the release of version 0.71 I discovered two main problems with
- the previous implementation. First of all, when examining a ZIP-file
- created with !SparkFS, all entries are normally in alphabetical order,
- unless files are added later on. And ZIP-files created with MS-DOS
- zippers are hardly ever sorted. This resulted in very strange displays
- when these ZIP-files were added.
- The other main problem was that ZIP-files can have extra data tagged
- to the end of the file, and this type of files were not decoded by
- !DiskBase.
-
- - Also the code for using wildcards is changed. Now both '*' and '#'
- characters are allowed in any combination, where '#' represents any
- single character and '*' represents any string of 0 or more characters.
-
- - After receiving several requests shortly after each other, I added an
- option to configure the depth of the shown entrynames on printlabels.
-
- - Again several smaller bugfixes were made:
- - An invalid DOS-image resulted in a corrupt datafileif it was the last
- file of a disk.
- - Doing a SEARCH twice in a row could result in missing line(s) at the
- beginning of the RESULTS-window.
- - The RAMTransfer was blocked by not including the 'Message-RAMFetch'
- in 'Wimp_Initialise'.
- - In certain conditions the procedure loading datafiles could loop
- infinitely.
- - Showing free space on disks wasn't using OS_ConvertFixedFileSize, so
- displayed 159723 K in stead of 159 M.
- - Scroll requests for page-down or page-left did skip one line/character
- too much (not showing one line or row).
- - Several small cosmetic or speed increasing changes were made.
-
- 0.73 (13 Nov 1995)
- - In version 0.72 an old problem reappeared, resulting in the inability to
- add harddisks when certain SCSI-interfaces where used. If the SWI-prefix
- was different from the filingsystem-name, the following error occurred:
- "SWI name not known (internal error code 11850)".
- For this problem I made a small patch program, which fixed the program
- and modified the version to '0.72P'. This fix is of course also one of
- the bug-fixes for release 0.73.
- - One other main problem of 0.72 was the fact that corrupted or very
- large ZIP-files could grab extra memory which was was never returned to
- the Wimp if no longer needed or if the add failed for some reason.
- Now after adding a ZIP-file, at the end of adding a disk, or after some
- error situations, memory that is claimed before is returned to the Wimp
- if unused.
- - The templates used for reporting errors are modified to prevent keyboard
- input to appear in the error window.
- The error window is now also draggable to allow you to see what is under
- it, but the window will always pop up at the centre of the screen, and
- will be pushed on top of the window-stack. In the previous release an
- other task's window could be opened on top of the error window.
- Also the window title will now change to indicate the type of message
- being reported.
- - Adding DOS discs or CD-ROM's could result in the error:
- "Bad file name '...' (internal error code 18330)". This happened if
- the filename had an for RISC OS special character in its name, but which
- is allowed for DOS. (eg. @ # & etc.) This has been fixed now.
- - Fixed a problem for very small ZIP-files resulting in the message
- "Error 3 in Archive (ZIP)".
- - Several extra checks are made when adding ZIP-files to prevent corrupted
- ZIP-files resulting in unusual errors. Also changed all the messages to
- more or less meaningfull text instead of an error number.
- - The PAUSE button on the activity-window wasn't functioning any more.
- Fixed it. Also the activity window won't close now before an action is
- completely finished, including internal housekeeping.
- - When !DiskBase was quit from the taskmanager or the WIMP did a complete
- shutdown, while !DiskBase was active, !DiskBase kept running. I modified
- the code so now you have to abort the activity before !DiskBase can
- quit.
- Also when !DiskBase had unsaved data when a quit from the taskmanager or
- a WIMP shutdown was done, !DiskBase didn't react as it should. This has
- also been fixed
-
- 0.74 (13 Jun 1996)
- - The major change in this release is that when displaying the results of
- a DUPLICATES, the full pathname of the reported files are shown, and not
- only the names of the disks on which these files reside, so you can
- easely find the files shown.
- - Also the same (assembler) code that builds the info for the RESULTS
- window is now used when a SAVE of the RESULTS is done. In the past, a
- seperate (BASIC) procedure was used for this saving, so that the saved
- info could have a different layout.
- - The speed of saving RESULTS is also improved by not writing evry single
- line to disk, but using a 4K buffer, and write this to disk when it is
- (nearly) filled.
- - The sort that was done at the start of a DUPLICATES sorted one entry too
- less, resulting in the possibility that in some cases one entry was not
- shown as a duplicate.
- - I've found some CD's which do have 12 character CD-names. Part of the
- procedures of !DiskBase could cope with this, others failed when a 12
- character name was added. This has been fixed
- - Finally, I've changed !DBaseCheck to be a WIMP application (!DBaseChk),
- in which the file to be checked, and the pathnames for the logfile and
- the converted file (in case a conversion to a newer format is needed)
- can be filled in by dragging or dropping files.
- The actual checking however is still not multitasking! I think it is
- not worth the effort to change this, for the occasional use of this
- application.
-
- 0.75 (14 Oct 1996)
- - The first problem in !DiskBase I encountered after upgrading from an
- A340 to a RiscPC, was that if a user has two different filing systems
- both having equal drive numbers, !Diskbase had no way of adding both
- disks. (e.g. I couldn't add my SCSI::4 as icon 4 pointed to ADFS::4
- and although icon 5 in the 'Add Disk' window was also enabled, it did
- not point to SCSI::4).
- So I added some icons and logic to let the user select a filing system,
- after which !DiskBase will check the drives present for that particular
- filing system.
- - The static heap I used to use is changed to a sliding heap, which also
- makes use of Dynamic Areas if the program is run on a Risc PC.
- For the source and an explanation of this heap written by Alan Wrigley
- see "Risc User" volume 9, issue 1 (November 1995), and the modification
- in volume 9 issue 6 (May 1996), pg. 43.
- - As a result of a change in version 0.74, an explicit DELETE of a disk
- could cause a infinite loop, but deleting a disk by adding one with the
- same name didn't suffer from this. This is now fixed.
- - Clicking on lines of the RESULTS window when results of a DUPLICATES
- were shown, gave incorrect actions. This has been fixed now.
- - Several minor changed both cosmetic and functional were implemented as
- well.
- - One of the issues to be taken care of in a next release will be the use
- of the Wimp-font as configured on Risc OS 3.50 and above in the RESULTS
- window, without loosing the alignment of the column layout. This will
- probably need quite some change of the redraw code, but that was not
- feasible at the moment.
- - One more point is that I've always done my best to stay compatible with
- Risc OS 2.00, but as I've no way of testing this anymore, I will no
- longer try to be compatible with this Risc OS version.
- Even testing all code on Risc OS 3.10 myself will be quite hard to
- accomplish, but I will do all I can, or try to find some beta-testers
- for this.
-
-