[comp.sys.amiga.hardware] Hardwareless hack?

inuy@vax5.cit.cornell.edu (11/23/90)

Today I was looking through my hardware reference manual for my old Amiga A1000
and I got to looking at the external disk interface connector.  This looks like
a real easy place to build some neat add on's.  The first thing that came to
mind was a current track display with a pair of counters, but that requires
parts.  Not that that should stop one, but it does make it hard to 'play' on a
day when every electronics store in the USA is closed.  However after looking
over the port a bit more I think I have hit upon a just about hardwareless
useful hack! I have not attempted this yes as I need to get a pair of db23's
(BTW anybody know where I can get db23's in small quanities?)  Anyway, after
looking I noaticed that track 0 line (TK0*, pin 15) and the disk write protect
line (WPRO*, pin 14) are both open collector.  I would be willing to bet that
one could just unplug there external drive and plug in a db23 with pins 14 and
15 jumpered and that would make it very hard for a viri to write to track zero.
What do you think?  Can it really be this easy?

Matthew

johnhlee@flute.cs.cornell.edu (John H. Lee) (11/29/90)

In article <1990Nov23.012503.1150@vax5.cit.cornell.edu> inuy@vax5.cit.cornell.edu writes:
[...]
>looking I noaticed that track 0 line (TK0*, pin 15) and the disk write protect
>line (WPRO*, pin 14) are both open collector.  I would be willing to bet that
>one could just unplug there external drive and plug in a db23 with pins 14 and
>15 jumpered and that would make it very hard for a viri to write to track zero.
>What do you think?  Can it really be this easy?
>
>Matthew

Close, but there are problems.  First off, simply jumpering those two together
will:
	1)  cause TK0* to be active whenever a write-protected floppy is
	    inserted (so the drive appears to be always at track 0), and
	2)  cause *all* drives to be non-track-0 writeable.

You can fix these two problems by using a open-collector OR-gate to neg-logic
AND the TK0* and SEL* signals together to drive WPRO*.

But a more serious problem has to do with the fact that the signal is output-
only from the drive and only a data-bit to the controller.  You're not really
write-protecting the drive, but merely telling the controller that the disk
is protected whenever the head is at track 0.

For the Amiga, I believe the floppy controller does not enforce write-
protection.  Software and the drive itself does.  Also, the trackdisk device
may not check the write-protect signal except when a disk is inserted (not
unreasonable since it's difficult for the user to (de)write-protect a disk
loaded in the drive.)  In this case, a write-enabled disk will: (a) always
appear write-protected (head at track 0 when disk is checked), or (b) will
never appear write-protected (head not at track 0.)  In the latter case,
the trackdisk device will write on track 0 anyways despite the circuit.

Then how to do what you want?  One possible method is to disable the write
gate signal to the drive whenever TK0* and SEL* are active.  Possibly using
one quad OC-NAND chip.  But there are timing considerations (like making
sure the signal is off at the right time w/respect to the drive select.)

To sum it all up:  I wish it were that simple.

-------------------------------------------------------------------------------
The DiskDoctor threatens the crew!  Next time on AmigaDos: The Next Generation.
	John Lee		Internet: johnhlee@cs.cornell.edu
The above opinions of those of the user, and not of this machine.