• Please review our updated Terms and Rules here

Trouble booting from CF

jmnetus

Member
Joined
Feb 23, 2013
Messages
37
Location
Utah, USA
I'm resuscitating a 486 board that was originally taken from a Packard Bell. I've got enough parts on it now to boot from a floppy into DOS 6, yay...

I'm hoping to get it booting from a CF. I have the adapter and two cards - a newer 4GB Sandisk Ultra and an older no-name 512MB card. The BIOS "detects" both of them just fine, but...

*The 4GB card partitions, formats, and appears to write files correctly, but when I try to read any file from it the computer hangs forever. The filesystem reads correctly, strangely enough.

*The 512MB card appears to work correctly in every way when I boot from floppy, but if I try to boot from the CF it shows the letter "J" after POST and hangs forever.

I'm thinking the BIOS just isn't getting along with the CF cards. I'd like to try the XTIDE Universal BIOS on it but don't have a way of burning it myself right now. Any other ideas to get it to work? The only IDE setting in BIOS is switching through various PIO modes, I couldn't get any of them to work.
 
try booting to floppy and typing "fdisk /mbr"
that usually fixes booting to CF issues.
Not so sure about problem #1
 
The 4GB card partitions, formats, and appears to write files correctly, but when I try to read any file from it the computer hangs forever. The filesystem reads correctly, strangely enough.

This is likely due to block-mode support. The file system operations are single-sector, but then when you transfer a file the BIOS will try to use multi-sector transfers, which either aren't supported by the media or there's some other bug.

The 512MB card appears to work correctly in every way when I boot from floppy, but if I try to boot from the CF it shows the letter "J" after POST and hangs forever.

As said FDISK /mbr from a DOS 6.22 disk will probably solve this. Although it's possible that it's related to the other problem.

Try disabling block mode, if there is an option for such in the BIOS.

HTH!
 
It was my understanding that running DOS 6 setup should have written the MBR, but I'll try fdisk /mbr and see if it does anything.

There is a "1-sector PIO" mode or something similar to that in the BIOS settings, I think I already tried that but I can give it a go again - or am I misunderstanding and 1-sector PIO means something different? heh
 
OK - "1 sector PIO" wasn't actually an option. The options are Standard PIO, 2-block, 4-block, 8-block, 16-block, and auto block. None of them work, so I guess the 4GB card is out for now.

fdisk /mbr worked perfectly on the other card - booting just fine now. Thanks.
 
Interesting. Sandisk ultra is the only CF card I've found that supports multi-sector transfers btw.
 
That is interesting - in Standard PIO (and "auto block") the card is recognized by the BIOS (but it still dies on file read), and any of the n-block modes it gives me fixed disk configuration error. I would have guessed that it did not support multi-sector transfer, not the other way around. Must just be a BIOS incompatibility?
 
Maybe; in the part-working configuration, does the activity LED remain lit when the machine has otherwise hung? Also, did you try the CF card in both 5V and 3.3V configurations?
 
Yes, tried both 5V and 3.3V. I'll have to check later today, but if I recall right, the motherboard drive activity light comes on and remains lit, but the activity LED on the CF adapter remains off.
 
I'm not sure how motherboard activity LEDs are driven - I'd assumed they were directly from the IDE /DASP line, but if they differ then presumably not. But that the CF card LED is not lit, indicates that the CF card thinks the transfer was completed.
 
OK - my memory was wrong, both the CF adapter and the motherboard LED lights remain on.

It is writing files to the CF correctly - just checked by copying some files from the DOS disk to the CF card and checking it on a CF reader. The data is all there written correctly, just will not read back on the 486! Frustrating :)
 
Interesting. If you have some way to put the XTIDE Universal BIOS in the machine, for example via a ROM on a NIC, that might be worth a go (and disable the on-board IDE BIOS or set the devices to 'none' or similar).
 
That's my next plan. I have several ISA cards with empty ROM sockets, I'll just need to acquire a chip and a way to burn XTIDE onto it. Working on it...
 
I think I have a solution to your problem

I think I have a solution to your problem

Hi there,

I have experienced exactly the same problem. I have a 486 PC dating back to 1994 and just installed a CF-IDE adapter from Addonics.

Using a brand new Transcend 512 MB Industrial CF card, I ran FDISK from the DOS 6.22 boot disk to delete the existing partition (it had one even though it was brand new). Rebooted, installed DOS 6.22.

But when booting from the CF card, I got the letter "J" after POST and the PC just hangs. Exactly as you described it. I know the Transcend Industrial cards are designed to be truly compatible with ATA standards, right down to PIO-0 mode. There is no reason why it should not work.

In the end I found the solution: you must do a sector-based wipe on the CF card. For whatever reason, FDISK is not enough.

Download something like CopyWipe for DOS (small & free), get it onto a bootable floppy, boot your 486 from it and do a standard wipe of the whole CF card.

After that I installed DOS 6.22 to the CF card and it boots and functions just fine. As it should.

I know my reply is late, but hopefully it may still be of some help to you or others.

Cheers :)

Michal

I'm resuscitating a 486 board that was originally taken from a Packard Bell. I've got enough parts on it now to boot from a floppy into DOS 6, yay...

I'm hoping to get it booting from a CF. I have the adapter and two cards - a newer 4GB Sandisk Ultra and an older no-name 512MB card. The BIOS "detects" both of them just fine, but...

*The 4GB card partitions, formats, and appears to write files correctly, but when I try to read any file from it the computer hangs forever. The filesystem reads correctly, strangely enough.

*The 512MB card appears to work correctly in every way when I boot from floppy, but if I try to boot from the CF it shows the letter "J" after POST and hangs forever.

I'm thinking the BIOS just isn't getting along with the CF cards. I'd like to try the XTIDE Universal BIOS on it but don't have a way of burning it myself right now. Any other ideas to get it to work? The only IDE setting in BIOS is switching through various PIO modes, I couldn't get any of them to work.
 
Welcome to these forums.

I ran FDISK from the DOS 6.22 boot disk to delete the existing partition (it had one even though it was brand new).
For whatever reason, FDISK is not enough.
The first sector contains the MBR (Master Boot Record). The MBR consists of some boot code and the partition table.

FDISK creates an MBR (on the primary drive) if it senses that one is missing.

If FDISK finds an existing MBR, the standard FDISK operations (delete partition, add partitions, ...) only affect the partition table in the MBR. It will ignore the boot code, even if that code is missing/corrupt/non-standard. That is the situation that you would have been in.

After you wiped the MBR using CopyWipe, FDISK was forced to create a 'fresh' MBR.
Alternatively, you could have used the undocumented /MBR switch of FDISK (DOS 5 and above). That creates a 'fresh' MBR.
 
Thanks modem7, that makes sense (clearly I didn't read the previous posts properly - I see now that /MBR did work for the original poster, at least on the 512MB card).

Anyway, thanks for the welcome :)
 
Back
Top