Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!mcvax!hp4nl!eutrc3!rcbamw From: rcbamw@eutrc3.UUCP (m.waucomont) Newsgroups: comp.sys.atari.8bit Subject: Re: More on SIO Message-ID: <604@eutrc3.UUCP> Date: 24 Apr 89 17:04:08 GMT References: <38936@bbn.COM> Reply-To: rcbamw@eutrc3.UUCP (m.waucomont) Organization: Eindhoven University of Technology, The Netherlands Lines: 81 In article <38936@bbn.COM> slackey@BBN.COM (Stan Lackey) writes: >... >to read the PC-written disk, and then attempting to read sectors 1,2,3 >of an Atari disk (which, by the way, Atari keeps in SD. Question 1. >Is that done by software in the computer, or by the drive itself?) >.. >...SpartaDos... it seems those sectors may have been formatted DD... >... Question 2. Does anybody know? >.. >Finally. I still can't read PC-DOS disks. Are they in 256-byte sectors? >Is there some other incompatibility that will stop me? How do I find >out? Hi Stan! A little tutorial upon Atari DOS, also interesting for those who wonder why it is so hard to write software for an Atari to read/write PC-format... First of all, there is the BOOT PROCESS: When an Atari is turned on, it polls the serial bus for the presence of a drive. If it finds a drive, it loads the first three sectors, called the BOOTSECTORS. These sectors contain a piece of code (called the BOOTSTRAP), to load the rest of DOS.SYS. This code will be executed right after it is loaded. The code to read the bootsectors is in the ROM of the Atari and originates from the early days of the machine. When they had 128 byte sectors... This explains why, even on a DD (=256 byte sectors) disk, the first three sectors _have_ to be SD. On a DD disk the bootstrap does not only contain code to load DOS.SYS, but also code that replaces the OS-routines for sector I/O, thus allowing the next sectors to be of another density. Quite logical, isn't it? This is an answer to your first question. And to your second: No DOS can ever write DD bootsectors, since the Atari OS _requires_ SD bootsectors. Then there are some physical differences between Atari disks and PC disks. Atari uses SS, 40 track, 18 sectors/track, 128 (or 256) bytes/sector, versus (SS XT floppy) 40 track, 9 sectors/track, 512 bytes/track on a PC. An unmodified 1050 (I do not know anything about the XF551) can _ONLY_ read/ write 128 byte sectors. When those drives came out, Atari advertised with its capability to read/write E(nhanced)D(ensity) disks. They just crammed 26 sectors in a track (40*26*128=130K, vs SD:40*18*128=90K). As far as I have understood, the new (after my Atari time, so that's new to me :-)) ) XF551 can read/write 256 byte sectors, BUT THAT IS STILL NO 512 !!! To make things even worse, a PC drive uses the index hole of a disk to determine which sector is the first of a track. The 1050 makes that sector (about) twice as long... This should answer your third question... Sorry, but there is only one way to make an Atari drive read/write PC format disks: MODIFY THE DRIVE!!. The Atari drives contain a 6508, which is in fact a baby-6502(smaller casing, smaller address space), some ROM (containing software to perform its tasks, ie read/write, communicate with the Atari over a serial line, format a disk etc..), some RAM for sector buffering (only 128 bytes in a 1050..) and the very same disk controller as used in the PC (a WD1793, I believe). So the controller can be programmed to read/write PC format, but only by changing the code in the ROM of the drive.... DON'T PANIC: You don't have to do this all, it has been done allready!! There is an upgrade available for Atari drives, the Happy controller, which does all the things described. It was originally meant to boost the capacity of the slow 1050 and 810 drives. It does not only double the storage capacity, but also speeds things up quite a bit. I have heard that they ship their Happy Controller with software to read and write PC format disks!! Sorry, but I do not have their address..... (too bad...) Ciao! Michel J. Waucomont. DISCLAIMER: All the knowledge about the Atari 1050, it's internals and how to control it are reproduced from memory. The last time I have seriously been working with an Atari is about two years ago. This should explain my lack of knowledge about their latest products (XF551) and some of the inaccuracies, which might be in this article. The recent purchase of a second hand 800XL w. 1050, which happened to be equipped with a Happy controller, just revived my interest in the machine. Furthermore, I have got nothing to do with Happy, other than being a satisfied owner of a product of them...