============================================================================
                             VIRUSZ III HISTORY
============================================================================

 TODO  Until final release version 1.00:
	- Implement file and sector scanning inside all types of disk- and
	  filearchives that xadmaster.library supports.
	- Add device-based sector scanning.
	- Add useful commands to ARexx port.

----------------------------------------------------------------------------
Sorry, I have been a bit lazy during the last weeks, but summertime is not
necessarily the best Amiga-time :-)

 0.9c  Changes/Additions since 0.9b:
	- Added new snapshots sent by Harry Sintonen, Gunnar Andersson,
	  Dieter Klisch, Armin Pigulla, Dirk Stöcker, Marko Raina, Maurizio
	  and AmiS. Thanks guys!
	- Implemented support for NOUNCRUNCHSIZE archives to file check. The
	  lengths of the destination files will now be calculated before
	  extracting.
	- Implemented support for crypted archives to file check. VirusZ
	  will ask for the password once and use it with the whole archive.
	  Only if this one becomes wrong, a new one will be requested.
	- Added 'Snapshot' function for tc_Switch, tc_Launch and pr_PktWait
	  fields after AmiS reported some software that uses these fields.
	  To AmiS: Please send me your snapshots now!

 0.9b  Changes/Additions since 0.9a:
	- Fixed calculation code for ROM size and location. Now uses the
	  official method stated in the Amiga Guru Book. Thanks to Michel
	  Bagmeijer and Jan Erik Olausen for the bug report.
	- Added new snapshots sent by Harry Sintonen, Mark Savage and
	  Klaus-Peter Simon. Thanks guys.
	- Added support for SegTracker to vector check. This makes it much
	  easier to identify the program that causes a non-standard vector.
	  Thanks to Dirk Stöcker for the idea.
	- Finally added recognition for all vector changes caused by OS 3.9
	  BoingBag 2. If you still find some unknown (maybe because you have
	  a different cpu), please snapshot and send them.
	- Fixed several bugs in the 'Remove' functions of vector check:
	  (a) all of them didn't update the KickChkSum field :-(
	  (b) an empty KickMemList (after removing all entries one by one)
	      will be removed completely now;
	  (c) RomTags will be unlinked from the KickTagList in a much more
	      intelligent manner;
	  Thanks to Mikolaj Calusinski for his suggestions on this topic.
	- Added support for RemAPollo memory area to vector check and memory
	  monitor. Once again thanks to Mikolaj Calusinski for informations
	  about his program.
	- Added SegTracker support to memory monitor. Idea by Dirk Stöcker.
	- The memory monitor now gives you a warning if you want to display
	  a memory area that is not in the system's list; then it switches
	  to ExecBase pointer instead (as it did before).
	- Fixed MuForce hit 'implemented' in v0.9a shutdown code. Thanks to
	  Mikolaj Calusinski and Jan Erik Olausen for their reports.
	- Re-added scanning inside archives to file check. Currently this
	  function works in the same manner as it did until version 0.99,
	  i.e. not all types of archives can be scanned. Full support of all
	  xadmaster.library features will come with the next releases.

 0.9a  Changes/Additions since 0.99:
	- Totally redesigned the file check. Now all selected files/dirs are
	  always scanned without user interaction (exception: encoded files)
	  and just the important results get listed. These can be reviewed
	  at any time to finally decide what to do with malicious files.
	  The new concept has the following advantages:
	  (a) it's much faster (my SYS: partition gets scanned in 2:16 min,
	      the old scanner needed 9:20 min; that's over 4 times faster!);
	  (b) the Job Monitor (that's the name of the new check-window) is
	      fully prepared for archive and sector checking, all this will
	      happen in just one window (NOT IMPLEMENTED YET);
	  (c) less information that's not interesting for the average user,
	      just important things get reported now (if you want to analyse
	      the files on your harddisk, just use a tool like CheckX!);
	  (d) even disinfects damaged or encoded files as far as possible;
	  (e) looks much better :-)
	- Added a whole bunch of perfectly commented snapshots sent by
	  Todd A. Oberly. Thanks a lot!
	- Added more snapshots sent by Michel Bagmeijer and Ian Chapman.
	  Again thanks!

----------------------------------------------------------------------------
SOME WORDS ABOUT RELEASE 0.99:
This one is mostly a 'cosmetic' update that fixes some problems/minor bugs
and prevents some vector trouble as a lot of snapshots have been added.
At the moment I'm already working on a totally new concept for file/sector
checking, but I cannot promise how long it will take to finish that stuff.
That's why I decided to release this update right now.

 0.99  Changes/Additions since 0.98:
	- Improved window calculation code to avoid rendering bugs when you
	  have installed sysihack-like programs. Thanks to Harry Sintonen
	  for the bug report and screenshot.
	- Splitted the single 'About' request in a 'Technical Info' request
	  and a new 'About' request and added some more information to them.
	- Fixed bug: 72 bytes of memory disappeared during every program
	  startup, this seems to be a problem with special CreateNewProc()
	  tags. After two nights of debugging I still couldn't locate the
	  bug exactly, so I did some workaround instead, now there are at
	  least no more memory losses.
	- Added the first vector snapshots sent by David Oakes, Ian Chapman,
	  Fulvio Peruggi and Harry Sintonen. Thanks guys!
	- Fixed minor rendering problem with VirusZ's main window. This one
	  only appeared if you have modified the top_border size with tools
	  like MCP. Thanks to Luca Longone for the report/screenshot and
	  sorry for my angry email :-)
	- Added full support for NSD-64-bit devices. Now the bootblocks of
	  partitions located higher than the old 4GB-border will finally be
	  accessed correctly.
	- Improved disassembler output in the bootblock lab. The first three
	  longwords now always get displayed as 'dc.l' lines and disassembly
	  starts at offset $000c, the real entry point of a bootblock. This
	  avoids strange interpretations of the bootblock's checksum and the
	  two other fields.
	- Added some more vector snapshots sent by Dariusz Krzempek. Thanks!

----------------------------------------------------------------------------
LAST MINUTE BUG REPORT:
I  received  bug  reports saying that VirusZ crashes immediately at startup.
These crashes only happen when both disassembler.library and mmu.library are
installed  in your 'libs:' drawer, but mmu.library setup is not correct.  In
those  cases, either set up your mmu.library environment correctly (read the
manuals),  or delete/rename mmu.library, so that disassembler.library cannot
find it at startup.

Thanks to Harry Sintonen for finding this 'bug' and its solution.
----------------------------------------------------------------------------

 0.98  Changes/Additions since 0.97:
	- Fixed bug in vector check kickmem brain that caused all patches to
	  be recognized as 'AmigaOS ROM Update'. Sorry for that!
	- Designed a new display format for the vector check. This one looks
	  better and is more informative than the old one.
	- Added brain for kicktags to the vector check. This one currently
	  only recognizes 'AmigaOS ROM Update' and 'ramdrive.device'.
	- Added the 'Snapshot' function to the vector check (as I promised).
	  Now you can snapshot every unknown patch that causes alerts on
	  your Amiga and send me the results. This makes it possible for me
	  to even add patches that I cannot install on my computer.
	  Read the manual for detailed information!
	- Added recognition for ppc.library v46.37 to the vector check.
	  Thanks to Jean-Michel Chapron for the handmade snapshots.
	- Added disassembler mode to Memory Monitor. This should help
	  experienced users/programmers to analyse unknown vector patches.

 0.97  Changes/Additions since 0.96:
	- Fixed bugs in window calculation code that caused the resizeable
	  windows (Vector Check, File Check) to look ugly or to not open up
	  at all. Thanks to Crown/Cryptoburners, DMX, Paracels/Placebo,
	  Jan Andersen and Mad Roger for the bug reports...
	- Moved size-gadget in resizeable windows from the right border to
	  the bottom border (looks much nicer and takes less space on small
	  screens) and re-fixed width of these windows.
	- Re-added support for ALL disk-based devices to Bootblock Lab on
	  special request from Mikolaj Calusinski. Are you happy now? :-)
	- Added disassembler mode to the Bootblock Lab. This should help
	  experienced users/programmers to analyse unknown bootblocks.
	  Note: This feature requires 'disassembler.library' v40.x by
	        Thomas Richter, you'll find it in Aminet...
	- Made Bootblock Lab window resizeable as the disassembler output
	  becomes quite big sometimes.
	- Changed the file format for saving window positions. Sorry, but
	  if you already had arranged your windows individually, you will
	  have to position them all again and save the prefs afterwards.
	- Started adding Sector Check (at least the device selector, the
	  real check is not implemented yet, sorry for that :-(
	- Added recognition for mmu.library patches to Vector Check and
	  fixed some smaller problems.
	- Finally wrote at least a short documentation for VirusZ III.

 0.96  Changes/Additions since 0.95ß:
	- Once again written by Georg Hörmann, as Dirk Stöcker doesn't have
	  any time. No longer beta version, because all features are working
	  well, missing ones are no reason for a beta release.
	- Fixed bug in vector check that appeared with xvs.library 33.37.
	  No longer uses private stuff from inside the library.
	- Fixed bug in vector check startup code invented by Dirk's updates.
	  No longer uses uninitialized gadget pointers.
	- Added 'Show...' function for 'Data Viruses' from xvs.library.
	- Rearranged 'File Check Preferences' back to just one window after
	  Dirk replaced the old archive stuff with XAD.
	- Added missing 'ROM Update' memlist entries to the brain.
	  But: There still exists one entry that cannot be added because of
	  missing static data.
	- Added recognition for MuForce and MuGuardianAngel patches.

 0.95ß Changes/Additions since 0.94ß:
	- Now detects and hides the MemList entries of known patches
	  (eg. ROM Update).
	- Added some unknown patches.

 0.94ß Changes/Additions since 0.93aß:
	- Now no longer made by Georg Hörmann, but made by Dirk Stöcker.
	- Added lots of new patches running on my system.
	- Removed unfinished old style archiver support.
	- Added short report format (like in VirusZ II).
	- Bug fixes.
	- Added file archiver support using xadmaster.library.
	  NOTE: Registered VirusZ users can get special conditions when
	  registering xadmaster.library. Contact me.
	- Fixed preferences storage.
	- Added my PGP signature to all the important files.
	- Fixed VirusZ II Docs.
	- Removed VirusZ II history stuff (It is no longer developed!).
	- Added resize feature to some windows.

----------------------------------------------------------------------------

This version still causes PatchWork hits in the startup-code while scanning
for an already running VirusZ_III copy. This may be fixed in a later release
and doesn't influence the performance of VirusZ.

 0.93aß Changes/Additions since 0.93ß:
	- Argh! Fixed tiny little bug that made 0.93ß crash on all Amigas
	  that don't have archiver prefs saved in 'ENV:VirusZ_III'. Thanks
	  to Jan Andersen and Dirk Stöcker for the reports.
	- Memory Monitor now uses a pointer to ExecBase as default address
	  to prevent Enforcer hits when 'Chip Start Address = 0' option is
	  activated. Manually forced read accesses to locations $0 to $ff
	  still cause Enforcer hits, but that is intended. That's why you
	  can switch off the above mentioned option :-) Thanks to Dirk
	  Stöcker for the report and idea.
	- Fixed unsafe calls to FindTask() in 'Fake SnoopDos' code. Fixed
	  shutdown code for timer port. Thanks to Dirk Stöcker again for
	  the reports and for sending PatchWork (written by Richard Körber),
	  a very useful debug utility.
	- Added recognition for patches caused by PoolMem and PatchWork.
	  Thanks again to Dirk for sending that stuff.

 0.93ß  Changes/Additions since 0.92ß:
	- Finally added a new file check that works asynchronously. Right
	  now it doesn't support archives and doesn't create a report, but
	  all other features of VZ II file check have been implemented.
	- Certainly added preferences windows for file check. Some features
	  are not implemented yet, just ignore those settings.

----------------------------------------------------------------------------
Oh, oh, it's September already, and nothing great happened to VirusZ III.
This really is a shame, but I was on a holiday trip in August after my final
exams...

 0.92ß  Changes/Additions since 0.91ß:
	- Added some system patches to vector check that disturbed me on
	  my machine;-)
	- Changed VirusZ status to FREEWARE until I will have more time
	  to develop new features or at least finish VirusZ III. Why should
	  you pay money for an incomplete program?

----------------------------------------------------------------------------
From March to August '98 I'm once again just at home for the week-ends.
This will definitely delay further development, but I'm going to try my
best to finish the work I've started as soon as possible.

 0.91ß  Changes/Additions since 0.90ß:
	- Added xvs.library version string to About request. Idea by
	  Jan Andersen.
	- Fixed Disk-Validator check (path was DFx::L/Disk-Validator),
	  thanks to Dirk Stöcker for the report.

----------------------------------------------------------------------------
Please understand that I didn't have the time to write a documentation
for VirusZ III until now, just try the features yourself, most things are
quite similar to VirusZ II.
Best thing would be to run VirusZ III permanently in the background and
call VirusZ II if you want to check files/sectors. Disable all background
checking in VirusZ II 1.42/1.43 then to avoid double testing.
Sorry, but huge programs, like VirusZ became over the years, cannot be
rewritten in just a few days.

 0.90ß  Changes/Additions since VirusZ II 1.42a:
	- Argh, just after releasing the fixed version, I found another
	  bug in the Vector Check code. But now it's fully fixed.
	- Added option to Memory Monitor to skip the low memory region
	  in Chip-Ram to prevent Enforcer hits.
	- Fixed little bug in Memory Monitor, the scroll functions didn't
	  roll over the end of a region properly.
	- Changed whole signal/message handling to asynchronous style.
	  The second (background) process is obsolete and has been removed.
	  Even reqtools requesters are asynchronous now, everything runs
	  at the same time and nothing blocks out VirusZ. Functionality is
	  now just limited by the number of free task signals as each
	  window needs at least one.
	- Rewritten whole startup code, all initialization routines and
	  module setups for proper support of all new features.
	- Removed File Check and Sector Check. These must be rewritten
	  first to be able to support async design.
	- Totally rewritten Bootblock Lab. The brainfile is compatible
	  to VirusZ II but is stored by default in 'S:' now.
	- Totally new and safe device scanner: Only disk-based devices will
	  be recognized. This should prevent complications with some odd
	  harddisks, cd-roms etc.
	- Added new preferences. The preferences format changed and is no
	  longer compatible with VirusZ II as many things became obsolete.
	- All settings are stored in ENV:VirusZ_III subdirectory now, as
	  there will be created several files.
	- Preferences are kind of interactive now, every change is used
	  immediately. There's no more need for Use/Cancel buttons.
	- VirusZ remembers all window positions now. After a restart all
	  windows will appear at their old positions. This only works if
	  centering is disabled (in Misc Prefs)!
	- Added a few new patches to the vector check. Thanks to all the
	  guys who sent them.
	- Added new viruses to xvs.library: 'Death To Maxs' 1-4 trojans.
	  Thanks to Jan Andersen for sending them.
	- Re-added 'Hide Known Patches' option to Vector Check as this
	  is really useful if you have lots of patches in your system.
	- Added new feature to Vector Check: If VirusZ detects some new
	  unknown vectors, the Vector Check will mark them '--> CHANGED
	  SINCE LAST CHECK' when they are first reported. This comment
	  will then change to '--> SUSPICIOUS' as usual after a refresh.
	  This may help you at determining which program causes which
	  changes. Idea by Ramiro Garcia and others.
	- Removed detection for Sinmut bootvirus. This actually isn't a
	  virus, but some intro bootblock.
	- Added/improved ARexx scripts CheckFiles.vzrx and CheckDir.vzrx.
	  CheckFiles supports multiple filenames as arguments and
	  CheckDir reports which drawer has been checked now. Thanks to
	  Ramiro Garcia for developping the improvements.

This history entry is just a rough overview of what happened in the last
few weeks. I sat in front of my machine almost every evening, my girlfriend
is getting angry and other hobbies (even television) are canceled.
There were several moments when another huge problem appeared that I didn't
believe in myself any longer and thought about cancelling all the work, but
until now, I nevertheless managed to solve all the problems (asynchronous
layout is really tricky ;-)
There is still a lot of work to come, as I'm planning new features for the
File Check and other parts of VirusZ III, but I really hope that some day
I can say: It's done!
