Date : Tue, 06 Jul 2004 10:50:40 +0100
From : Richard Gellman <splodge@...>
Subject: Re: Acorn Winchester unit
Johan Heuseveldt wrote:
>Hi all,
>
>On Mon 05 Jul, Mark Usher wrote:
>
>
>
>>There are usually parameters in one of the command blocks on the SCSI unit
>>that you can set to the sector size. Just look at the SCSI spec, I can't
>>remember off hand just at the mo which one. Usually drive specs will tell
>>you if the drive has the capability or not, most of the older SCSI-1 drives
>>do.
>>
>>
>
>And others seem - I feel - to be optimistic too, for connecting a SCSI
>drive directly to the Host-Adapter, and let it work with ADFS.
>
>I don't want to spoil everyones appetite, but generally speaking this
>is /not/ possible.
>
>Why? Because SCSI drives won't allow a low level format, and there is
>no way to use a logical model of 256 bytes sector on top of the physical
>512 bytes per sectors /in/ the drive.
>
>
I have the SCSI spec at home (its a thrilling docu.zzzz doc.zzz mezzzz
ntzzzzzzz *SNORE*) that covers commands for formatting a device and I
believe it does mention specifics like sector size. Granted, an
Acorn-supplied utilities probably won't have a clue when a
512-byte/sector drive turns up, but you can use OSWORD &72 to pass SCSI
commands direct to the drive.
Someone mentioned "only using the first 10 or 40Mb". I've not used
Acorn's hard drive formatters yet, so I don't know how they determine
drive size, but the ADFS format supports quite unfeasibly large hard
drives (512Gb I believe). If the formatter won't recognise the whole
drive, there is a manual method (once the disk is in 256-byte/sector
mode) that can be use to create an ADFS filesystem on the drive:
Create free space map:
First sector needs to contain &00000001 (number of entries) followed
by &00000007 and fill the rest with zeroes (IIRC)
This points to the first sector of free space.
Fill in checksum on sector 0.
Sector 1 needs to contain &00000001 (number of entries) followed by
the size of the hard drive in 256-byte sectors, less 7.
This value needs to be 32-bit as before.
Fill in checksum on sector 1.
Create file system:
Fill in Sectors 2 to 6 with 0, and fill in start and end directory
strcuture identifiers "Hugo".
Fill in "Files on disk" field with 0.
Why 7? You need two sectors for the free space map, and 5 for the root
directory. I can't quite remember the full structure spec, but its
available quite readily.
BeebEm actually uses this method to initialise ADFS floppy images. ADFS
doesn't actually care about how big a drive is, as long as it can access
it cleanly.
-- Richard