[misc.wanted] Write protect for hard drive

jca@pnet01.cts.com (John C. Archambeau) (05/25/90)

guevin@hq.af.mil (P.R.Guevin) writes:
>I have a system which is in a rather public area.  Quite a lot of people
>use it.  As a result, there is quite a potential for problems.
>
>What I am looking for is anything that can write protect a hard-drive
>on a DOS based PC.
>
>Does anyone know of anything that will work (hardware and/or software)?

The only thing I can think of is a shareware program called HDSENTRY.  What it
does is disable the interrupt for all writes to the hard drive.  It beeps and
prints a message everytime a write to a hard drive is attempted.  Only way out
of HDSENTRY is to reboot.  This works fine from DOS.  I don't know if the
program is available anymore.  Check simtel20.arpa to see if they still have
it in their archives.  Only other option is to write your own program that
will disable DOS writes to a hard drive.
 
     // JCA

 /*
 **--------------------------------------------------------------------------*
 ** Flames  : /dev/null                     | Small memory model only for
 ** ARPANET : crash!pnet01!jca@nosc.mil     | Unix?  Get the (*bleep*) out
 ** INTERNET: jca@pnet01.cts.com            | of here!
 ** UUCP    : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

mathrich@mthvax.cs.miami.edu (Rich Winkel) (05/26/90)

There is a way to do it in hardware, although I've never tried it myself:
The signals in question are called 'write gate' and 'write fault'.  The
first is signalled by the disk controller to tell the drive to enable the
write circuitry, the second is signalled by the disk to tell the controller
that the write failed.  On an XT, write-gate is wire 6 on connector J1,
write-fault is wire 12 on J1.  The idea is to wire a switch between the
controller and drive so that, in the normal position, these lines run
straight through, and in the protected position, the WG line from the
controller is connected to the WF line from the controller, the WG line from
the drive is grounded, and the WF line from the drive is disconnected.  For
this you need a triple pole double throw toggle switch wired like so:

Drive side			Controller side

	_________________
	|		|
	x	x\	x
_________	  \
WG	|	   \		WG
	x	x   \	x----------
________________|    \
WF		      \		WF
	x	x      \x----------
	|
	|
     -------
      -----
       ---
	-
	
The x's are the solder lugs on the back of the switch.  The up position
would be normal, down would be protected.  (the inverted triangle under the
lower left 'x' means 'grounded'.  A convenient ground on the XT is line 1 on
connector J1)

Like I said, I've never done it, but I've been told it works, and it looks
right on paper :-).

Rich