Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jun 2001 12:25:04 -0600
From:      Warner Losh <imp@village.org>
To:        Ian Dowse <iedowse@maths.tcd.ie>
Cc:        Mark Hittinger <bugs@freebsd.netcom.com>, hackers@FreeBSD.ORG
Subject:   Re: Strange request: Reading RX-50 (aka DEC Rainbow 100) disks 
Message-ID:  <200106101825.f5AIP4l20899@billy-club.village.org>
In-Reply-To: Your message of "Sun, 10 Jun 2001 17:14:56 BST." <200106101714.aa32440@salmon.maths.tcd.ie> 
References:  <200106101714.aa32440@salmon.maths.tcd.ie>  

next in thread | previous in thread | raw e-mail | index | archive | help
[[ 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 <200106101714.aa32440@salmon.maths.tcd.ie> 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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106101825.f5AIP4l20899>