		Hardblocks Library v1.1 + HBtool v1.1
		=====================================

Copyright:
----------

       Copyright 1992, Freeware, All rights reserved

   Distribution EXCLUSIVELY permitted to Fred Fish for his PD software
   library. Other forms of distribution need the permission of the author.

   No guarantee of any kind is made that this program is 100% reliable.
   You use it on your own risk.

Notes:
------

This package contains a shared library with support routines for
Commodore's hardblock standard and a small tool which demonstrates use of
this library.

Usage of HBtool:
----------------

 HBtool needs the Arp library v39+
 to get the command line template use `hbtool ?', for additional help
  informations type `?' after the colon of the template
 command line template:
     Device,Unit,FILE/k,LOAD/s,RESTORE/s,DEFAULT/s,SHOW/s,OUTPUT/k,SAVE/s,
     BACKUP/s,REMOVE/s
 extra help:
     Usage: HBtool [Device] [Unit] [FILE name] [LOAD] [RESTORE] [DEFAULT]
		   [SHOW] [OUTPUT file] [SAVE] [BACKUP] [REMOVE]
        [Device]      = device name (default: scsi.device)
        [Unit]        = device unit num (default 0)
        [FILE name]   = file to restore/save hardblocks
        [LOAD]        = load hardblocks from device (default)
        [RESTORE]     = restore hardblocks from file
        [DEFAULT]     = create standard rigid disk block
        [SHOW]        = show currently loaded hardblocks (default)
        [OUTPUT file] = output file for show (default: NULL -> stdout)
        [SAVE]        = save currently loaded hardblocks to device
        [BACKUP]      = backup currently loaded hardblocks to file
        [REMOVE]      = delete rigid disk block from device
 before any changing of hardblocks on selected device are performed, a
  safety check must be passed - enter `YES' (case sensitive!!!), anything
  other aborts the changing operation
 with LOAD, RESTORE & DEFAULT the hardblocks are only load into memory,
  now they can displayed (SHOW -> on screen, SHOW OUTPUT prt: -> on
  printer), stored in data files (BACKUP) or used as new hardblocks for
  selected device (SAVE), eg. to use hardblocks out a file you type
	hbtool my.device 0 restore file my.hardblocks save
 with REMOVE only the rigid disk block is deleted from device
 error codes returned by hardblocks library are only reported as numbers,
  you have to use hardblocks.h to decode them

Some technical details:
-----------------------

 hardblocks library use HD_SCSI_CMDs, so only SCSI devices are supported
 the library only supports all hardblocks defined by Commodore
  (devices/hardblocks.h); all other block types (some SCSI controller
  vendors use custom hardblocks for internal purposes, eg. TrumpCard ->
  'IVS\0') are ignored
 also all reserved block list headers of rigid disk block are not supported
 BadBlockBlocks and LoadSegBlocks (FileSysHeaderBlock & DriveInit) are
  summarized to ONE custom hardblock called DataBlock (see hardblocks.h)
 all block numbers (block list heads in rigid disk block, xxx_Next,
  fhb_SegListBlocks, ...) are replaced by memory pointers (read and restore)
  or offsets into data file (save)
 an additional error code is returned in pr_Result2 of process structure,
  use the dos call IoErr() to get this value
 currently hardblocks library produces some debugging messages via
  FarPrint (from Olaf Barthel, see fish disk #??), so if an error occured
  FarPrint (started first) can be used to check the internal state of the
  library

Author:
-------

   Torsten Jrgeleit
   Am Sandberg 4
   W-5270 Gummersbach
   Germany
   Phone: ++49 2261 27400

   Bug reports, flames, donations etc. are welcome !
   I may be reached via eMail: mike@miba.obb.sub.org
   Since this is a neighbour, it may take some time to answer :)
