<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 23 Jun 2009 22:48:56 +0100
From   : pete@... (Pete Turnbull)
Subject: reading data from old hard disk

On 23/06/2009 21:52, Jules Richardson wrote:
> Phil Blundell wrote:

>> - a Xebex card labelled "ASSY 104527 rev E04" which seems more likely to
>> be MFM.  But I don't have any documentation at all for this and,
>> consequently, no idea how to set it up correctly for the drive.
> 
> Probably a S1410. There's a jumper on them for selecting sector size. Problem 
> with them is that they're SASI, not SCSI :-( It's pretty easy to whip up a 
> circuit to drive them (beeb should have enough I/O pins I suspect), and 
> there's even an example circuit and code (Z80, IIRC) in the manual - but 
> that's just more work!

If it's just to read the disk, on a BBC Micro, the Winchester Host 
Adapter that's normally used to drive an Adaptec ACB4000 will do fine. 
Then you can use OSWORD &72 to read the drive.  If the drive matches the 
basic default settings of the Xebec S1410, that's all you need; that's 
unlikely, though as the default is for a small slow drive: an original 
ST506 that doesn't do buffered seeks.  Otherwise, you just need to stuff 
a few values into the card to set up its ideas of number of heads, 
number of sectors, etc.

I know this works fine because I used to sell S1410s with a formatter 
program and a little boot program to init the card, for Beebs.  It's 
been on my website for a while, because someone (from this list IIRC) 
asked for it a few years ago.  It's at
http://www.dunnington.u-net.com/public/BBC/XebecForm.html

and if you follow the link to the BASIC formatter you'll see what code 
you need to initialise it.  Look for PROCinit, which is what sets up the 
card for the drive.  It needs the number of heads, the number of 
cylinders, the step rate (IIRC, 0 means the drive can do buffered seeks, 
but check the manual), the cylinder beyond which to reduce the write 
current (to allow for the higher bit density), the cylinder to use as 
the landing zone, the number of spare tracks, and the sector interleave.

If you want a little program that you can run just to init the 
controller, look at PROCassemble_reset in the source code at 
http://www.dunnington.u-net.com/public/BBC/XebecAssem.txt.  It reads the 
parameters it needs from a file called "Drive_Info" in the "Format" 
directory on the drive -- this was always put on track 0 so it could be 
found regardless of geometry.  You could easily adapt this to read the 
data from elsewhere (eg the keyboard).

-- 
Pete                                           Peter Turnbull
                                               Network Manager
                                               University of York
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>