[[ Lots of details on how to do this deed, or at least the format
   of the Rainbow disk, follow.  Hit 'n' or 'd' if you don't care ]]

In message <[EMAIL PROTECTED]> Ian Dowse writes:
: The fdcontrol program allows most of the paramaters to be set to
: match the disks, but unfortunately it cannot set the sector offset.
: MSDOS disks sectors are numbered starting at 1 (the sector offset
: is 1), but it was common practice with old 8-bit CP/M-type systems
: to choose sector numbers starting at 0x41, 0x81 or other values.

That's OK.  The Rainbow disks have sectors numbered 1 through 10, for
both CP/M disks and MS-DOS disks.  This makes things easier to cope
with.

: The patch below is against RELENG_4 around Jan 2000, so it will
: need updating. I'm also not sure what sector offset the DEC Rainbow
: used - I think I have a Rainbow boot disk here, but I'd have to
: dig out a 5.25 floppy drive to check :-) Once you get the settings
: right, you can just dd the disk to an image file.

Well, here's the technical data I could find on the rainbow's disks
(boy, I'm glad I got the technical docs set with the unit, it was over
my head for the most part when I was 16, but it is perfectly readable
to me now).  I'm not sure what to put for the "gap" "trans" or "f_gap"
parameters, so I'll include a little more info than most people would
generally want.  However, it may prove useful to other people trying
to read different formats in the future. so here goes:

--------------

1 head                          (although I have drives with 2 heads)
10 sectors per track
80 tracks
250kB/s transfer rate
300rpm

Track Format:

Description             No Bytes        Contents
Pre ID Gap              47              0x4e
ID Fields
  Sync                  8               0
  Mark                  3               0xa1
  Header IDAM           1               FE
Track Address           1               Track number (0-0x4f)
Side Number             1               0
Sector Address          1               Sector (1-10)
Bytes/sector code       1               0x2
CRC                     1               Calc CRC [See note 1]
Pose ID Gap             22              0x4e
Data Fields
  Sync                  12              0
  Mark                  3               0xa1
  Data DAM              1               0xfb
Data                    512             <YourDataHere>
  CRC                   2               CRC over data
  Post Amble            1               0
Pre_index gap           70 [2]          0x4e

Note 1: I think the length here should be 2 rather than 1 based on
other text

Note 2: "This field is written once per track until an index field is
encoutered"  Whatever that means.

--------------

Finally, I have the actual disk drives (both the RX-50 and the TEAC
FD-55 which is a two sided version of the RX-50) that I could connect
for this project.  Any thumbnail about how to add a new type of drive
to fd.c?  What parameters do I need for it?

Finally, I have a few minor cleanups of my own for the floppy driver.
Mostly removing the last gasping vestiges of the ft driver that lived
in fd.c.  I'd also like to move isa/fd.c into
dev/fd/fd{,_isa,_pccard}.c so we can eliminate one of the last
remaining NCARD variable useages.  Anybody special I should talk to
before doing this?  My guess is Joerg.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to