VOGONS


First post, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I've been slowly prepping for an Am5x86-180 build but ran into a snag when trying to use either an Adaptec 2940U2W SCSI or Promise Ultra100 TX2 IDE controller on the Lucky Star LS-486E rev.D. I'm doing my tests at 2x60 for now.

If I leave jumper JP16 on the position such that PCI = FSB, the SCSI card doesn't find the HDD. If I set PCI = 1/2*FSB, the HDD is found, but when the system is supposed to boot, it just sits there on POST screen.

If I leave jumper JP16 on the position such that PCI = FSB, the Ultra100 IDE card boots Windows 95, but isn't reliable. For example, if I play an mp3 with Winamp 2.05, the file plays fine, but locks up the system. If I set PCI = 1/2*FSB, the system just sits there when it is supposed to boot after POST (same with SCSI).

If I do the same tests with a 50 MHz FSB, there is no problem. The MB-8433UUD has no issue with 1/2*60 and 1/2*66. Something is up with the LS-486E for these frequencies. Anyone know what's going on and where to start looking for a fix?

Here's the PCI waveform for CLK at 60 MHz:

The attachment LSD_60MHz_PCI.JPG is no longer available

The waveform with PCI = 1/2*60 MHz:

The attachment LSD_30MHz_PCI.JPG is no longer available

I also took a look at the FFT for 1/2*60 MHz:

The attachment LSD_30MHz_PCI_FFT.JPG is no longer available

The waveform at 50 MHz:

The attachment LSD_50MHz_PCI.JPG is no longer available

And the waveform at 1/2*50 MHz (this configuration works):

The attachment LSD_25MHz_PCI.JPG is no longer available

The only aspect which really stood out from these waveforms is that the voltage swing for 30 MHz (doesn't work) is a little higher than at 25 MHz (works).

I did discover that the onboard IDE controller appears functional at 60 MHz, but I was hoping to go with something a bit faster on a PCI expansion card. Why might 1/2*60 and 1/2*66 MHz not be working for PCI hard drive expansion cards and what can be done to correct for this shortcoming?

Plan your life wisely, you'll be dead before you know it.

Reply 1 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++

This is how I'm measuring the PCI CLK.

Plan your life wisely, you'll be dead before you know it.

Reply 2 of 11, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Have you tried any PCI controller that works officially on PCI 66?
Perhaps a Dawicontrol DC-150 (RAID SATA)?

Reply 3 of 11, by rasz_pl

User metadata
Rank l33t
Rank
l33t

PCI is a weird bus, data is not just send as logic levels, its reflections https://en.wikipedia.org/wiki/Reflected-wave_switching
Quoting Howard Johnson High Speed Digital Design: A Handbook of Black Magic:

Source terminators
The driving waveform is cut in half by the series-termination resistor before it begins propagating down the line.
The driving signal propagates at half intensity to the end of the line.
At the far end (an open circuit) the signal reflection coefficient is +1. The reflected signal is half intensity. The half-sized reflection plus the original incoming half-sized signal together bring the signal at the receiving end to a full level.
The reflected signal (half sized) propagates back along the line toward the source where it damps out at the source termination.
After the end reflection returns to its source, the drive current drops to zero where it remains until the next transition.

Howard Johnson on PCI in more detail http://www.sigcon.com/Pubs/news/3_3.htm

try different PCI slot, fill all PCI slots with cards, remove all cards

https://github.com/raszpl/sigrok-disk FM/MFM/RLL decoder
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module (AT&T Globalyst)
https://github.com/raszpl/386RC-16 ram board
https://github.com/raszpl/440BX Reference Design adapted to Kicad

Reply 4 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++
Disruptor wrote on 2023-05-01, 13:07:

Have you tried any PCI controller that works officially on PCI 66?
Perhaps a Dawicontrol DC-150 (RAID SATA)?

I also tried an Adaptec Ultra160 card, which I'd imagine is at least PCI 2.2 compliant, but it was worse off than the 2940U2W. I tried to install an Adaptec Ultra320 card, which is 64-bit, but the overhang of the extended PCI slot was in the way of motherboard components. Thus, the card would not install.

Rasz_pl, I had no idea PCI worked like this. It sounds rather convoluted, but it has been a widely used bus for so long I figure the scheme must have been for good reason.

I tried all sorts of PCI slots. I tried filling the vacant PCI slot with other types of cards to see if it helped, but it didn't. I need to at least have the video and SCSI card installed to test if it works, and there's only 3 PCI slots.

I asked another member here to test the same situation on his motherboard, and he ran into the same trouble as me. The issue is with the motherboard and they likely didn't test above 50 MHz FSB. It is a drawback to the LSD board, as the only other socket3 board which can do 66 MHz FSB reliably. The other board, being the Biostar UUD board. Without a solution to this 1/2*FSB issue for the PCI slot, the LSD board is forced to use onboard IDE for 60/66 MHz.

Plan your life wisely, you'll be dead before you know it.

Reply 5 of 11, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I have found the PCI divider to be unreliable even at 50MHz FSB on the LSD. My system is rock solid at 50MHz FSB 1:1 but if I try to apply the divider things start crashing.

Reply 6 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++
maxtherabbit wrote on 2023-05-02, 02:07:

I have found the PCI divider to be unreliable even at 50MHz FSB on the LSD. My system is rock solid at 50MHz FSB 1:1 but if I try to apply the divider things start crashing.

3x50 or 4x50?

What model hard drive controller are you using?

I didn't test 1/2*50 MHz in any depth - just wanted to ensure it would boot to DOS.

Plan your life wisely, you'll be dead before you know it.

Reply 7 of 11, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

3x, my CPU is not able to run at 200. My HDC is a Promise Ultra133 TX2

Reply 8 of 11, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2023-05-02, 04:45:

3x, my CPU is not able to run at 200.

For those runs I've bought an Am486 DX4 SV8B 120 and have given it to mkarcher so that he can test it in x2 mode. It works fine in 60x2 and 66x2.

Reply 9 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++

The newer AMD DX2-66 CPUs from the early 2000's should be able to do 2x66 without issue problem, at least mine is OK with these frequencies. These have 16 KB WB cache and support 2x/3x multipliers.

Plan your life wisely, you'll be dead before you know it.

Reply 10 of 11, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

Is it possible to force your PCI IDE card to PIO mode and see what happens then? Because if these cards are both having problems, at 60MHz and at 30MHz, it makes me wonder if something is going wrong on the DMA side of things. Maybe memory timings could be worth looking at too?

On a side note, I accidentally discovered that onboard IDE on my HOT-433, which normally doesn't work at 60MHz PCI, does work at that speed if XT-IDE BIOS is installed.

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 11 of 11, by feipoa

User metadata
Rank l33t++
Rank
l33t++

There's no way to access the the PIO/DMA settings on the Promise Ultra100 TX2 card from what I can discern. I think its BIOS is auto-detect only. You can trick it into DMA2 mode if you use a 40-pin ribbon cable, or into DMA5 mode if using an 80-pin cable.

Plan your life wisely, you'll be dead before you know it.