<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>