[comp.sys.att] cpio for DOS and 3b2 - followup

samperi@dasys1.UUCP (Dominick Samperi) (10/14/87)

A while back I posted a request for information on the AT&T 3B2 floppy
drive, so that I could find a way to do file transfers between IBM PC's
and 3B2's via floppy disks. My aim is to write a version of cpio for
IBM PC's running MS-DOS that can read/write floppy cpio archives in IBM PC
or 3B2 format. It already has the capability of writing archives that
are compatible with the format used by Microport's System V/AT and
SCO Xenix. 

The only remaining problem is to determine how to read/write individual
sectors on a DS/DD floppy in 720K format (see 1 below). I know that there
is a program (intrcpt) that enables one to do this with DOS 3.2, but I'm
interested in a solution for DOS 3.* (I'm using 3.1). Perhaps someone
can give me a few pointers to tech journal articles on this. Apparently,
the program Fastback has the capability of writing 720K floppies with
DOS 3.1, so it is possible. I only need to read/write sectors; there's no
need for higher-level 720K floppy I/O.

Here is a summary of the information I've received so far,
and of my tests:

1. The 3B2 floppy drive formats 360K floppies so that they can store
   720K bytes by writing 80 tracks/side, two sides, with 9 sectors/track.
   Since there are 512 bytes/sector, the total capacity is 737280 bytes.

2. Standard IBM PC 360K drives write only 40 tracks/side, yielding a
   total capacity of 368640 bytes.

3. cpio archives can be written to 360K floppies in 3B2 (720K) format by
   using special device files supplied with Microport's System V/AT
   (/dev/rdsk/fd096ds9), or SCO Xenix (/dev/rfd096ds9). This is done 
   using a high density (1.2 Meg) drive on an AT.

4. Some of the responses included the suggestion that high density floppies
   be used, for increased reliability, but I haven't been able to do this
   on the AT's that I tested.

5. I haven't been able to transfer multi-floppy cpio archives between 
   the AT UNIX systems I tested and a 3B2.

6. At the present time my cpio for DOS can be used to transfer multi-floppy
   cpio archives between DOS and either of the AT UNIX systems mentioned
   above.

-- 
	Dominick Samperi, Manhattan College, New York, NY
		...!ihnp4!cmcl2!manhat!samperi
		...!ihnp4!cmcl2!phri!dasys1!samperi
		...!ihnp4!{pur-ee|iuvax}!bsu-cs!zoo-hq!magpie!samperi

rjd@tiger.UUCP (10/16/87)

> 1. The 3B2 floppy drive formats 360K floppies so that they can store
>    720K bytes by writing 80 tracks/side, two sides, with 9 sectors/track.
>    Since there are 512 bytes/sector, the total capacity is 737280 bytes.

  I beg to differ.  (But of course it is possible that I am overlooking
something.)
  Do this (with a formatted floppy in the 3B2 drive):

# dd if=/dev/diskette of=/usr/tmp/temp

  Your output file, the image of all information on the floppy minus the
format, comes to 728,064 bytes.  This may have some bearing on what you
are attempting (since you do not want to copy the format anyway).
BTW - this is the best method for copying 3B2 diskettes, just put another
formatted floppy in the drive, do a:

# dd if=/usr/tmp/temp of=/dev/diskette

And you have a copy....

Randy

wapd@houxj.UUCP (Bill Dietrich) (10/20/87)

> > 1. The 3B2 floppy drive formats 360K floppies so that they can store
> >    720K bytes by writing 80 tracks/side, two sides, with 9 sectors/track.
> >    Since there are 512 bytes/sector, the total capacity is 737280 bytes.
> 
>   I beg to differ.  ...
> # dd if=/dev/diskette of=/usr/tmp/temp
>   Your output file, the image of all information on the floppy minus the
> format, comes to 728,064 bytes.


The actual physical floppy does contain the 737280 bytes mentioned above.
But the last cylinder is hidden; it is used to hold a Physical Descriptor
Sector that the operating system (the driver) reads.  When you access
any of the normal floppy disk device files (/dev/diskette, /dev/rsave, etc)
you get only 79 cylinders worth, called the "logical disk".

Which part of the logical disk you get further depends on the VTOC (Volume
Table of Contents) which says things like "partition 5 == cylinders 30 to 78"
(numbers chosen at random; try "prtvtoc" to see what they are).  So if
you access partition 5 (whatever special device file has minor number 5),
you get that subset of the floppy.  "/dev/diskette" happens to be partition 6,
which is cylinders 0-78 (everything but the last cylinder, cylinder 79).

Hard disks work like floppies, with some differences :
	PDSECT - stored on 1st cylinder of hard disk, last of floppy.
	VTOC - stored on 2nd cylinder of hard disk, hardcoded in driver
							for floppy.
	There are more things, like defect maps and error logs, on hard disks.

The "fmtflop" command formats the floppy (physically) and then puts
the PDSECT on it (sort of a logical formatting).

There are special IOCTL calls to the driver to read/write any part of
the physical disk, including the parts outside the logical disk.
All this is documented in some driver design guide somewhere, I think (I hope).


					Bill Dietrich
					houxj!wapd

finegan@uccba.UUCP (Mike Finegan) (10/21/87)

If someone wants to write a device driver to do the DOS<=>3B2
horrors, is there a technical reference for the 3B2 floppy
drive, and are there good refernces for the appropriate DOS
floppies (1.2 or 360 - whichever) ? How about standard examples
of a device driver (with or without access to source) ?

Is there any standard for disk or tape cartridge tar (or cpio) format  ?
I have had no luck getting the 3B2 to read (or write) tape cartridges
written (or read) by 68000 based unix machines (whether Sys V or
Sun - BSD). It appears that even at the same density, there is a difference.
I realize that different tape drives may be aligned differently, is that
the problem?
I can't even get dd to work without errors if the disk was formatted on
a 68000 based Sys V system, for the same alignment reasons?

Is the idea lack of information transfer ? or do we want too much ?

					Mike Finegan
			...!(hal,decuac,mit-eddie,pyramid)!uccba!finegan

wapd@houxj.UUCP (Bill Dietrich) (10/21/87)

> Is there any standard for disk or tape cartridge tar (or cpio) format  ?
> I have had no luck getting the 3B2 to read (or write) tape cartridges
> written (or read) by 68000 based unix machines (whether Sys V or
> Sun - BSD). It appears that even at the same density, there is a difference.
> I realize that different tape drives may be aligned differently, is that
> the problem?
> I can't even get dd to work without errors if the disk was formatted on
> a 68000 based Sys V system, for the same alignment reasons?

3B2 expects floppy disks, hard disks and cartridge tapes to contain
certain OS-dependent or driver-dependent stuff that would make direct
transfer of them to/from other systems impossible.  There are various
descriptor sectors and/or defect tables and such on these media that
are 3B2-specific.  Even a DD won't work (on 3B2), because as soon as DD
opens the medium, the driver tries to read these descriptor sectors, and fails.
You will have to write a new driver on one system or the other to get
such a direct transfer to work.  Although I suppose a DD of a 3B2 medium
on the non-3B2 system might work, if you know what to strip off of the
resulting data.

9-track tape should be a different story, although I'm not
sure the 3B2/400 supports it (the 3B2/600 does).  There you should
only have to fight the problem of incompatible versions of CPIO.

					Bill Dietrich
					houxj!wapd

randy@chinet.UUCP (Randy Suess) (10/22/87)

In article <334@houxj.UUCP> wapd@houxj.UUCP (Bill Dietrich) writes:
>
>3B2 expects floppy disks, hard disks and cartridge tapes to contain
>certain OS-dependent or driver-dependent stuff that would make direct
>transfer of them to/from other systems impossible.  
>					Bill Dietrich
>					houxj!wapd

	I have routinely used cpio on my 3b2/300 with XM unit to
	transfer files between Altos 586/986 cartridge tapes and
	floppies, and Microport UNIX floppies using the undocumented
	96tpi 9 sec format on Microport.


-- 
that's the biz, sweetheart.....
Randy Suess
..!ihnp4!chinet!randy

len@netsys.UUCP (10/22/87)

In article <334@houxj.UUCP> wapd@houxj.UUCP (Bill Dietrich) writes:
$3B2 expects floppy disks, hard disks and cartridge tapes to contain
$certain OS-dependent or driver-dependent stuff that would make direct
$transfer of them to/from other systems impossible.  There are various
$descriptor sectors and/or defect tables and such on these media that
$are 3B2-specific.  Even a DD won't work (on 3B2), because as soon as DD
$opens the medium, the driver tries to read these descriptor sectors, and fails.
$You will have to write a new driver on one system or the other to get
$such a direct transfer to work.  Although I suppose a DD of a 3B2 medium
$on the non-3B2 system might work, if you know what to strip off of the
$resulting data.

This is not entirely true.. We have been able to read Altos 586/986 formatted disks
on the 3B2 using tar.

 Just thought I'd bring this up..


-- 
Len Rose -* Netsys Public Access Network *- The East Coast Machine
301-540-3656,3657,3658,3659    3B2/Unix SV3.0

larry@jc3b21.UUCP (Lawrence F. Strickland) (10/23/87)

in article <334@houxj.UUCP>, wapd@houxj.UUCP (Bill Dietrich) says:
> 
> 
>> Is there any standard for disk or tape cartridge tar (or cpio) format  ?
> ...
> 3B2 expects floppy disks, hard disks and cartridge tapes to contain
> certain OS-dependent or driver-dependent stuff that would make direct

I THINK I've been caught in this same problem.  Our school ordered source
code (and a license, of course :-) for SysVR3 to possibly be put on a
3b2/300.  Since the 3b2/300 doesn't have a tape drive BUT is connected to a
SUN 3/60, we ordered a cartridge tape.

We assumed/were led to believe that the tape would be readable by the SUN
system.  The installation manual even mentions sending the source for install-
ation over ethernet, RS 232, pieces of string, etc. from another machine.

However, despite much trial and error, there seems to be no way to read the
tape on a SUN, an 80386 running XENIX, a PC RT, and so on for about 15
different machines.  ALL of these machines can cut tapes the others can read,
though, only the AT&T tape is not readable.  By using a 3b2/400 (in another
city), though, we have determined that the tape is readable.

DOES ANYONE KNOW HOW TO READ THIS SUCKER ON A SUN or any other reasonable
machine?  The folks at AT&T, of course, shrugged their shoulders when
confronted with the problem (ya pays your money & ...)  I shudder to think
of the necessities if it can only be read on an AT&T machine.  Any help is
greatly appreciated.

-larry

-- 
+--------------------------------------+-- St. Petersburg Junior College --+
|        Lawrence F. Strickland        |   P.O. Box 13489                  |
| ...gatech!codas!usfvax2!jc3b21!larry |   St. Petersburg, FL 33733        |
+-(or) ...gatech!usfvax2!jc3b21!larry -+-- Phone: +1 813 341 4705 ---------+

guy%gorodish@Sun.COM (Guy Harris) (10/23/87)

> Is there any standard for disk or tape cartridge tar (or cpio) format  ?
> I have had no luck getting the 3B2 to read (or write) tape cartridges
> written (or read) by 68000 based unix machines (whether Sys V or
> Sun - BSD). It appears that even at the same density, there is a difference.
> I realize that different tape drives may be aligned differently, is that
> the problem?

There are standards for "tar" and "cpio" archives; our "tar" uses the same
"tar" format as every other "tar" out there, as does our "cpio" (not
surprising, as our "tar" and "cpio" are ultimately derived from the same source
as every other one out there).  (We ignore the problem of the S3 "cpio -c" code
and of non-"-c" "cpio" archives here.)

The problem is with the disk and/or cartridge tape formats.  While there are
standards for cartridge tape formats, this does not guarantee that a tape
written on a drive allegedly conforming to one of these standards can be read
on a different driver allegedly conforming to that same standard.  I have heard
it claimed that the fundamental problem is that cartridge tape drives tend to
be El Cheapo pieces of hardware not built to close tolerances.
	Guy Harris
	{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
	guy@sun.com

karl@ddsw1.UUCP (Karl Denninger) (10/23/87)

In article <1755@chinet.UUCP> randy@chinet.UUCP (Randy Suess) writes:
>In article <334@houxj.UUCP> wapd@houxj.UUCP (Bill Dietrich) writes:
>>
>>3B2 expects floppy disks, hard disks and cartridge tapes to contain
>>certain OS-dependent or driver-dependent stuff that would make direct
>>transfer of them to/from other systems impossible.  
>	I have routinely used cpio on my 3b2/300 with XM unit to
>	transfer files between Altos 586/986 cartridge tapes and
>	floppies, and Microport UNIX floppies using the undocumented
>	96tpi 9 sec format on Microport.

Re: Microport 96 tpi format:

This works, if you only want it to read/write the first 40 tracks.  If not,
you're out of luck.  Also -- it's *not* undocumented, it is documented in
the release notes which come with the system, as well as the limitation on
only using the first 40 tracks. 

This became important recently when we wanted to read a SCO Xenix diskette
(720K format) which had files past the first 40 tracks.  Couldn't do it on
Microport.

-- 

Karl Denninger				UUCP : ...ihnp4!ddsw1!karl
Macro Computer Solutions		Dial : +1 (312) 566-8909 (300-1200)
"Quality solutions at a fair price"	Voice: +1 (312) 566-8910 (24 hrs)

finegan@uccba.UUCP (Mike Finegan) (10/24/87)

In article <1755@chinet.UUCP>, randy@chinet.UUCP (Randy Suess) writes:
> In article <334@houxj.UUCP> wapd@houxj.UUCP (Bill Dietrich) writes:
> >
> >3B2 expects floppy disks, hard disks and cartridge tapes to contain
> >certain OS-dependent or driver-dependent stuff that would make direct
> >transfer of them to/from other systems impossible.  
> >					Bill Dietrich
> >					houxj!wapd
> 
> 	I have routinely used cpio on my 3b2/300 with XM unit to
> 	transfer files between Altos 586/986 cartridge tapes and
> 	floppies, and Microport UNIX floppies using the undocumented
> 	96tpi 9 sec format on Microport.

	Thanks Bill for the info. that the 3B2 has system specific stuff. I 
am a little enheartened to see that Microport Unix and the Altos can com-
municate. I have neither - just DEC, SUN, HP, and PC machines. (There is an 
hpio driver on the 3B2 ...) Since I got a little response from AT&T:
	Is there any documentation on the system specific goodies that thwart
most attempts at unix-unix data transfer? I have access to some source for tar,
etc., but not for any 3B2 device drivers. Did Microport & Altos make some deal
with AT&T, and is that the only reason they are compatible? I realize someone 
sells a product which does 3B2-DOS flopy transfer. Any ideas how they figured
it out?
				Thanks,
					Mike Finegan
				...!{hal,pyramid,mit-eddie,...}!uccba!finegan

samperi@dasys1.UUCP (Dominick Samperi) (10/25/87)

>	Is there any documentation on the system specific goodies that thwart
>most attempts at unix-unix data transfer? I have access to some source for tar,
>etc., but not for any 3B2 device drivers. Did Microport & Altos make some deal
>with AT&T, and is that the only reason they are compatible? I realize someone 
>sells a product which does 3B2-DOS flopy transfer. Any ideas how they figured
>it out?

I've successfully transferred files between DOS and Microport with cpio (using
my own version of cpio for DOS), and I've also transferred files between
Microport and a 3B2 using cpio (720K floppy format). Microport cpio archives
do not contain the device driver-specififc information that is expected by
the 3b2 driver, but file transfers work anyway, provided that the last
cylinder is not used (there are a few problems with Microport's 720K floppy
driver). It should not be difficult to modify my DOS cpio
so that it can format/read/write cpio archives that can be read/written on
a 3B2, but I would need to determine how to format/read/write 720K format
floppies first (9 sectors/track, 80 tracks/side).

-- 
	Dominick Samperi, Manhattan College, New York, NY
		...!ihnp4!cmcl2!phri!dasys1!samperi
		...!ihnp4!cmcl2!manhat!samperi
		...!pur-ee!rutgers!unirot!samperi