VOGONS


Reply 740 of 747, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
dartfrog wrote on 2025-04-27, 04:07:

I have the first pass of the schematic largely done. I have sourced all the symbols and footprints. I tried following the Costronic schematic as close as possible. I left out BCLK cap, FLASHROM, and ROMCS/NOGO jumpers for now. Other than that it's basically the same. I have yet to mess around with routing/placement of anything. I selected footprints/components that would be easy to hand solder, like 1808 caps and rest through hole components. You're welcome to critique and/or make changes. You can submit a pull request for the schematic/board via link in sig if you want. (ISA8888_KiCAD folder.)

A couple of thoughts for my intended use case (i.e. converting Pentium 4 or Athlon motherboards to use ISA, rather than the PCIe stuff) -

1. You haven't routed PPDREQ and PPDGNT, I assume those will eventually go to headers somewhere?

2. Related to 1. - I would suggest having a jumper option to route the REQ and GNT pins on the PCI port to PPDREQ and PPDGNT (instead of IREQ and IGNT). On ICH southbridges up to ICH4 there is a register that can change some of the GNT/REQ pins to act as PPDREQ/PPDGNT. This would mean that you wouldn't have to find PPDREQ and PPDGNT on the motherboard anywhere, but it would mean you'd have to find which PCI slot on the motherboard had the relevant signals (possibly just by trial and error).

Reply 741 of 747, by dartfrog

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2025-04-29, 11:01:
A couple of thoughts for my intended use case (i.e. converting Pentium 4 or Athlon motherboards to use ISA, rather than the PCIe […]
Show full quote
dartfrog wrote on 2025-04-27, 04:07:

I have the first pass of the schematic largely done. I have sourced all the symbols and footprints. I tried following the Costronic schematic as close as possible. I left out BCLK cap, FLASHROM, and ROMCS/NOGO jumpers for now. Other than that it's basically the same. I have yet to mess around with routing/placement of anything. I selected footprints/components that would be easy to hand solder, like 1808 caps and rest through hole components. You're welcome to critique and/or make changes. You can submit a pull request for the schematic/board via link in sig if you want. (ISA8888_KiCAD folder.)

A couple of thoughts for my intended use case (i.e. converting Pentium 4 or Athlon motherboards to use ISA, rather than the PCIe stuff) -

1. You haven't routed PPDREQ and PPDGNT, I assume those will eventually go to headers somewhere?

2. Related to 1. - I would suggest having a jumper option to route the REQ and GNT pins on the PCI port to PPDREQ and PPDGNT (instead of IREQ and IGNT). On ICH southbridges up to ICH4 there is a register that can change some of the GNT/REQ pins to act as PPDREQ/PPDGNT. This would mean that you wouldn't have to find PPDREQ and PPDGNT on the motherboard anywhere, but it would mean you'd have to find which PCI slot on the motherboard had the relevant signals (possibly just by trial and error).

1. Yes, on my local copy I've done exactly that.

2. That's interesting. Of course we can do that. Just to make sure I understand correctly.

The IT8888 has two different DMA mechanisms:

  • DDMA (Distributed DMA) - uses IREQ#/IGNT#
  • PC/PCI DMA (PPDMA) - uses PPDREQ#/PPDGNT#

Normal Operation (Both DDMA and PPDMA Available)

  • The IT8888 has one pair of each: IGNT#/IREQ# and PPDGNT#/PPDREQ#.
  • PCI slot GNT#/REQ# connects to IT8888 IGNT#/IREQ# for DDMA operations.
  • Motherboard PPDGNT#/PPDREQ# connects to IT8888 PPDGNT#/PPDREQ# for PPDMA operations.

Alternative Operation (PPDMA via PCI Slot)

  • PCI slot is configured to provide PPDGNT#/PPDREQ# signals instead of standard GNT#/REQ#.
  • PCI slot PPDGNT#/PPDREQ# connect to IT8888 PPDGNT#/PPDREQ#.
  • IT8888 IGNT#/IREQ# would be left unconnected, meaning DDMA functionality would not be available but allows for PPDMA via PCI Slot.

So you want a jumper configuration to remove IT8888 IGNT#/IREQ# connections to PCI slot's GNT#/REQ# and redirect the PCI slot's now PPDGNT#/PPDREQ# to IT8888 PPDGNT#/PPDREQ#?

~

I did a routing test of the ground, power rails and some signals. This is no means perfect or even final. I'll definitely be changing some footprints (like resistor networks, and some other stuff) and I'll likely re-organize the board to optimize trace routes. Just figured I'd keep you all up-to-date on the progress.

Potential PCIe-to-PCI-to-ISA pathway repository: https://github.com/DartFrogTek/PCIe-PCI-ISA

Reply 742 of 747, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
dartfrog wrote on 2025-04-29, 21:41:
The IT8888 has two different DMA mechanisms: […]
Show full quote

The IT8888 has two different DMA mechanisms:

  • DDMA (Distributed DMA) - uses IREQ#/IGNT#
  • PC/PCI DMA (PPDMA) - uses PPDREQ#/PPDGNT#

Normal Operation (Both DDMA and PPDMA Available)

  • The IT8888 has one pair of each: IGNT#/IREQ# and PPDGNT#/PPDREQ#.
  • PCI slot GNT#/REQ# connects to IT8888 IGNT#/IREQ# for DDMA operations.
  • Motherboard PPDGNT#/PPDREQ# connects to IT8888 PPDGNT#/PPDREQ# for PPDMA operations.

Regarding DDMA mode, does the chipset itself also need to support that for it to work?

AFAIK ICH never supported that, and I don't remember seeing other chipsets of the AGP 8x/PCIe 1.x period ever advertised such support...

Reply 743 of 747, by dartfrog

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on Yesterday, 03:40:

Regarding DDMA mode, does the chipset itself also need to support that for it to work?

AFAIK ICH never supported that, and I don't remember seeing other chipsets of the AGP 8x/PCIe 1.x period ever advertised such support...

We are basically operating on a theory at the moment until we can test it directly.

As I understand it, there is no need for DDMA support in the chipset itself. I asked someone with significant motherboard design experience, and they said, "not that I remember, all that should be needed is PCI Bus Mastering support." That matches what I assumed, but I still have some reservations, since no one has been able to confirm this with hard documentation or real world proof yet.

It was explained to me further that "DDMA's job is to make ISA DMA look like PCI bus mastering under the hood." Chipsets supporting DDMA required a DDMA controller integrated in the Southbridge/PCH. But in the case of the IT8888, the DDMA controller is embedded within the bridge chip itself. That implies the chipset doesn't need to be DDMA aware; the chipset just needs to support standard PCI bus mastering. This is a reasonable assumption, but again it's not been proven.

Potential PCIe-to-PCI-to-ISA pathway repository: https://github.com/DartFrogTek/PCIe-PCI-ISA

Reply 744 of 747, by myne

User metadata
Rank Oldbie
Rank
Oldbie

I mean... There's always the piggy-back mongrel I described a page or so back.
With your board and a pentium/p2 era board it should be possible to jump the pci slots together (solder wires to the slot pins from behind?), make sure there's power to the southbridge, and see if the southbridge can be detected at all. Just seeing the chipset in device manager would be enough for step 1.

If it can... Then we're cooking!

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 745 of 747, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
dartfrog wrote on 2025-04-29, 21:41:

So you want a jumper configuration to remove IT8888 IGNT#/IREQ# connections to PCI slot's GNT#/REQ# and redirect the PCI slot's now PPDGNT#/PPDREQ# to IT8888 PPDGNT#/PPDREQ#?

Exactly. It won't work for every motherboard, but it will hopefully make installation easier for those that happen to have the correct PCI pin configuration.

Reply 746 of 747, by myne

User metadata
Rank Oldbie
Rank
Oldbie

http://support.fccps.cz/download/adv/frr/PCI1 … CI104_case.html
That has some interesting technical details

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 747 of 747, by dartfrog

User metadata
Rank Newbie
Rank
Newbie
myne wrote on Yesterday, 05:50:

I mean... There's always the piggy-back mongrel I described a page or so back.
With your board and a pentium/p2 era board it should be possible to jump the pci slots together (solder wires to the slot pins from behind?), make sure there's power to the southbridge, and see if the southbridge can be detected at all. Just seeing the chipset in device manager would be enough for step 1.

If it can... Then we're cooking!

If the card fails, at least we have another option via Piix4 to mess around with. However your post below is quite interesting!

myne wrote on Yesterday, 11:10:

http://support.fccps.cz/download/adv/frr/PCI1 … CI104_case.html
That has some interesting technical details

Hey that's awesome. From what I skimmed, this seems to actually confirm the theory about the chipset not needing DDMA! It doesn't outright say it, but with some deduction we can confirm the theory is valid.

"Note that the ICH8M provides 3 channels of REQ+GNT, but it would seem that 1 channel out of those 3 goes to the IT8888 - at least that bridge does have the corresponding pins. I'm not entirely sure they're mandatory, if the IT8888 isn't allowed to perform legacy ISA DMA anyway (the ICH south bridges from ICH5R above lack some further signals needed for that, PPDREQ+PPDGNT I guess)."

I'm not sure the author understood that the IT8888 has both DDMA(use of PCI REQ/GNT) and PPDMA(use of PPDREQ+PPDGNT), since they were confused by the REQ/GNT connections to IT8888. By the ICH8M not providing PPDREQ+PPDGNT, the IT8888 must have been using it's DDMA controller since the chipset did not contain a DDMA controller and is not providing PPDMA signals. We can confirm the IT8888 was using DDMA operation via this part:

"I also knew from the start that the two Realteks on the MIO-3130 would be unable to run DMA properly on just one set of REQ+GNT (or would they?) and just one IDSEL signal"

So how was DMA being used there if there's no other mechanism for DMA unless it's PCI Bus Mastering? Which is how the IT8888 works. It looks like DDMA (PCI Bus Mastering) from IT8888 will indeed work as theorized! 😀 Exciting stuff. (Hope I'm not misinterpreting, but it really does seem like this approach is valid.)

rasteri wrote on Yesterday, 09:41:

Exactly. It won't work for every motherboard, but it will hopefully make installation easier for those that happen to have the correct PCI pin configuration.

Awesome, I have included it. This is a very good addition. Between the three options the card should support a large number of boards. Even more boards with PEX811x PCI to PCIe card.

Potential PCIe-to-PCI-to-ISA pathway repository: https://github.com/DartFrogTek/PCIe-PCI-ISA