| Posted By
Dunric on 2005-12-19 00:37:32
| The Save-With-Replace Bug
Several years ago, when I was not into the practice of regularly backing up my data disks, I would mysteriously lose data on diskettes which I thought would last for quite some time. Memorex, Maxell and Fuji Film were my chosen brands. Like most Commodorians, I trusted the 5.25 inch diskette to keep my precious data safe.
From time to time, though, I would lose data in rather bizarre circumstances. One minute I would be loading a program on disk, without any problem, and not ten minutes later the directory would fail to load (or if it loaded at all, the disk drive light would blink endlessly halfway through the disk directory).
The one thing that I did regularly (that I should never have done at all) was use something called "Save-With- Replace." A quick glance at the 1541 Disk Drive manual reveals that a shortcut command exists to both scratch and overwrite a file with a new version. If this sounds confusing, bare with me.
The Save-With-Replace command combines a scratch and save operation into a simple to use command as follows:
SAVE"@0:[program name]",8
The "@" symbol means "Save-With-Replace," which is followed immediately by the Drive Number "0" (not to be confused with the Device Number, which is "8").
All Commodore disk drives from the 1540 to 1581 supposedly suffer from a serious error in DOS known as The Save-With- Replace Bug. This bug strikes somewhat randomly, meaning that for the majority of the time diskette data is not corrupted by its use. However, whenever the BAM (Block Availability Map) is thrown out of whack, the Save- With-Replace Bug can creep up without warning.
For about 10 years (between 1986 and 1996), I used the Save-With-Replace command regularly. To make matters worse, I scratched Splat Files instead of Validating the disk (Splat Files are designated in the directory by a "*" symbol). Both of these actions seriously screwed up a lot of my data disks. I would love a 16 block program expecting to play the game "Sleuth," which would somehow mysteriously morph into part of a program called "Power Poker." If you've seen what a program looks like with messed up BASIC pointers and scrambled lines, then you've seen what the Save-With- Replace Bug can do to an unsuspecting program.
For some odd reason, the Save-With-Replace Bug only strikes certain files. I do not believe files 4 blocks or less are affected by the bug. I have only noticed the error crop up in files exceeding 6 blocks or more.
The lessons are thus very simple: never, ever, EVER use the Save-With-Replace command. Although a Compute! magazine article once described a way to avoid the bug, I wouldn't take any chances on it working 100% of the time. Commodore DOS is weird, and the Save-With-Replace Bug is something to be avoided like the plague.
Paul
|
|
Posted By
SVS on 2005-12-19 12:26:07
| Re: The Save-With-Replace Bug
This is a well known bug. It "seems" to appear when the disk has nomore of 2 free blocks, but this is not a sure evidence. Rumors says that 1551 is free of this bug, but once again I doubt about. Anyway the 1581 official manual insists to propose the save&replace syntax...
Me too, after experienced lost of data, I never used it.
|
|
Posted By
JamesC on 2005-12-19 19:52:41
| Re: The Save-With-Replace Bug
Supposedly this bug was fixed for 1571's 3.1 ROM as well. 1571 with original ROM still has this bug. The 128D-CR's 1571 does not have this bug, as it is a modified ROM.
I have never heard of Save-with-Replace being a problem on the 1570 or the 1581.
|
|
Posted By
Lavina on 2005-12-28 03:32:08
| Re: The Save-With-Replace Bug
Weird-O-Matic
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |