Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Commodore DOS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===The save-with-replace bug=== Commodore DOS also offers a "Save-with-Replace" command, which allows a file to be saved over an existing file without the need to first <code>SCRATCH</code> the existing file. This was done by prepending an <code>@</code> symbol to the file name during the <code>OPEN</code> or <code>SAVE</code> operation - for instance, {{code|lang=cbmbas|SAVE "@MY PROGRAM",8}}. For years rumors spread, beginning with the 4040 drive, of a bug in the command's implementation. At first, this was denied by some commentators. Prizes were offered to prove the existence of the bug.{{r|whittern198507}} By early 1985 ''[[Compute!]]'' magazine advised readers to avoid using the command.<ref name="compute198502">{{cite news | url=http://www.atarimagazines.com/compute/issue57/feedback_commodore_debate.html | title=The Great Commodore Save/Replace Debate | work=Compute! | date=February 1985 | accessdate=6 October 2013 | pages=10}}</ref> That year various authors independently published articles<ref name=whittern198507>{{cite journal | url=https://archive.org/stream/transactor-magazines-v6-i01/trans_v6_i01#page/n21/mode/2up | title=SAVE with Replace Exposed!! | author=Whittern, Charles H. | journal=[[The Transactor]] |date=July 1985 | volume=6 | issue=1 | pages=20}}</ref><ref name="slaymaker198510">{{cite news | url=https://archive.org/stream/1985-10-compute-magazine/Compute_Issue_065_1985_Oct#page/n77/mode/2up | title=Save With Replace: Debugged At Last / Part 1 | work=Compute! | date=October 1985 | accessdate=16 October 2013 | author=Slaymaker, P. A. | pages=79}}</ref><ref name="slaymaker198511">{{cite news | url=https://archive.org/stream/1985-11-compute-magazine/Compute_Issue_066_1985_Nov#page/n111/mode/2up | title=Save-With-Replace: Debugged At Last / Part 2 | work=Compute! | date=November 1985 | accessdate=30 October 2013 | author=Slaymaker, P. A. | pages=111}}</ref><ref>Editors. "Save@: Gerry Neufield's Theory on an Old Bug". ''[[Info (magazine)|Info]]'' β 9, December 1985/January 1986.</ref> proving that the Save-with-Replace bug was real and including methods by which it could be triggered. Affected devices included the single-drive 1541 and dual-drive 4040; the 8050 and 8250 did not exhibit the issue.{{r|whittern198507}} Some commentators suggested the bug could be avoided by always explicitly specifying the <code>0:</code> drive number when saving,{{r|slaymaker198510}} though it was later shown that ''any'' disk operations without a drive number were sufficient to lead to the bug.<ref>[news:35E70343.32B@spamsuxdoitnow.com Excerpt of e-mail from Philip A. Slaymaker] also archived at [https://groups.google.com/group/comp.sys.cbm/msg/f9d3a0a4949b1843 Groups.Google]</ref> The bug stemmed from the fact that the affected DOS implementations were modified versions of the DOS contained in earlier Commodore PET dual drives such as the 8050. This created a "phantom drive <code>1:</code>" on single-drive systems, resulting in the allocation of an unnecessary buffer under some conditions. Since the Save-with-Replace command used all five drive buffers, and because the method by which the "phantom" buffer was allocated did not meet specifications, this could result in scrambled data being written to the disk. In September 1986, Philip A. Slaymaker published an article<ref>Philip A. Slaymaker. "Eliminating SAVE@ and Other 1541 Bugs". ''[[The Transactor]]'' Vol. 7 β O2, September 1986, pp. 33β35.</ref> describing in great detail the cause of the bug and providing [[Patch (computing)|patch]]es to the 1541 drive ROMs; readers with an [[EPROM]] burner could produce their own patched ROMs which could be swapped into the drive. Commodore was made aware of Slaymaker's findings, and while they never issued an official update for the original 1541's ROMs, they did fix the bug in Revision 5 of the 1571 ROMs, and also in the ROMs for the 1541-c and 1541-II drives. Although not supported by Commodore, it is known that the 1541-II firmware (but not that of the 1541-c) can also be used in an original 1541 drive by using EPROMs, which will fix the bug for that drive as well.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)