Retrocomputing Stack Exchange is a question and answer site for vintage-computer hobbyists interested in restoring, preserving, and using the classic computer and gaming systems of yesteryear. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I remember that horrible racket coming from the floppy disk when I first used it after started my CoCo, and that it was called the "Head Banger bug".

I remember that it was due to a quick-n-nasty bit of code by the original designers - but what was the story again?

I also remember that there was a "Head Banger bug fix" - but what was it?

share|improve this question
1  
Welcome to Retrocomputing. This is a great self-answer. Keep going, and maybe we can graduate early! :-) – wizzwizz4 9 hours ago

I posted this question because I had those thoughts, and then spent ages going through multiple dead ends until I finally found it (my Google-fu is on the fritz). So that I don't have to go through that again...

According to an article by Marty Goodman in the July 1983 issue of Hot CoCo:

The Head-Banger Bug

You may have noticed that just after power up or after a cold start, when you ask the disk to load a file, the drive will almost always make a very nasty rattling noise before loading the file. By an oversight in the Disk Basic, the software "thinks" that the head is at track 0 at power up. Actually, the head is usually not at track 0, but is wherever it was when you shut down the system. Often this is track 17 (directory track).

Because of this, when the software tries to go to track 17 to search for the file you asked the disk to load, it "thinks" it is starting at track 0 and runs off into the inner edge of the drive. It does recover after banging itself against a mechanical stop, but this banging is not good for the drive.

And later on in the article:

You can get around the head-banger bug by typing "EXEC &HDCCG" after power up and cold starts. This resets the head to track 0.


@patterson7019 just pointed out that the address is wrong - and then I noticed it isn't even Hex! I'll leave it as a direct quote - but @patterson7019's &HD7B8 is more likely the correct value.

share|improve this answer
    
Or &HD66C. Or maybe &HD66E. – traal 8 hours ago

You sure it isn't exec &hd7b8?

disk basic unravelled

share|improve this answer
1  
I just copied it straight from the linked website - and looking at it now, it's not even a Hex value! I feel ripped off... – John Burger 11 hours ago
3  
Thanks for posting this! It's a vital piece of information. However, this should be posted as a comment. Keep answering, and you'll have enough reputation (50) to comment on other people's questions and answers. – wizzwizz4 10 hours ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.