Obligatory Apple plug ->

I've done very similar things w/Apple disks. Most copy-protected Apple disks use very basic format protection (they change the marker bytes that designate the start of a given sector). One of the more reliable strategies I've used is to nibble copy the entire disk (tools are available for this all over), normalize the nibble copy, normalize the original, and compare the raw data. For coveted titles (nearly anything made by "Origin", namely "Moebius") I'll do this 3x per side to insure perfect integrity. I insure all error checking is enabled when extracting data, too.

By normalize I mean to read the raw data using the same code as the copy protection (requires some code analysis or analysis of the raw disk data), let it do all the fancy decoding, and write out the decoded data using normal DOS. This isn't necessary w/unprotected disks.

Truely "hosed" data can usually be discovered by re-reading a sector using a nibble editor (something that lets you see the raw, undecoded data). If the data appears wildly random each time, chances are the track is toast. The exception for PC folks would be tracks that use "weak bits", but that's for the copy protection, its not really "data" per se. I don't think this was ever used on an Apple.

I've used layered approaches as well, reading "in between" the tracks (quarter or half-tracks) when nibble copying the disk, and following the above, and also modifying the disk drive speed, and following the above. For games (as opposed to personal data where only one copy may exist), I've spliced sectors and tracks from multiple copies to make one good copy (danger: it was fairly common for multiple versions of a game to exist with no indicator that this was the case, so this isn't safe).

Its gratifying to find sometimes that areas that are physically damaged are unused :) I've had it happen more than once that the track that contained all the funny signatures to verify the copy protection had died, and also that games that only used say the first 16 tracks had errors on the last four (unused) tracks. Its easy to verify this on single-load games (just boot the original).

I've also had it happen that the copy protection was a slightly modified DOS (most are) and the bad sector was only in the protected DOS. With a few modifications, all the data could be recovered, and use a fresh copy of a standard DOS to load.

The best books to own are "Beneath Apple DOS" and "Beneath Apple ProDOS". That and a few issues of "Hardcore Computist", but those are much harder to come across.

And just so we don't let history repeat itself, always backup your favorite disks to disk image files (I used Disk Factory 3 for my PC stuff, and Azimov for my Apple II/IIgs), pack them in something that can detect errors like WinZIP (or Stuffit), and make multiple backups of the archives. Now send copies of those archive disks to your friends (encrypt personal data if you're paranoid) in case something happens to your storage facility, and you should be reasonably safe for at least the next 15-20 years when its time to juggle media again :)


On Dec 2, 2003, at 6:22 PM, Jim Leonard wrote:


(hopefully this information will be useful to those of us who have bad diskettes in their collection and want to give a shot at repairing them)

In further reply to Stuart, to recover truly broken disks (not copy-protected), it depends on how bad the damage is. Some bad disks are caused because of a power outage right when the drive was writing to the FAT (MS-DOS term, meaning "table of contents" of the files on the disk); there is a copy of the FAT on each (MS-DOS) disk, so you determine the "good" one and copy it to both locations. Not sure about other platforms, so I'll only talk about MS-DOS-formatted disks for now.

Most of the time, disks don't go *physically* bad (dent in the media, puncture, etc.) but rather lose strength over time, causing some 0s and 1s in a particular sector to be misread. (The drive knows that the data is wrong because it uses CRCs (a unique number generated from data) for each sector: If the CRC recorded on disk doesn't match the CRC calculated from the data, either the CRC is wrong or the data is wrong.) Recovering lost sectors can be handled several ways, but the first thing to do is to run a program that ignores CRC errors and just dumps the data to disk. If it's text, it should be a small to medium-size corruption that should be visible and fixable by a person.

If it's a program or other binary file, you need 100% correction. Norton's "disktool", PCTools, and MACE Utilities used to be the only tools widely available to consumers that "fixed" disks. They all followed a procedure similar to this:

1. Read a track. If no errors, write that track back to disk, "refreshing" the data. Rinse and repeat for all tracks.
2. If there WAS an error returned from reading the track, read each sector to determine which sector(s) have problems, then read each bad sector up to 64 times. If 8 or more consectutive reads return the same data, then calculate a new CRC and write the sector and CRC back to disk. If after all 64 reads no "run of 8" was found, take the largest consecutive run and write that back. If all 64 reads were different, average the results (ouch!) and write that back. In all cases, if the sector being written to returns an error on write (meaning, it truly is damaged), then write the sector somewhere else and update the FAT to point to the new location.


Gibson Research's Spinrite, a fantastic tool for diagnosing and optmizing old hard drives, also works on floppy disks. Gibson is a very anal man, and his utility is really incredible: It re-reads sectors sometimes up to 1024 times, and he interfaces with the drive at such a low level that he isn't reading 0s or 1s but rather the actual analog signal, which could be anywhere from -5 to +5v. The tool gathers statistics on these levels for a long time, and then determines which levels are 0s and 1s and write the result back to disk.

It may seem harsh that these utilities write back to disk -- the data is changed permanently, eliminating any further recovery attempts -- but in practice, this is okay because after 64 or 1024 consecutive reads of the same sector, the result obtained is as good as it is going to get :-)

When I used to work with floppy-only systems in the 1980s, I did a lot of *physical* repair: smudged fingerprint oil, spilled coke, dust, water damage, heat damage, etc. were handled the old fashioned way:

- Fingerprints were wiped away using lenspaper or some other non-abrasive cloth
- Spilled coke was washed away using a tissue (do NOT apply pressure!) wetted with warm water to loosen up the sugarwater until it was all on the wet tissue and not on the media; then a dry tissue was used to soak up the water.
- Water and heat damage usually only affected the JACKET of a 5.25" floppy disk, not the media itself. Fixing those involved splitting the seam of both the bad disk and a new blank disk you didn't care about with an x-acto knife, then carefully extracting the media from the damaged jacket and putting it into the good jacket. Seal with tape, read your data off your new Frankendisk, then copy onto a new disk and throw both mangled disks/jackets away.


The above may sound like physically harse treatment for disks, but remember we're talking about 5.25" low/double density disks (no more than 180K per side). The data was recorded sparsely around the track, so it could take more punishment. High density disks, like 3.5" 1.4MB disks, violently pack FOUR TIMES the information into 33% LESS space. I have 3.5" disks go bad on me every year, but I have 20-year-old 5.25" DSDD disks that still have their info on them.

It also doesn't hurt to try reading your disks in a different drive. I thought I had a lot of bad disks when it turned out the alignment of my drive was gradually slipping over time. While you can fix a drive's alignment by physically turning an adjustment screw, the cost of the calibration diskette and software to read it so you know what you're doing ($99) is several times the cost of just simply buying a new drive ($15). (Fun fact: I still have that badly-aligned drive, because once every few years I run across a diskette that was formatted and written to on that drive, and I need the wrong alignment to read it!)

This was long, wasn't it? I think I'll convert it to a Guide and stick it up on www.oldskool.org. I'll report back when I do.

A word of warning: DO NOT USE REPAIR UTILITIES ON COPY-PROTECTED DISKS! Typical copy-protection methods intentionally create errors on a disk that cause disk copying programs to fail on a read error. If you "repair" a copy-protected disk, you will actually *break* it (the program won't be able to find its specially-formatted sectors).
--
Jim Leonard ([EMAIL PROTECTED])
World's largest electronic gaming project: http://www.MobyGames.com/
A delicious slice of the demoscene: http://www.MindCandyDVD.com/
Various oldskool PC rants and ramblings: http://www.oldskool.org/




----------------------------------------------------------------------
This message was sent to you because you are currently subscribed to
the swcollect mailing list. To unsubscribe, send mail to [EMAIL PROTECTED] with a subject of 'unsubscribe swcollect'
Archives are available at: http://www.mail-archive.com/[EMAIL PROTECTED]/




----------------------------------------------------------------------
This message was sent to you because you are currently subscribed to
the swcollect mailing list. To unsubscribe, send mail to [EMAIL PROTECTED] with a subject of 'unsubscribe swcollect'
Archives are available at: http://www.mail-archive.com/[EMAIL PROTECTED]/


Reply via email to