Question IBM PC XT DOS 3.3 Error reading FAT

Status
Not open for further replies.

stevel55

Honorable
Nov 6, 2017
28
0
10,530
I have an IBM Personal Computer XT from about 1989 running dos 3.3. When trying to access drive C: from the DOS prompt, I get "Error Reading FAT". I am able to get PCShell to work from the C: drive but when I use it to open programs I get a "bad CRC on diskette read". Also, the entire monitor shows apostrophes except for what's typed in and 4 of the letter "a" in several places. I'm trying to retrieve some information on the computer and it has been in cold storage for possibly 20 years. Is there any hope?
 
I tried CLS from the A: and C: with no results.
Since CLS is an internal command, found inside COMMAND.COM, it should work on DOS 3.3, regardless what the current drive is. Have you tried any other commands, internal or external? Do they work?

You say you can start and run PC-TOOLS but get CRC-errors when trying to start programs from within PC-TOOLS. What happens if you try to start the same programs from the prompt?

What programs give you the errors, and where do they reside?
 
Thanks for your input. I tried CLS from the A: and C: with no results.
It does sound like a graphics RAM problem then.

You can simulate an alternate 1s and 0s bit pattern by typing "U*U*U* ...". If the characters are misspelt, then that would confirm a problem with RAM.

If the RAM chips are in IC sockets, you can switch them around to see if the problem moves to different bits. Right now, your screen powers up with apostrophes (0x21 -> 0b00100001) grave / accent (0x60 -> 0b01100000) and a few "a"s (0x61 -> 0b01100001). Normally it should power up with spaces (0x20 -> 0b00100000).
 
Last edited:
Did you replace the CMOS battery and reprogram CMOS with the correct hard drive parameters?

Remember, there was no such thing as auto detect of HD parameters in those days. You have to manually enter the parameters for Cylinders, Heads & Sectors per track (CHS). You get these values from the label on the drive. And, if the drive is already partitioned and formatted those parameters must match exactly the ones used when the drive was formatted. Although a system that old it's likely the drive is toast anyway.

This may also involve a battery and reprogramming on the controller as well, depending on what MFM/RLL controller was installed.
 
Since CLS is an internal command, found inside COMMAND.COM, it should work on DOS 3.3, regardless what the current drive is. Have you tried any other commands, internal or external? Do they work?

You say you can start and run PC-TOOLS but get CRC-errors when trying to start programs from within PC-TOOLS. What happens if you try to start the same programs from the prompt?

What programs give you the errors, and where do they reside?
Thanks for your response. All of the programs are on C: . I can start Quickbooks from a bat file but it wants me to set up a new account. I can start WordPerfect from a bat file but it says "insufficient file handles to run WordPerfect.
Increase Files in Configsys and reboot your computer.

When I change drives, from the A: prompt, I will type C: and it shows as Cz and when it changes drives it says C~
I get bad command errors when trying to change directories.
 
Did you replace the CMOS battery and reprogram CMOS with the correct hard drive parameters?

Remember, there was no such thing as auto detect of HD parameters in those days. You have to manually enter the parameters for Cylinders, Heads & Sectors per track (CHS). You get these values from the label on the drive. And, if the drive is already partitioned and formatted those parameters must match exactly the ones used when the drive was formatted. Although a system that old it's likely the drive is toast anyway.

This may also involve a battery and reprogramming on the controller as well, depending on what MFM/RLL controller was installed.
No, I did not. That's a good suggestion. I will have to find a replacement but will try that. Thanks!
 
It does sound like a graphics RAM problem then.

You can simulate an alternate 1s and 0s bit pattern by typing "U*U*U* ...". If the characters are misspelt, then that would confirm a problem with RAM.

If the RAM chips are in IC sockets, you can switch them around to see if the problem moves to different bits. Right now, your screen powers up with apostrophes (0x21 -> 0b00100001) and a few "a"s (0x61 -> 0b01100001). Normally it should power up with spaces (0x20 -> 0b00100000).
Thanks. I typed "U*U*U*" and I got "UjUjUj" I took the graphics card out. I don't know what an IC socket is but it didn't look like there were any removable parts.
 
Code:
ASCII "U" = 0x55 = 0b01010101

ASCII "*" = 0x2A = 0b00101010
ASCII "j" = 0x6A = 0b01101010

ASCII "a" = 0x61 = 0b01100001
ASCII "`" = 0x60 = 0b01100000
ASCII " " = 0x20 = 0b00100000
                      ^     ^
                   bit6  bit0

In this case bit #6 is stuck high. In the power-on case bit #0 is high.

https://www.rapidtables.com/code/text/ascii-table.html

On the card there will probably be 8 x 1-bit DRAM chips or 2 x 4-bit DRAMs.
 
Last edited:
Thanks. I typed "U*U*U*" and I got "UjUjUj" I took the graphics card out. I don't know what an IC socket is but it didn't look like there were any removable parts.
Integrated Circuit (IC) would be what normal people would call a "chip" it's not uncommon for them to be on sockets so you can take them out without having to unsolder them, in that case you can take them out and swap them around to see if the garbled mess changes, then you would be pretty sure that that's the issue.

It wouldn't fix your hard drive though.

What you need is a XT-ide card so you can boot from a new ide drive and take an image of the old failing drive onto the new drive so you can do whatever file forensics on the image of the old drive on a modern system, poking around the old drive is only going to make it fail that much sooner and then the info you want is gone for sure.
You can buy them from several places or make one yourself.
 
  • Like
Reactions: stevel55
Are you able to read the floppy diskettes in another machine? If so, it may be possible to painstakingly copy your data via diskette. To this end, you could get a second FDD and attach it as drive B:.

You could start by getting a complete file list. The following command line writes the complete file list to a text file on your floppy diskette.

Code:
dir C:\*.* /s > A:\C_DirLst.txt

As for your graphics card, sometimes it is possible to circumvent the problem by piggybacking a good RAM on top of the bad one, ie no soldering. I would need to see a photo, though.

BTW, I agree that imaging your HDD would be the safest approach.

Another option might be Laplink via the COM or LPT port(s).
 
Last edited:
  • Like
Reactions: stevel55
Are you able to read the floppy diskettes in another machine? If so, it may be possible to painstakingly copy your data via diskette. To this end, you could get a second FDD and attach it as drive B:.

You could start by getting a complete file list. The following command line writes the complete file list to a text file on your floppy diskette.

Code:
dir C:\*.* /s > A:\C_DirLst.txt

As for your graphics card, sometimes it is possible to circumvent the problem by piggybacking a good RAM on top of the bad one, ie no soldering. I would need to see a photo, though.

BTW, I agree that imaging your HDD would be the safest approach.

Another option might be Laplink via the COM or LPT port(s).
Thanks for the input. I don't have another computer with a 5 1/2" floppy but I think the floppy disks are fine. I'm sure it's the hard drive and the graphics card that are the problem. Here are picturesHercules Graphics Card: https://postimg.cc/SJJNNFvQ Monitor with directory:https://postimg.cc/1fQhbx1Y Blank Monitor: https://postimg.cc/dhc28BdC
 
I have corrected my earlier analysis -- the apostrophe is actually a grave/accent character (0x60). That's an error in bit #6. Your screenshot shows errors in other bits as well, but bit 6 is the main culprit. This is the bit that switches the alpha characters between upper and lower case.

The DIR list appears to be reporting 117 files and 1,763,328 bytes free.

Here is a better photo of your card:

http://www.thealmightyguru.com/Wiki/images/7/75/Hercules_Graphics_Card.jpg

The DRAMs are the 8 x M5K4164ANP-15 chips. Each chip is 1 bit wide, ie 64K x 1. They are located at U17/U18, U26/U27, U36/U37 and U46/U47.

You should be able to replace these chips with any 4164 chip that is rated for 150ns.

https://blog.jamesgamecenter.com/public/RL_Rygar/M5K4164ANP-12-Mitsubishi.pdf

I expect that bit #6 would be U17/U18 or U46/U47. I could narrow it down for you, but you would need a multimeter. In any case, you could procure a 4164 DRAM and piggyback it onto each of the chips in turn. Just be mindful of the orientation -- the notch is pin #1.
 
I have corrected my earlier analysis -- the apostrophe is actually a grave/accent character (0x60). That's an error in bit #6. Your screenshot shows errors in other bits as well, but bit 6 is the main culprit. This is the bit that switches the alpha characters between upper and lower case.

The DIR list appears to be reporting 117 files and 1,763,328 bytes free.

Here is a better photo of your card:

http://www.thealmightyguru.com/Wiki/images/7/75/Hercules_Graphics_Card.jpg

The DRAMs are the 8 x M5K4164ANP-15 chips. Each chip is 1 bit wide, ie 64K x 1. They are located at U17/U18, U26/U27, U36/U37 and U46/U47.

You should be able to replace these chips with any 4164 chip that is rated for 150ns.

https://blog.jamesgamecenter.com/public/RL_Rygar/M5K4164ANP-12-Mitsubishi.pdf

I expect that bit #6 would be U17/U18 or U46/U47. I could narrow it down for you, but you would need a multimeter. In any case, you could procure a 4164 DRAM and piggyback it onto each of the chips in turn. Just be mindful of the orientation -- the notch is pin #1.
Thanks for your help! I don't think I want to tackle this right now but it's nice to know how to go about it when I have more time.
 
Status
Not open for further replies.