VOGONS


First post, by BloodBlight

User metadata
Rank Newbie
Rank
Newbie

I recently got a CompuAdd 386SX (1990 BIOS) with a 40MB HDD, and am having some issues upgrading the HDD. I have done a lot of trouble shooting, and am going to try and keep this as short as possible, so please feel free to ask me to fill in any gaps.

I have tried the following devices in all combinations, all configurations behave exactly the same, except for the original drive:

Three IDE Cables
Two IDE HDDs (very large 20 & 40GB models)
Two CF Cards (10 MB and 1 GB)
Lots of combos for drive configurations in the BIOS.

The 40MB drive that came with it works perfectly! I have NOT tried reformatting it as I kinda wanted to backup the data first, but haven’t gotten to that just yet. That is next on my list, it’s just a real pain with this case.

What happens.

I can fdisk a drive (FreeDOS), reboot and quick format it with /s no problem. I can even copy files to the drive. Attempting to boot results in a long pause and then a disk is not bootable error.

If I do a “full” format it says it is impossible because there are bad blocks inside the first five blocks… Mmk…

In SOME cases I can “type somefile.bat” and it works perfectly. But if I try and run that BAT file I get a drive not ready….

Whaaaa??? I can even taken the formatted disks to another computer and am able to see all of the files written and access them just fine.

It does this for both the IDE drives, the CF drives, all sizes, all geometries…

I am kinda stumped, I have never seen this before. Ideas?

I would do a mem test, but memtest just crashes. 😒 I only have 2MBs of RAM so, I am not sure if that is an issue. But when booting the original drive everything including Windows 3.0 works great.

Reply 2 of 15, by darry

User metadata
Rank l33t
Rank
l33t

My guess is that the original drive that works only supports a very slow and pedestrian PIO mode for transfer and all the newer drive you have tried support and default to a higher speed mode that does not work well on your disk controller for some reason .

Additionally, the 20GB and 40GB are huge probably will have issues with the machines BIOS, in addition to the above .

I could be wrong, of course.

EDIT: something similar to this might be at play . How can I force a HDD into permanently "PIO 0" mode?

Reply 3 of 15, by BloodBlight

User metadata
Rank Newbie
Rank
Newbie

Hmmm, maybe...

So reading the boot sector seems to work, reading the FAT seems to work, but not files.... Usually. Ya, could be, seems like I would be having more issues, and I don't think the 10MB card would be very fast..

Hmmm....

Reply 4 of 15, by mkarcher

User metadata
Rank Oldbie
Rank
Oldbie

There is a known problem with fast disks in slow 286-class IDE computers. The old hard disk BIOS implementations are incompatible with hard disks that can read sectors in quick succession. If, on a multi-sector read the second sector is already available when the first sector has been transferred to the computer, the IDE BIOS might try to acknowledge the "the first sector is ready" IRQ, but accidentally already acknowledges the "the second sector is ready" signal. After accidentally acknowledging that signal, the IDE is going to wait for another IRQ that is never going to happen.

A solution for this problem is a newer IDE BIOS that adheres to the IDE specification and acknowledges the "sector 1 ready" IRQ before transferring the first sector, so that the "sector 2 ready" IRQ will generate a second IRQ for sure which is correctly registered. One example for a modern IDE BIOS is the XT-IDE BIOS (don't be fooled by the name!) which can be installed in custom ROM chips on network cards, for example.

Reply 5 of 15, by BloodBlight

User metadata
Rank Newbie
Rank
Newbie

Would that cause this:
https://imgur.com/a/rfBJVOq

I can read files just fine, I can type any file on the disk, this only happens when code tries to execute.

Maybe it's a FreeDOS thing? But ya, I can try getting another IDE controller... Funny I can even read DVD's in this think without an issue... And execute code from them.

Going to give MS-DOS a test...

Reply 6 of 15, by weedeewee

User metadata
Rank Oldbie
Rank
Oldbie

maybe you could try this
http://www.ata-atapi.com/atact.html
little program
it runs a few tests, and might shed some light on your situation though, try it on one of the disks that is misbehaving.

I think the following command will run the tests on the master drive
ATACT P0

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !

Reply 7 of 15, by weedeewee

User metadata
Rank Oldbie
Rank
Oldbie
BloodBlight wrote on 2022-05-11, 21:14:

Would that cause this:
https://imgur.com/a/rfBJVOq.

It could, since in both cases, dir & type, less than 512 bytes are used, size of 1 sector.

Try to type a larger text file, since the typing of the executable stops at the first end-of-file byte in the file.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !

Reply 11 of 15, by weedeewee

User metadata
Rank Oldbie
Rank
Oldbie

Ooops, forgot that it needs an unformatted disk to run the test.
can be seen in the results that the test didn't run, the last line mentions the reason.
I guess you don't mind any data loss on the 10MB card.
so,
re run the test using ATACT P0 OKTOWRITE

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !

Reply 12 of 15, by BloodBlight

User metadata
Rank Newbie
Rank
Newbie

Running now, but because of the IO wait thing, it has been going for a while.... Turned off the screen and have walked away. Will check in on it in a while.

DOS 6.22 was no better, got to the end of the install and could not read the command.com from the C: and would not post after:
https://imgur.com/a/gG90g1h

Reply 15 of 15, by BloodBlight

User metadata
Rank Newbie
Rank
Newbie

Well, I am debating doing a ROM swap as the BIOS is not Y2K and relies on tools on the floppy for the full-ish configuration options. Or to even enter the BIOS... So, maybe that would fix things, maybe not...

Would a GW2760PX (Gold Star Prime 2) be a good option?