• Please review our updated Terms and Rules here

1530 BIOS hangs when reading sector 0 of CF or SD card thru IDE adaptor?

tschak909

Experienced Member
Joined
Mar 26, 2018
Messages
120
Location
Denton, TX USA
(this is being posted to several places, so some context is given)

Am currently debugging a replacement for a hard drive setup in a GRiDCASE 1530. (an 80386 laptop, running MS-DOS).

It uses a Phoenix BIOS dated 10/25/89, and does not have a ROM setup program, but rather automatically configures itself on each power-on.

The BIOS has been patched to always present a hard disk geometry of 992 cyl, 16 heads, 63 sectors (for 512 megabyte cards), and this geometry has been verified with IDEID with each of the cards I am using. INT 13H is set up to utilize this geometry.

Am testing a couple of different adaptors:

Startech IDE2CF
Startech IDE2SD

All with a smattering of both CF and SD cards sized 512 megs, all verified with the geometry stated above.

I can usually get to the point where I can with GRiD MS-DOS 3.30, FDISK, to create a 32 megabyte initial partition, FORMAT C: /S/V, and be able to copy files onto the resulting volume.

But when I boot the result, the BIOS hangs trying to access the first sector.

When attempting MS-DOS 6.22's setup procedure, it creates the partition, but hangs, again, first sector, when trying to format the disk.

What could be causing this mysterious behavior? It seems to exist across various different adapters and cards.
 
Most of The Units i bios modded all have real drives and work fine. the one i put a cf card gave me similar problems. i never really spent any time on the problem.
i formatted the cf card with maxblast in a different machine and it works fine back in the GRiD, so i moved on.
Haven't tried a Dom but might be a better solution then cf
 
Last edited:
formatted the cf card with maxblast in a different machine and it works fine back in the GRiD, so i moved on.

This makes it sound like a boot sector issue is a real possibility. For whatever reason flash media that was previously formatted by something more modern often has problems with old DOS machines until it's either been bulk erased or at least FDISK /MBR'ed, it seems like the default FDISK/format cycle leaves something behind.
 
System is a #GRiDCASE 1530 which has had its Conner CP3022 drive replaced with a StarTech IDE2CF adapter. BIOS has been patched for a geometry of 993/16/63 to match the card. System sees drive and is able to interact, but hangs on certain operations. Why? #MSDOS #RETROCOMPUTING
 
Most of The Units i bios modded all have real drives and work fine. the one i put a cf card gave me similar problems. i never really spent any time on the problem.
i formatted the cf card with maxblast in a different machine and it works fine back in the GRiD, so i moved on.
Haven't tried a Dom but might be a better solution then cf
Which CF adapter did you use?
-Thom
 
After extensive testing, writing programs that use the read/write sector calls in INT 13H, have narrowed down that the hanging error occurs when more than 1 sector is requested in a transaction.

-Thom
 
It most likely has to do with the routine that does the seek:

Basically, the command for the seek is sent, and then the interrupt is cleared. I am guessing that since the seek on a CF card is basically instantaneous, the interrupt flies by too quickly, then the CLI happens, so the routine is spinning waiting for an IRQ that is never acknowledged.

Does anyone know a simple way to add e.g. a 10 millisecond delay in between an OUT DX,AL, and a CLI in 8086 assembler?
 
Back
Top