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>