FAQ: Sharing files between Amigas and PCs ----------------------------------------- Current and former Amiga users often ask about getting files between Amigas and PCs; this FAQ should give you some ideas about how to do it and answer most of the common questions. This FAQ was written by Ben Hutchings . This is version 0.13 of the FAQ, dated 28th May 1997. There are probably many bugs and omissions; please report them to me as soon as possible. If you have any hints, comments, or experiences to share, please send to me too. 0 Contents ------------ 1 Floppy disks 1.1 Obstacles to sharing 1.2 The compromises 1.3 Software for the Amiga 1.3.1 CrossDOS 1.3.1.1 Installing CrossDOS drivers 1.3.1.1.1 Installing CrossDOS drivers for external drives 1.3.1.1.2 Uninstalling CrossDOS drivers 1.3.1.2 Loading CrossDOS drivers manually 1.3.1.2.1 Loading CrossDOS drivers for external drives 1.3.1.3 Using CrossDOS 2 Serial and parallel transfer 2.1 Serial transfer 2.1.1 Hardware for serial transfer 2.1.2 Software for serial transfer 2.1.3 How to do serial transfer 2.2 Parallel transfer 2.2.1 Hardware for parallel transfer 2.2.2 Software for parallel transfer 2.2.3 How to do parallel transfer 3 Networking 3.1 Hardware 3.2 Software 3.2.1 The various TCP/IP stacks 3.2.2 Samba 3.3 How to transfer files through the network 3.3.1 On the Internet - PC running dialup only 3.3.2 On a TCP/IP network - PC running *ix 3.3.3 On a TCP/IP network - PC running Microsoft networking 3.3.4 On a Novell Netware network (not yet done) 4 Hard disks (not yet done) 5 Zip/Syquest disks (not yet done) 1 Floppy disks ---------------- 1.1 Obstacles to sharing ------------------------- There are 3 problems with sharing floppy disks: 1. Most Amigas have only a DD (double-density) floppy drive, and can't deal with the HD (high-density) floppy disks which are now standard for PCs. 2. The Amiga disk drive controller is quite flexible within the limitations of (1); it can write up to 12 sectors on a track, and it doesn't require any gaps between them. Unfortunately PC floppy disk controllers need gaps and markers to separate sectors. 3. Most PCs use software from some tiny cowboy operation called Microsoft, which has an obscure file-system all of its own. Amigas have a nice whizzy file-system with comments and lots of file attributes, which PCs don't know about. 1.2 The compromises -------------------- To get round these obstacles, you have to make some compromises, and go for the lowest common denominator in each area: 1. Don't use HD disks. Use only DD disks, and format them on the Amiga (see below for how to do this). HD floppy drives cannot format DD disks reliably; you will usually get some errors when you try to read the data back on the Amiga. 2. You have to use a 9-sector format with sector gaps on the disks. 3. You have to make your Amiga use the same Microsoft file-system on the disks. 1.3 Amiga software ------------------- Now to make the Amiga stoop to this level, you need some appropriate driver software. There are several such packages: 1. MessyDOS. This is an old PD product which you may find lying around somewhere. 2. DOS2DOS. This is an old commercial product which is no longer developed. 3. MSH + an appropriate driver. Another PD product. 4. CrossDOS. This is a fairly up-to-date commercial product. I don't know whether it is still developed though. A limited version of this is included with AmigaOS releases 2.1, 3.0 and 3.1 - i.e. with all A1200s and A4000s, and with late A600s. 5. MultiDOS. This is freeware, and can be found on Aminet as misc/emu/multidos1_12.lzh; however, if you can't download this onto an Amiga or Amiga disk you may have some trouble. See the section on serial transfer for some hints, though. I won't give any instructions for MessyDOS, DOS2DOS or MultiDOS as I haven't used these, and there are bound to be some instructions with them. I suspect that the manuals for the A600/A1200 probably never said enough about CrossDOS, though, so I'll give some brief information here. 1.3.1 CrossDOS --------------- The Amiga has a very flexible way of dealing with device drivers and filesystems, so you can add them easily at any time. If the Amiga user only wants to deal with PC floppies occasionally it's a waste of memory to load the appropriate device driver every time the computer boots; if he's using them very often then it's an annoyance to have to load it manually before using any such disks. You decide which way you want to do things. 1.3.1.1 Installing CrossDOS drivers ------------------------------------ To make sure the appropriate drivers are loaded every time the computer boots, you need to copy some files, which you can do by dragging icons on the Workbench. WARNING: If you have no hard disk and use floppies to boot your Amiga, you should use *copies* of your Workbench disk and other system disks, rather than the original. *Never* modify your Workbench disk - store it away somewhere safe. This might seem obvious, but many people just ignore the warning in their manuals, so if you are one of them please take note and protect your valuable software! OS 2.1, floppies: Open the windows for your Workbench disk and for the Extras disk. On the Extras disk you will find a "DOSDrivers" drawer. Open that, and drag the icon "PC0" from it to the WBStartup drawer on your Workbench disk. If you have only one floppy drive, you will find it easier to drag to the Ram Disk, change floppies, and then complete the operation. OS 2.1, hard disk: Open the windows for your System partition and for the Extras disk. On the Extras disk you will find a "DOSDrivers" drawer. Open that, and drag the icon "PC0" from it to the WBStartup drawer on your System partition. OS 3.0/3.1, floppies: Open the windows for your Workbench disk, the Devs drawer of your Workbench disk, the Storage disk, and the DOSDrivers drawer of the Storage disk. Drag the icon "PC0" from the DOSDrivers drawer on Storage to the DOSDrivers drawer in Devs. OS 3.0/3.1, hard disk: Open the windows for your System partition, the Devs drawer, the Storage drawer, and the DOSDrivers drawer inside the Storage drawer. Drag the icon "PC0" from the last drawer to the DOSDrivers drawer inside Devs. The drivers will not be loaded until you reboot; after this they will be loaded every time you boot. If you want to remove the drivers, see section 1.3.1.1.2. 1.3.1.1.1 Installing CrossDOS drivers for external drives ---------------------------------------------------------- The above instructions only cover the internal floppy disk drive, normally accessed as DF0. If you want to install drivers for using an external floppy disk drive (DF1) substitute "PC1" for "PC0" above. For further disk drives (DF2, DF3), make a copy of the PC0 or PC1 icon, rename it appropriately, and change the UNIT tooltype in the icon's information to read UNIT=2 or UNIT=3 as appropriate. 1.3.1.1.2 Uninstalling CrossDOS drivers ---------------------------------------- OS 3.0/3.1, hard disk: Open the appropriate drawers, and drag the "PC0" icon back to where it came from. All other configurations: Delete the copy of the "PC0" icon from where you put it. 1.3.1.2 Loading CrossDOS drivers manually ------------------------------------------ This depends on your system configuration. OS 2.1: Insert the Extras disk, open its icon, and open the DOSDrivers drawer inside it. Then double-click the PC0 icon inside that. OS 3.0/3.1, floppies: Insert the Storage disk, open its icon, and open the DOSDrivers drawer inside it. Then double-click the PC0 icon inside that. OS 3.0/3.1, hard disk: Open the icon for your system partition, the Storage drawer inside it, and the DOSDrivers drawer inside that. Then double-click the PC0 icon inside that. 1.3.1.2.1 Loading CrossDOS drivers for external drives ------------------------------------------------------- The above instructions only cover the internal floppy disk drive, normally accessed as DF0. If you want to load the drivers for an external floppy disk drive (DF1) substitute "PC1" for "PC0" above. For further disk drives (DF2, DF3), make a copy of the PC0 or PC1 icon, rename it appropriately, and change the UNIT tooltype in the icon's information to read UNIT=2 or UNIT=3 as appropriate. 1.3.1.3 Using CrossDOS ----------------------- Once the CrossDOS drivers are loaded, the Amiga deals with MS-DOS disks just like native Amiga disks - with the difference that they appear in the drive PCn: instead of DFn: (n=0,1,2,3). One side-effect of using two different drive names is that when you insert a disk you will get a "bad disk" icon for whichever drive isn't appropriate to it. (This won't happen for PCn: if you don't actually install the driver.) You can get round this by using MultiFileSystem, which can be found on Aminet: disk/misc/mfs21.lha. However, I must warn you that this is a bit of a hack and it quickly crashed my system, although I'm sure it works fine for many people. There is a program called "CrossDOS", which you can find in the Commodities drawer of the Tools drawer of your Extras disk or boot partition, which lets you change some aspects of CrossDOS behaviour. These are useful for dealing with text files. If you want to read a plain text file created on a PC, you will normally want to select both "Text Conversion" and "Character Translation". For all other files, you must be sure to turn these options off, otherwise the files will be corrupted. The CrossDOS program is a commodity, so you can pop its window up with a hot key at any time once it's loaded. See your manual for information about commodities. 2 Serial and parallel transfer ------------------------------- If the Amiga and PC are close together, or can temporarily be brought together, it may be easier to wire them up using appropriate ports, and transfer files that way. The advantages of this are that you don't need to worry about disk formats, you don't need to move things round, and you usually get automatic error correction and other nice features. You'll need a cable of some sort and appropriate software to do this. 2.1 Serial transfer -------------------- This is very slow, unless you have enhanced ports on both the Amiga and PC which can handle up to 115,200 bps, in which case it's just plain slow. However, you probably won't need to unplug anything else to do this, so there's one advantage. ;-) 2.1.1 The hardware for serial transfer --------------------------------------- First, you need to get a "null-modem cable". This are readily available in good computer shops, and cost about $10 or about twice as much in local currency in Europe. ;-) Before you go out and buy one, check what kind of serial port you have free on the PC - it should be either 9-pin or 25-pin. The Amiga's built-in serial port is 25-pin; some expansion cards provide 9-pin ports, but I'm sure you know that if you've bought such a thing. Be sure to get an appropriate cable! I use a universal null-modem cable which has both 9- and 25-pin plugs on both ends, which cost me UKP 15; this lets me connect just about any two standard-ish serial ports together. 2.1.2 The software for serial transfer --------------------------------------- One possibility is to use PC2Am, which you will find in Aminet archive comm/misc/PC2Am308.lha. This requires AmigaOS 2.0 or later and MS-DOS 6.x or Windows 95 on the PC. This is probably the nicest solution, because it makes the PC's drives look like subdirectories of a new Amiga drive called PC. For instance, to read the PC's AUTOEXEC.BAT file, run "more pc:c/autoexec.bat" on the Amiga. You can use your favourite Amiga directory utility, or the Shell, or the Workbench, to transfer files either way - although I've heard that DOpus may have problems copying large files. If you can't or would rather not use PC2Am, you'll need to get communication packages for both sides instead. There's a simple Terminal program in Windows, and supplied with most "integrated" packages like Microsoft Works, but these aren't very good. I've heard ProComm is one of the best on the PC. This is available for both MS-DOS and Windows - run a search at http://www.shareware.com/ to find a nearby site to get it from. Under Linux, I really have no idea what your options are. On the Amiga, I use term. This can be found on Aminet in the comm/term directory; read the file term-roadmap.txt to find out which files you should download. However, term likes to have about 2M of memory and needs OS 2.0. A more lightweight comms program, which will run under OS 1.2 and OS 1.3 as well, is NComm, which is in Aminet archive comm/term/ncomm30.lha. This still needs 1M of RAM though, so if you have less than this you'll have to search for something smaller still. 2.1.3 How to do serial transfers --------------------------------- If you're using PC2Am, read the guide which comes with it. I haven't used this program myself, but from what I've heard it's easy enough to use. First, connect the two machines' serial ports using the cable. To be safe, you should turn off both machines for doing this, though I must admit I never bother to. ;-) If your PC's mouse has a 9-pin plug, chances are that it's plugged into the "COM1" port, and the port you'll be using is "COM2". Otherwise you're probably going to be using "COM1". You need to set up both communications packages with identical settings. Normally you will want to choose to use 8 bits, no parity, 1 stop bit, and then choose a bps (bits-per-second) rate that both sides can handle. (Sometimes you will see the term "baud" used instead of "bps", although this is incorrect. "Baud rate" is only meaningful in relation to modem connections, and even then not of much interest.) Make sure to set the serial port on the PC to be COM1 or COM2 as appropriate. Start by setting both sides to 14,400 bps, then type some stuff at either keyboard, and make sure it comes out OK on the other computer's screen. If you can't get that far, refer to your documentation or a local comms expert. I don't want to have to help people debug their serial connections, as I'm no expert on this. If this all works OK, next try transferring some files across. On the computer receiving files, set the file transfer protocol (no, not that ftp!) to Xmodem, and tell the program to download a file. Select a filename for it. On the other computer, set the protocol to Xmodem as well, and tell it to upload a file. Select the file you want to send, and see how things go! If that didn't work, and you got messages about "CRC errors" which the receiving end couldn't recover from, try a lower bps rate (on both computers). If it went OK, try progressively raising the bps rate until you *do* get lots of errors, then use the highest bps rate which was OK. Also make sure that files can be transferred correctly in both directions. Once everything works, save the settings so you can use them every time you want to transfer files. You can probably set most programs to send/receive files in batch, so you don't need to keep specifying filenames on the receiving end - you just specify a directory, and then the receiving end uses the same filenames as the sender. I know term can do this, at least. 2.2 Parallel transfers ----------------------- Parallel transfers are quite a bit faster than serial transfers; in fact, they're probably faster than using floppy disks. However, there isn't so much choice of software for doing parallel transfers. 2.2.1 Hardware for parallel transfers -------------------------------------- You need a 25-pin parallel-to-parallel cable, commonly sold as a "Laplink cable", after the popular program Laplink which does just what we want to do here but only between PCs. Availability is much the same as for null modem cables (see section 2.1.1). 2.2.2 Software for parallel transfers -------------------------------------- The only software I know of is PC2Am - see section 2.1.2 for information. 2.2.3 How to do parallel transfers ----------------------------------- Read the PC2Am manual - I've never tried this myself. 3 Networking ------------- There are a variety of networking solutions for the Amiga. I've included brief details of these, but for more information, you should read the Amiga networking FAQ. You can find the two parts of this in the newsgroup comp.sys.amiga.datacomm or on the web as http://www.lib.ox.ac.uk/internet/news/faq/archive/ amiga.networking-faq.part1.html and amiga.networking-faq.part2.html (and probably at many other sites, but this is the closest to me!). 3.1 Hardware ------------- You can do what most people do, and use a modem with a driver for dialup access to the Internet or a private TCP/IP network (I guess). If you have Linux or another *ix OS on your PC, you may be able to run slirp or a PPP server and create a private network, or connect through the PC to any TCP/IP network the PC is connected to. It may be possible to dialup with other types of networking, but I wouldn't know about that. Finally, there are a number of Ethernet and Arcnet cards available, and you should be able to fit one to most Amiga models. 3.2 Software ------------- Virtually all Amiga networking software is based on TCP/IP, and more specifically at the Internet. Possibly you could use temporary storage on a shell account or FTP site to transfer files between an Amiga and a PC which both have Internet connections, but you could also set up a LAN containing just your two computers, or you could make the Amiga part of an existing LAN. There are two "standard" TCP/IP socket-based protocol stacks for the Amiga, called AS-225 and AmiTCP. (Socket-based means that they are suitable for accessing Unix hosts and the Internet.) Some programs only work with one or the other, but most work with both. There is a Novell Netware client available for the Amiga, but it's not cheap and isn't fully supported any more. It's now distributed by Interworks, and you can find details on their web pages at http://www.iworks.com/iw/oxxi_t.html. I believe it's also possible to make Netware servers run an NFS service over TCP/IP, so you may be able to share files with Netware servers that way. Lastly, there is a free package called Samba, which includes a client and servers for Microsoft networking (as used by LanManager, Windows for Workgroups, Windows 95, and Windows NT). It runs on top of any Amiga TCP/IP stack, so you must have one installed on the Amiga and on the PCs you want to connect to; note that TCP/IP is not included in the default installation of WfWg or Win95. 3.2.1 The various TCP/IP stacks -------------------------------- AmiTCP is a commercial product. You can download a demo from Aminet: comm/tcp/AmiTCP-demo-40.lha. It is quite tough to set up, but appears to be the most powerful and flexible TCP/IP stack available at the moment. For dialup Internet access with AmiTCP, you will probably want to use AmiPPP by Holger Kruse. This is shareware; the evaluation version can be obtained from Aminet: comm/net/PPP1_45.lha. Note that this is unlikely to be developed further as the author is now concentrating on developing Miami. AmiTCP can use any networking hardware you have - dialup, local serial link, Arcnet or Ethernet. AS-225r1 is old, obsolete, and unsupported. AS-225r2 was released only to developers by Commodore. I-Net 225 is what AS-225 evolved into after its development was taken over by Interworks; it is a commercial product. It is included in the "Amiga Surfer" pack. See http://www.iworks.com/iw/inet225.html for details of the product and distributors. This includes AmiPPP, but only the evaluation version (which you can get from Aminet anyway). I-Net 225 can use any networking hardware you have, just like AmiTCP. Miami is shareware, and compatible with AmiTCP; you can download the evaluation version from Aminet: comm/tcp/Miami20e.lha. It can use any networking device, just like AmiTCP, and it includes a PPP driver for dial-up and local serial connections. TermiteTCP is a commercial product published by Oregon Research. It is compatible with AmiTCP. I don't know who it's distributed by, except in the UK where I think HiSoft is the exclusive distributor. See http://www.hisoft.co.uk/ for details. (I can't give you the exact page as the web server was down when I checked.) It can only make dialup connections. MLink (or Multilink) is shareware. It is compatible with both AmiTCP and AS-225. It connects to Multilink on a Unix machine (e.g. a PC running Linux) via a serial link to make a TCP/IP connection between the two. It cannot use any other networking hardware. Envoy is a TCP/IP stack, but it provides Amiga-specific servers rather than socket-based things. It is not useful for networking Amigas to PCs, as far as I know. 3.2.2 Samba ------------ Samba is freeware (approximately), and can be downloaded from Aminet: comm/net/samba-1.9.16p9.lha. I haven't tried setting up any of the servers it includes, but I've used smbclient successfully. 3.3 How to transfer files through the network ------------------------------------------------ Please note that where I write "a TCP/IP network" below, this includes the Internet, of course! 3.3.1 On the Internet - PC running Internet dialup only -------------------------------------------------------- Use an ftp client on the sending machine to send files to an ftp server you are allowed to store files on. Then use an ftp client on the other machine to fetch them from the ftp server. 3.3.2 On a TCP/IP network - PC running *ix ------------------------------------------- Set up ftpd on the *ix machine, if you haven't already. Then use an ftp client on the Amiga. 3.3.3 On a TCP/IP network - PC running MS networking ----------------------------------------------------- The Samba program "smbclient" lets you transfer files much like ftp. First, you must make sure that the appropriate directory on the PC is shared and has appropriate permissions associated with it. Then, on the Amiga, enter the command: smbclient \\remote-name\share-name -I remote-address -U username -W workgroup where: remote-name is the remote machine's machine name within Microsoft networking (*not* the IP hostname) share-name is the name under which the drive/directory is shared remote-address is the IP address or full hostname of the remote machine username is the name of a user entitled to access this share (normally, your own username) workgroup is the workgroup of the user (normally, your own workgroup) You will normally be asked for the user's password. Then you get a prompt, just like in ftp. Enter "help" for a list of commands. Samba also includes a server you can use to share directories/drives on your Amiga with machines using Microsoft networking, but I've never done this myself so you'll have to read up on this in the Samba documents to find out how to do it. 3.3.4 On a Novell Netware network ---------------------------------- I would appreciate some details of how this works.