DiskSalv 2 (V11.32) Release Notes

	This is the sixth public BBS/Network release of the DiskSalv 2
program.  The DiskSalv program and distribution materials are
Copyright 1991-1994 by Dave Haynie, All Rights Reserved.  This program
is freely redistributable copyrighted software.  It may only be
distributed as a complete package.  You may not remove any files
from this archive.  No fees other than reasonable copying and media
charges may be collected for non-commercial distribution.  A shareware fee
of US$10 is suggested for anyone using this program.  Registered users can
order the latest release from me for $10 (please include a copy of your
registration form), or obtain it from the nets or Fish disks/CD.
When ordered with registration, the latest disk is only US$5.

	DiskSalv 3, the professional release with many new features,
is now available.

Licensing

	This Shareware version of DiskSalv may be freely copied
subject to the following conditions.  No additional restrictions may
be added to the distribution of the DiskSalv program sets.  No charges
other than normal download charges, for BBS/Network systems, or disk
media and copying charges (no more than $5.00, including local postage
and handling), for disk-based distribution, may be applied.  The
DiskSalv package must be kept intact.  For BBS/Network distribution,
this is in the form of two archives, the main DiskSalv archive and the
DiskSalv locale archive.  For disk-based distribution, both sets must
be included, optionally de-archived.

	Commercial distribution is permitted for commercial
BBS/Network systems, as long as they charge no unusual or premium
download fees for the DiskSalv system.  Commercial distribution for
magazine "cover disks" is permitted as long as they obey the above
basic rules for "disk collection" media distribution and return a
filled-in copy of the included "CoverDisk.txt" license form.

For support of DiskSalv and shareware (DiskSalv 2) registraion ONLY:

	mail:		Dave Haynie
			284 Memorial Avenue
			Gibbstown, NJ
			08027 USA

	email:		disksalv@iam.com

	FAX:		+1-609-224-0442

Do NOT contact me directly for orders of DiskSalv 3 or my video tape.
See the iam.guide in this distribution.

If you want any kind of reply via FAX, please include a REAL return FAX
number, not "maybe I'll have my PhonePak turned on between 7:00AM and
7:03AM on alternate Thursdays following the full moon", etc.  I don't
usually have the time to reply to every letter I get, though I will make a
sincere effort to respond to any questions you send me along with any disk
I send you.  "Hey, I found this bug, here's a floppy that demonstrates it" is
something I'll be working on a few hours after I get it, though I may not
reply immediately.  "My GVP hard disk controller isn't working", "you're an
evil rat-bastard to want dime one in return for DiskSalv", etc. are all
examples of wasting both our time.  I try to answer some of these general
questions in this file.

About DiskSalv

	DiskSalv is a "Disk Salvage" program.  It can recover data
from a disk in severe trouble, it can fix a good portion of disk
problems directly on the problem disk, and it can locate valid
partitions on a disk with an unknown layout or damaged rigid disk
block.  It supports all AmigaDOS file systems through AmigaOS 3.1.
The included "Cheap" manual details the basic functions available, while
the commercial manual covers every little detail, theory of operation,
and other good stuff.

	If you're the type who would rather just run the program and
see what happens, type "DiskSalv" or click on the icon to begin.
Brief help on individual menu items and gadgets is available via the
HELP key.  HELP will active the help message for any gadget or menu
item that's currently under the mouse pointer.

Distribution Contents

	The DiskSalv 2 distribution comes in two archives for on-line
release, one for the program and English documentation, one for the
updates locale files.  This release contains all of the current
translations.  For software library distribution, it comes with the
program expanded, the locale and documentation information compressed.
The files themselves are the same in any case.

The main program distribution (all files have associated .info files)
is in the file DiskSalv11_30.lha, and it includes:

  DiskSalv2/README				This file
  DiskSalv2/DiskSalv				The main program
  DiskSalv2/Project.info			A sample project icon
  DiskSalv2/OrderForm.txt			An ASCII Order Form
  DiskSalv2/BugReport.txt			An ASCII Bug Report form
  DiskSalv2/CoverDisk.txt			An ASCII Cover Disk license
  DiskSalv2/Install				The main install script
  DiskSalv2/MakeBoot				Install on a bootable floppy
  DiskSalv2/locale/docs				The documentation files
  DiskSalv2/locale/docs/english			English docs directory
  DiskSalv2/locale/docs/english/DiskSalv.doc	The cheap manual, in English

As usual, the ".txt" files are in reasonably generic ASCII, though may
contain a few ANSI sequences.  The documentation files are in full
ANSI (eg, ASCII with lots of ANSI formatting codes).  This is intended
to be sent to the PRT: device, which should allow it to print nicely
on any Amiga printer device (since PRT: supports the ANSI codes in a
device independent fashion).  It can also be viewed on the Amiga
console device, and some other display tools (though I have seen a few
that mess up on ANSI sequences).

The locale file is called DSLocale11_30.lha.  It should be manually placed
in the DiskSalv 2 directory, and it includes the following:

  locale/catalogs/dansk/DiskSalv.catalog	Danish catalog
  locale/catalogs/deutsch/DiskSalv.catalog	German catalog
  locale/catalogs/español/DiskSalv.catalog	Spanish catalog
  locale/docs/español/DiskSalv.doc		Spanish docs
  locale/catalogs/français/DiskSalv.catalog	French catalog
  locale/docs/français/DiskSalv.doc		French docs
  locale/catalogs/italiano/DiskSalv.catalog	Italian catalog
  locale/catalogs/norsk/DiskSalv.catalog	Norweigian catalog
  locale/catalogs/suomi/DiskSalv.catalog	Finnish catalog
  locale/catalogs/svenska/DiskSalv.catalog	Swedish catalog
  locale/docs/svenska/DiskSalv.doc		Swedish docs


Not all of these files have been updated for DiskSalv 2 V11.31, so a few
strings may not be translated, depending on the language.

Special Acknowledgements

	First, a quick but meaningful thanks to anyone who sent me bug
reports.  And there were many, not all of which I could ignore.  Which
makes this release the best DiskSalv ever, unless I screwed up
elsewhere.  Special thanks to those who sent me disks, floppy archives
via email, Enforcer hits, or other really good clues.

	I would like to acknowledge some of the help I had on this project.
There are individuals too numerous to mention who had a part, either by
making suggestions or testing.  Thanks go to the Commodore-Amiga Software
group for help with the GUI development and pushing me to use style-guide
standards and post 2.04 things like localization.  And I want to call
particular attention to those who did the translations for me:

	Danish translation by Jesper Kehlet
		email:  kehlet@kehlet.adsp.sub.org

	French translation by Jean-Francois Dreyfuss
		email:  dreyfusj@issy.cnet.fr

	German translation by Holger Lubitz
		email:	hal@caty.north.de

	Italian translation by Fabrizio Lodi
		email:  lodi@ghost.sm.dsi.unimi.it

	Norwegian translation by Petter Nilsen of Ultima Thule Software
		email:  petter@pnilsen.adsp.sub.org

	Finnish translation by Jukka Marin
		email:  jmarin@messi.uku.fi

	Spanish translation by Antonio Joaquin Gomez Gonzalez
		email:	u0868551@oboe.etsiig.uniovi.es

	Swedish translation by Mathias Axelsson
		email:  d92max@txfs1.hfb.se

I hope I didn't screw any of these up much -- I did as little editing as
possible on them.

Extra special thanks goes to Mathias Axelsson and Jean-Francois Dreyfuss.
Not only did they manage to each complete a full "cheap" manual translation,
but they got the extra stuff for V11.28 out within about a week after I sent
the documentation and locale files.

Extra special thanks to Antonio Joaquin Gomez Gonzalez, who did the Spanish
translation, catalog and manual, in record time.

Once again, special thanks go to AUGS (Amiga User's Group Sweden), for
organizing some registrations and converting to US dollars en masse.  These
guys are more organized than many companies I have dealt with.

Revision History

V11.31 SIZE 110884 bytes, CHANGE +132 bytes

    o Fixed a bug in the stream restoration function.  Cleaned
      up the restoration display.  Restoration can now be from
      devices that don't support Lock(), such as the standard
      Commodore PIPE: device.

    o Which caused another PIPE: related problem.  Since a pipe is
      a FIFO, it can only be read once.  The recovery code was reading
      it twice, once to be certain it was a proper pipe, once when the
      actual restoration began.  The checking code was redesigned to
      open only once.

    o The PIPE: device also had a problem with AmigaDOS buffered I/O.
      Going to standard Read() functions solves this.

    o Empty files were being reported as mangled on output.  Now
      only truely mangled files will be so-reported.

    o Enforcer hit on exit after a restore-only run eliminated.

V11.30 SIZE 110752 bytes, CHANGE +84 bytes

    o	More enhancements to the fix-in-place engine.

    o	Additional tweaking of the directory cache support code.

    o	Now compiled with SAS C V6.51.

V11.29 SIZE 110668 bytes, CHANGE +2128 bytes

    o	The cache setting after a fix-in-place was left as "off".  Now it's restored.
	This shouldn't affect single use of the device, but it could have left the
	cache off for subsequent passes on the same device.

    o	Improvements were made to the fix-in-place routine to detect directory cross
	links.  Previously, it was possible to miss repairing the case in which a
	directory somehow becomes a child of multiple parent directories.  The
	"Directory Check" pass works from DiskSalv's internal disk model (built
	in the scanning phase), so it doesn't catch this.  Now the hash check
	routine does.

    o	Unformat now attempts to bring back as much from a disk as possible.
	Earlier versions forced reconstruction of the root block, now every
	directory encountered will be rebuilt in full.  Thus, Unformat is useful
	as a general "get anything back you can" routine.

    o	Another bug in the fix-in-place code for Directory Caching file systems
	was fixed.  This was related to the reconstruction of directories from
	the DiskSalv disk model.  Such reconstruction was rare in processing
	disks under earlier DiskSalv released, but it's used all the time in
	Unformat now.

    o	Memory allocation to support directory reconstruction under fix-in-place
	operations is now handled dynamically with respect to directory, rather
	than dynamically over the course of a whole disk's worth of processing.
	There shouldn't be much speed penalty, and the memory usage could be
	substantially less.

    o	In order to support the new Unformat's ability to safely resurrect most
	of a disk, several features have been added.  The "purge" routine under
	Unformat puts any objects detected as deleted at the end of their
	respective list, so that undeleted objects are considered prior to
	deleted objects.  Object renaming has been implemented, such that
	several objects under the same name can be restored without causing file
	system problems.

    o	"AppWindow" drop-in functions are now implemented for Input, Output,
	and Custom windows.  The Input and Custom windows support dropping of
	either directory or DOSDrivers icons.

    o	Now compiled with SAS C V6.5!  Many, many thanks to Doug Walker for the
	compiler update.  I'm looking forward to downing a few good liters
	when we next meet!

V11.28 SIZE 108540 bytes, CHANGE +776 bytes

    o	A fix-in-place operation would could change an FFS partition to FFS-Intl,
	but not back.  Now it properly mutates, though this isn't suggested.

    o	A failed output device request wasn't always tracked right by the output
	window gadgets, allowing output to go when it shouldn't.  This is fixed.

    o	Improved checks in the "Restore..." requester now reject non-archive files
	properly and interlock the "Start" button right.

    o	A minor bug in the "Load Device..." function caused an Enforcer hit.  This
	has been fixed.

    o	A complex chain of events caused the fix-in-place routine to unduely reject
	directories on Directory Caching partitions.  This made lots of files and
	directories get eliminated for no obvious reason.  Both this bug, and a
	related problem that made it even worse on floppies, has been fixed.

    o	Extra processing of the AmigaDOS "environment vector" should allow a better
	identification of strange devices, especially new ones.

    o	The "Link_Generator" script (written by DiskSalv) had the "FROM" and "TO"
	keywords reversed to the "MakeLink" command.  This has been fixed.

    o	Link processing by the fix-in-place routines has been improved, to avoid
	any possible contradictions and also deal much better with irresolvable
	loops.

    o	A bug in the fix-in-place routines would occasionally cause a trip up on
	processing of "special" file types (special in the way DiskSalv processes
	them, nothing necessarily visable on the outside).  This has been corrected,
	which should eliminate a number of rare and hard-to-reproduce problems with
	DiskSalv which usually manifested itself as DiskSalv not finding some rather
	easy-to-find error.

V11.27 SIZE 107764 bytes, CHANGE +384 bytes

    o	Fixed a minor bug in the gadget text formatting code.

    o	All locales, and internal English, cleaned up a bit and tested for a
	proper fit on a 640x200 Workbench with Topaz 8 font.

V11.26 SIZE 107380 bytes, CHANGE -11340 bytes

    o	One major bug was reported in DiskSalv V11.25.  It seems that, when
	launched from Workbench, it wasn't being freed upon exist.  So you
	would waste a little over 100K every time DiskSalv was started.
	This is now fixed.

    o	A surprising inefficiency in DiskSalv's fix-in-place code on very
	large files (10MB+) was called to my attention.  There was
	apparently a small bit of processing which increased at roughly
	N!, where N is the number of blocks in a file.  When acting on such
	large files, specially on slower machines, it could appear for all
	the world like DiskSalv just hung up.  This part of the fix-in-place
	routine has been recoded.  It may use a bit more memory for small
	files, but the time for processing a file is now more like N.  This
	technique also eliminates some code.

    o	Four out of DiskSalv's 434 or so C functions weren't actually being
	called anywhere.  While they were each reasonably small, they have
	been eliminated.

    o	The window is no longer automatically activated when the program state
	changes.  This makes it much cleaner to use in the "background".

    o	Log files now record activity for "Restore..." and "Custom..."
	operations as well as normal salvages.

    o	The scanner window now includes the device or path name being
	accessed as part of its informational display.

    o	A warning requester is now generated if DiskSalv can't lock the input
	disk given, assuming locking is enabled.  This usually happens when
	another program has an open file or lock on that device.  Scanning a
	device that has other disk activity going on it is not recommended, as
	it can easily lead to improper DiskSalv operation.

    o	Parameters to CLI keywords, such as those for "MODE" and "FILESYSTEM",
	can now be specified in either English or the localized language.

    o	The code that traps on OS releases prior to V37 (KS2.04) will now
	actually run under OS releases prior to V37.  Previously, this was
	accidently dependent on several 2.0x features, and had a couple of
	bugs as well.

    o	A few changes were made in the documentation files.  They're now
	compiled for 70 columns, since a few people complained about them
	not quite fitting on the printer.  I changed the text compiler to
	use MuchMore-compatible ANSI codes, in preparation for a Fred
	Fish disk release.  This should have no effect on actual printing
	of the files.

    o	Now compiled with SAS V6.3.

Since You Asked

	From time to time I have received various questions about DiskSalv.
As I mentioned earlier, I don't have the time to answer every questions.
This is not to say I don't think such questions are not important, only
that my time is better spent working on improvements to DiskSalv than
answering every leter I get.

[1] Where the h*ll is DiskSalv 3?

	It will be ready in June.  I'm very sorry that the schedule
	keeps slipping.  The problems with Commodore going out of
	business lately have been a severe drain on my time -- very
	little work was done on DiskSalv 3 from mid-April to mid-May.
	That's over with, I have been back on DiskSalv 3, and while
	I'm no Kreskin, I expect no additional delays.

[2] Don't you feel like a jerk in getting DS3 out so late?

	Yup.  It's sobering to realize that you're not Superman.  This
	DiskSalv thing is very much an experiment, and like most, it
	involves new things.  I haven't tried to be a whole company before
	this, and find it does take longer than one might think.  If I
	spend a week releasing updates, DiskSalv 3 is week later.  If I get
	sick, or I'm just too tired to stay up 'till 5AM, DiskSalv 3
	is delayed.  And so on.  But ultimately, it does get done.  For
	everyone who pre-ordered, you'll definitely get your package some
	time in May.  You'll also get the first update, which will
	hopefully go out in the summer.  I know exactly what is going into
	that release, it's not just some "wouldn't that be nice" thing I
	made up to make everyone feel better.

[3] Hey, about that update thing.  I ordered DiskSalv 2 updates, but
    haven't heard from you in months.

	It is my policy only to send out updates when you really need them.
	I suppose I could make it a DiskSalv-of-the-month thing, but that's
	not, in my opinion, a fair use of your money.  I don't send out an
	update if a new release nearing completion.  In this last one, it
	has taken me awhile to get the DiskSalv 2 release out.  Part of
	this is the DiskSalv 3 workload, part is simply that some of the
	fixes in this new release have been evidenced for some time, but
	proved rather difficult to track down.  And I try to get some
	testing on things before a general release.

[4] I wrote you last year about problems with my [C=|GVP|PropTronics|etc.]
    [computer|hard disk|video board|etc.], and you haven't written back.

	I am only doing technical support for my own products at this
	address.  This is not C=, GVP, or anything other than my own
	business, which at preset in only DiskSalv.  I do currently work
	for Commodore Technology (Commodore's Engineering Branch), and
	while I am not responsible for any technical support, I do try on
	occasion to answer questions about Commodore stuff, and Amigas in
	general, on the nets.  I do that because I do what I can to improve
	the Amiga community as a whole.  But time is scarce, even for
	someone like me who sleeps about 4 hours a night.  Please don't
	write me about these other things.  You can send email to my C= or
	BIX accounts on these matters, and I'll attempt to answer then just
	as I would any other question.  Well, if you tell me you're a
	registered DiskSalv user, I try a bit harder.

[5] I sent my $10, where's my disk?

	The Shareware Registration fee isn't for a disk, it's simply a
	registration fee, and earns you a registration certificate by
	return mail.  If you registered, you will eventually get one of
	these, signed by with, with your number on it.  I know some other
	authors of "shareware" do it differently.  It's commonplace, for
	example, under MS-DOS and MS-Windows, for folks to send in money
	for a "registered" version.  You'll also notice, however, that many
	of these make that necessary, since the freely redistributable
	version can be classified as "guiltware" or "crippleware".  In the
	former case, you get a "friendly reminder" that you need to
	register the program every time you run it.  In the latter case,
	you get a subset of features.  I chose to do neither of these, and
	to keep the registration fee low.  So you can feel right about
	paying for DiskSalv without having to pay for a program you already
	have.  And I don't have to spend time crippling my code or doing
	redundant mailings.  For folks who want more, there is DiskSalv 3.

[6] Yeah, about that DiskSalv 3.  Why should I pay $40 when the shareware
    registration is just $10.  Isn't it the same program?

	DiskSalv 3 is not the same program.  It does everything DiskSalv 2
	does, and it does other things.  The GUI has been completely
	reworked, and I think it's easier to use than DiskSalv 2.  Does
	everyone need DiskSalv 3?  While I wish they did, some probably
	don't.  Many folks already have a good backup program, don't care
	about disk checks or cleaning, etc.  Many are happy with DiskSalv 2
	and understand its use completely.  If you, that's ok, I don't want
	to sell anyone a program they don't want.  DiskSalv 2 exists to
	give every Amiga user the chance at having a disk recovery program
	they can resort to when they need it.  Some never need it.  Some
	won't pay, thinking basic disk recovery should come with the OS (a
	belief I happen to share, but, since it doesn't come with the OS,
	do consider where it does come from next time you use an
	unregistered DiskSalv).  If you want more features, an extensive
	printed and on-line manual, and more stuff to come, get DiskSalv 3.

[7] But aren't you betraying the Grand Spirit of Amiga Freeware?

	Say what?  Oh, you must be from Berkeley.  But seriously folks...
	Some people write code just for the fun of it.  And they give it
	away.  Great, that's the way software and personal computers
	started out, I was there.  Of course, this wasn't necessarily great
	software, it might have had problems, but it was free, after all.
	Since then (and who reading this _really_ was using microcomputers
	back in the 70s?), people have made money on software.  Others
	still give it away for free, some give it away and demand money.
	You even find some, like that Richard Stallman guy up at MIT, who
	claim selling ("hording" to use his words) software is immoral.

	You're all correct.  Let's look at parallels outside the world of
	software.  When I design a computer, few would honestly argue that
	it's immoral to sell copies of that computer.  After all, we have
	to pay for the materials.  And the cost of developing the
	technology, and supporting the livelihood of the folks who
	developed this technology.  And maybe even the financial viability
	of the company supporting this work, since, unless you have some
	more altruistic agency supporting such work, money made on such
	sales is necessary to continue the venture.  And as any fan of
	modern genetics will tell you, altruism is not a viable strategy.
	Software follows the same set of rules as hardware.  Materials
	costs are less, development costs often more, but the same
	financial model applies.

	Another parallel is found in the world of the arts.  If I wrote a
	book, I don't think anyone would be complaining about having to buy
	that book in order to read it.  I'm not a professional writer, but
	I do occasionally write, and I do get paid for it.  I'm not writing
	just for the money -- I like writing, and while I'm sure AmigaWorld
	would love a few free articles, I don't know that writing their
	specific requirements would be my first choice of how to spend an
	evening were they not paying.  Most of you, hopefully, would not be
	bothered by having to pay $3.95 ($4.95 in Canada) for that last
	issue of AmigaWorld.  If I spent my time instead out in my garage
	painting a few pictures or carving a bokken or two (which I do on
	occasion), you wouldn't expect to get the fruits of that work for
	free.  Who knows, maybe Haynie Bokkens would demand a premium at
	Amiga shows.  The point being, I am not morally troubled by
	receiving some payment for my work.  My main point is not the
	money, but I doubt I would have put up with Commodore all these
	years if money was the main point of my Amiga hardware work.  Yet,
	ultimately, I must feed myself and my family.  And I need CDs.
	Lots of them.  Music sure has improved in the 90s.

	If you object to paying for a work of mine, than feel free to not
	pay and work out the morality of that for yourself.  Just keep in
	mind that not paying for DiskSalv 3, just as not paying for an
	A3000, is illegal and could land you jail in most parts of the world.
	For more elaborate words on the subject, I recommend "The
	Dispossessed" by Ursula K. LeGuin and "Atlas Shrugged" by Ayn Rand.

[8] But who in the world would buy DiskSalv 3 at $40 when DiskSalv 2 registration
    is so much less?

	To date, the registration tally runs 40% for DiskSalv 3, 60% for DiskSalv 2.
	This has actually been fairly even since I've had a large enough sample to
	have some statistical significance.  I expect when DiskSalv 3 shows up in
	computer stores this balance will tip in favor of DiskSalv 3.

[9] Didn't I see you playing keyboards with some orchestra in Greece?

	No, that was Yanni.  I'm taller, my hair is a tad longer, and usually tie it
	back.