woodside@ttidca.TTI.COM (George Woodside) (02/16/90)
I've stumbled onto one sure fire way to do this, and thought that I may not be the only victim. Actually, this doesn't require an MS-DOS system, just any other computer with a compatible disk structure (including another ST). Read or write anything on a disk in an ST. Remove the disk, and put in the other system. Alter its contents. Put it back in the same drive in the ST (assuming you have not accessed another disk in the same ddrive). Write something on it. Poof. Disk corrupted. Why? Simplicity. I would have kicked myself if I had the agility required for such acrobatics. The ST identifies disks via the serial number. When a disk is removed, or inserted, the ST hardware recognizes that the media "may have changed". GEMDOS then checks the serial number before accessing the disk again. If the serial number has not changed, GEMDOS diagnoses the situation as "same disk", and deems the current buffers to still be valid. These buffers most likely contain portions of the directory and FAT. When you write to the disk again, the buffered directory and FAT are used, rather than re-read them from the disk. If you are running from the desktop, you can cure this situation with an ESCAPE in TOS 1.4, since that forces a disk re-read. In older TOS versions, or most shells, you have to access a different disk, then re-insert the one you want. Note that if both disks have the same serial numbers (like all disks formatted on MS-DOS machines do), you are really out of luck. You'll probably trash both of them. Is this a bug in GEMDOS? No. The operating system is behaving exactly according to the specifications. This is a more insidious problem: the dreaded Operator Error! Signed, STUPID in Santa Monica. -- * George R. Woodside - Citicorp/TTI - Santa Monica, CA * * Path: woodside@ttidca * * or: ..!{philabs|csun|psivax}!ttidca!woodside *