home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
648a.lha
/
HardBlocks_v1.2
/
ReadMe
< prev
next >
Wrap
Text File
|
1992-06-22
|
5KB
|
136 lines
Hardblocks Library v1.2 + HBtool v1.1
=====================================
Copyright:
----------
© Copyright 1992, Freeware, All rights reserved
Distribution EXCLUSIVELY permitted to Fred Fish for his PD software
library. Distribution via FTP allowed too. 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:
------------
1 = invalid parameters given to function
2 = out of memory
3 = selected device don't exist
4 = selected board from given unit number don't exist
5 = can't find target id of controller for rdb_HostID
6 = selected device unit don't exist or isn't ready
7 = reading from device failed
8 = writing to device failed
9 = selected device don't support HD_SCSICMD
10 = cannot issue SCSI command to self - SCSI controller addressed
11 = DMA error
12 = illegal or unexpected SCSI phase
13 = SCSI parity error
14 = select timed out
15 = status and/or sense error
16 = INQUIRY cmd failed
17 = MODE SENSE cmd failed
18 = other SCSI cmd failed
19 = TEST UNIT READY cmd failed
20 = drive type of selected SCSI unit isn't DIRECT ACCESS
21 = wrong value in rdb_BlockBytes (2**x >= 256)
22 = incorrect value in rdb_RDBBlocksLo/Hi
23 = reserved area (rdb_RDBBlocksLo/Hi) too small for current hardblocks
24 = block num greater than num of last logical block of device unit
25 = odd aligned ptr to block in memory
26 = block with unsupported id
27 = unknown hardblock type
28 = invalid hardblock size
29 = invalid hardblock checksum
30 = no RigidDiskBlock found
31 = invalid RigidDiskBlock
32 = invalid BadBlockBlock
33 = invalid PartitionBlock
34 = invalid FileSysHeaderBlock
35 = missing file system
36 = invalid file system
37 = invalid code for rdb_DriveInit
38 = invalid LoadSegBlock
39 = user aborted with <ctrl c>
40 = can't open given file
41 = seeking within file failed
42 = reading from file failed
43 = writing to file failed
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 Jürgeleit
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 :)