VOGONS


First post, by mbarszcz

User metadata
Rank Newbie
Rank
Newbie

I'm trying to get my new socket 7 system up and running and I'm having issues with the IDE DMA. When I check the DMA checkbox under my IDE hard drive after a clean Win98SE install, the system becomes completely unstable and hangs constantly, often with the HDD LED on solid. Sometimes I make it to the desktop before it hangs, sometimes it locks up before. This happens when even when the only devices in the system are the S3 Trio64V2 (no sound, no network, Serial/Parallel/USB disabled), so I can't see how there would be a DMA conflict.

Motherboard: Asus P/I P55T2P4 (430HX Chipset)
CPU: Pentium MMX 266MHz
RAM: 64MB 60ns EDO
HDD:
option 1:IDE -> CF Card
option 2:IDE -> SATA adapter w/ 300GB WD 10K drive limited to 32GB wit Seatools)

Things I've tried:
Swapping the Pentium MMX with a Cyrix 6x86
Swapping the ram for 2x16GB sticks
Unflashing the patched bios/resetting the bios
Installing extra intel chipset drivers (although I believe the 430HX is supposed to be natively supported in 98SE)

The 430HX does support IDE DMA right? Am I missing something? Is there a trick to getting it to work?

Reply 1 of 8, by auron

User metadata
Rank Oldbie
Rank
Oldbie

the issue isn't with the chipset or the drivers, it's with the newer devices that you are trying to run on IDE. for the CF, some adapters are known to not be wired to support DMA, the issue is described here: http://support.fccps.cz/download/adv/frr/cf.html

regarding the SATA drive, the startech adapters are known to work better than noname ones, at least when it comes to lower DMA modes for 40-wire cables.

Reply 2 of 8, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
mbarszcz wrote on 2023-05-20, 00:09:

The 430HX does support IDE DMA right? Am I missing something? Is there a trick to getting it to work?

I have an ECS P5HX-A which is similar to your board.

It's the SATA converter. Are you using a JMicron-based one? It works fine with a real IDE drive, even a very late era one like an 80GB. I can't speak to your CF issue though.

Note that, likely because of DMA taking off on "power user" systems before they cared to debug the issue, the Windows IDE driver does not attempt multiple sectors per interrupt transfers. Those really help when you're stuck with PIO mode. Linux (hdparm) allowed you to tune such things in PIO mode.

ps: the payoff of DMA on such early PIIX may not be as much as you think, so you might just choose to live with PIO. It's not UltraDMA but just MultiWord DMA.

As suggested you might try a Marvell-based one like StarTech. Be warned that it will disable your secondary IDE channel. There's another reply to me elsewhere on here with a pin on those to check but I haven't got around to it. The annoying thing about the StarTech is that it uses a floppy power connector and those are scarce on power supplies.

Reply 3 of 8, by Horun

User metadata
Rank l33t++
Rank
l33t++

Bingo !! knowing about adapters and using newer devices on old computers is common issue lately 😀

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 4 of 8, by mbarszcz

User metadata
Rank Newbie
Rank
Newbie

Thanks guys, of the two different combinations I was using, neither one properly supported DMA. I tried a 4GB IDE hard drive and everything is just fine.

Reply 5 of 8, by mbarszcz

User metadata
Rank Newbie
Rank
Newbie

I checked out the DMA lines on my CF adapters and found that they all had their DMA lines wired to the IDE pins as mentioned in the article.

I found this in the manual:

PCI Bus Master IDE Controller: Comes with an onboard PCI Bus Master IDE controller with two connectors that supports four IDE devices in two chan- nels, provides faster data transfer rates, and supports Enhanced IDE devices such as Tape Backup and CD-ROM drives. This controller supports PIO Modes 3 and 4 and Bus Master IDE DMA Mode 2.

This prompted me to do some reading up on DMA (in addition to the link above) here : https://www.rigacci.org/docs/biblio/online/id … s/modes_DMA.htm

Apparently Multiword DMA Mode 2 predates the much more common UDMA modes, which most of the modern devices support. I've never had issues with these same devices on the newer P2BF/P3BF boards, but those all use a newer IDE controller that supports UDMA modes.

I would have thought that it was all backwards compatible, but perhaps the modern solutions only do UDMA with PIO modes as a fallback and the older busmaster Multiword DMA modes are left out.

It seems that busmaster DMA vs UDMA may be more of the compatibility issue with the modern devices than the lack of DMA all together.

Reply 6 of 8, by auron

User metadata
Rank Oldbie
Rank
Oldbie

of course the CF itself needs to actually support the required modes. i've looked up spec sheets for two transcend lines - the regular 133x is slightly vague with a mention of "up to UDMA mode 4", but for their industrial line, all the supported PIO, MWDMA and UDMA modes are explicity listed.

Reply 7 of 8, by Riikcakirds

User metadata
Rank Member
Rank
Member
jakethompson1 wrote on 2023-05-20, 01:20:
I have an ECS P5HX-A which is similar to your board. […]
Show full quote
mbarszcz wrote on 2023-05-20, 00:09:

The 430HX does support IDE DMA right? Am I missing something? Is there a trick to getting it to work?

I have an ECS P5HX-A which is similar to your board.

It's the SATA converter. Are you using a JMicron-based one? It works fine with a real IDE drive, even a very late era one like an 80GB. I can't speak to your CF issue though.

Note that, likely because of DMA taking off on "power user" systems before they cared to debug the issue, the Windows IDE driver does not attempt multiple sectors per interrupt transfers. Those really help when you're stuck with PIO mode. Linux (hdparm) allowed you to tune such things in PIO mode.

ps: the payoff of DMA on such early PIIX may not be as much as you think, so you might just choose to live with PIO. It's not UltraDMA but just MultiWord DMA.

As suggested you might try a Marvell-based one like StarTech. Be warned that it will disable your secondary IDE channel. There's another reply to me elsewhere on here with a pin on those to check but I haven't got around to it. The annoying thing about the StarTech is that it uses a floppy power connector and those are scarce on power supplies.

I went through this on a P75 using Win95. To rule out a bottleneck I used an SSD connected using a startech IDE>SSD adaptor. Same chipiset 430HX and it supports MWDM2. In PIO-4 mode, speedsys tops out at 8MB/s in DOS,, Atto benchmark in Win95b at 7.7MB/s. Cpu usage is hovers around 90%+ in Win95 when accessing the disk.
Enabling the DMA box in Win95 improved benchmark to 16MB/s and Cpu usage around 4%.
It made a massive difference in general response time and smoothness on Win95. This on a Pentium75 with 32MB. I have never seen PIO mode 4 go above 10MB/s in dos or win95 and it hammers CPU it win95. MWDMA2 is a great step on these classic pentium boards (430Fx, hx) enable it if you can.

Reply 8 of 8, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
Riikcakirds wrote on 2023-05-21, 16:33:
I went through this on a P75 using Win95. To rule out a bottleneck I used an SSD connected using a startech IDE>SSD adaptor. Sa […]
Show full quote
jakethompson1 wrote on 2023-05-20, 01:20:
I have an ECS P5HX-A which is similar to your board. […]
Show full quote
mbarszcz wrote on 2023-05-20, 00:09:

The 430HX does support IDE DMA right? Am I missing something? Is there a trick to getting it to work?

I have an ECS P5HX-A which is similar to your board.

It's the SATA converter. Are you using a JMicron-based one? It works fine with a real IDE drive, even a very late era one like an 80GB. I can't speak to your CF issue though.

Note that, likely because of DMA taking off on "power user" systems before they cared to debug the issue, the Windows IDE driver does not attempt multiple sectors per interrupt transfers. Those really help when you're stuck with PIO mode. Linux (hdparm) allowed you to tune such things in PIO mode.

ps: the payoff of DMA on such early PIIX may not be as much as you think, so you might just choose to live with PIO. It's not UltraDMA but just MultiWord DMA.

As suggested you might try a Marvell-based one like StarTech. Be warned that it will disable your secondary IDE channel. There's another reply to me elsewhere on here with a pin on those to check but I haven't got around to it. The annoying thing about the StarTech is that it uses a floppy power connector and those are scarce on power supplies.

I went through this on a P75 using Win95. To rule out a bottleneck I used an SSD connected using a startech IDE>SSD adaptor. Same chipiset 430HX and it supports MWDM2. In PIO-4 mode, speedsys tops out at 8MB/s in DOS,, Atto benchmark in Win95b at 7.7MB/s. Cpu usage is hovers around 90%+ in Win95 when accessing the disk.
Enabling the DMA box in Win95 improved benchmark to 16MB/s and Cpu usage around 4%.
It made a massive difference in general response time and smoothness on Win95. This on a Pentium75 with 32MB. I have never seen PIO mode 4 go above 10MB/s in dos or win95 and it hammers CPU it win95. MWDMA2 is a great step on these classic pentium boards (430Fx, hx) enable it if you can.

It's not as drastic a difference as that with a mechanical drive, at least in DOS mode, because mechanical drives offer multi-sector PIO transfers and SSDs do not that I have seen.
I'm using a P166 not a P75 though so that does make a difference.