6 ms·
Adding an ISA Slot to a Modern Motherboard [video]
- gaudat 4y agoI didn't watch the video. I guess they are using the LPC header available on some mobos and a microcontroller or FPGA to change it to a full-blown ISA bus.
- MisterTea 4y agoLPC (Low Pin Count) is the last remains of the ISA bus in the PC. Supposedly there is no way to properly implement 100% ISA compatibility on modern PC's after the Pentium 3. The reason being some less used bus mastering or DMA signals are unable to be properly implemented due to removal of those mechanisms by Intel. But most cards that are simple like audio, serial, ethernet cards that just do basic irq and dma should work fine.
- ilyt 4y agoas in AMD also removed them or never had them in the first place ?
- einr 4y agoAMD removed support as well. https://flaterco.com/kb/ISA_chipsets.html https://flaterco.com/kb/ISA_chipsets.html
- monocasa 4y ago> Supposedly there is no way to properly implement 100% ISA compatibility on modern PC's after the Pentium 3. FWIW, I think that's probably referring to the fact that about then, x86 redefined dove of the semantics of the lock prefix. Before about then it'd be propagated out to the FSB as whole system visible transaction, but after about then atomic operations only went out to L2 to increase core count without the cores stepping on eachothers' toes. That being said, very few drivers/cards actually depend on that behavior. Bridging the card to LPC (or worst case PCIe) should be fine for the vast majority of cases.
- skissane 4y agoTranscript: 0:00 hi so this is a project I'm working on 0:02 it's uh well you can see uh LPC to ISA 0:05 adapter basically it allows you to 0:07 connect old Isa cards like this sound 0:09 blaster 16 here up to Modern 0:11 motherboards this is a socket 1155 0:13 motherboard with a Intel 6 series 0:15 chipset and the ISA adapter is connected 0:18 up to it through its TPM Port which is 0:20 normally used for an encryption key it's 0:23 got a Sandy Bridge Core i5 in it so you 0:25 know it's still a little bit older but 0:27 it's certainly got no business having an 0:28 Isa slot connected to it but yeah if I 0:31 just uh do the old standard Doom test 0:35 we have audio 0:37 as you can hear that's full audio music 0:40 and sound effect so uh yeah seems to be 0:42 working I'm going to be open sourcing 0:44 this board as well as making a longer 0:45 video explaining how it all works so get 0:47 subscribed to my channel if you don't 0:48 want to miss that
- gaudat 4y agoA picture is worth a thousand words, but sometimes a thousand words is worth more than a thousand pictures. Thank you for the transcript.
- skissane 4y agoI prefer text to video or audio. Text is a more 2-dimensional format – my eyes scan up and down the page looking for keywords. I read it non-linearly, reading the more interesting-looking sentences first (even multiple times), leaving the less interesting ones until the end. Text lets me follow my own attention, audio/video force me into a linear straight-jacket – I know I can rewind/fast-forward/etc, but that's still a lot more slow and painful than just darting my eyes around a page. A picture can say a lot that words can't, but that's why (hyper)text can have pictures, figures, diagrams, photos, tables, etc, embedded in it. Even embedded video clips and audio files, for those times when an audiovisual component is really adding something.
- knome 4y agoI've largely hated the slow transition of information from barebones html scrawlings to the modern video presentation format. One thing I've discovered is installing an HTML5 video speed controller extension that lets me run most videos at 2.5-3.0x speed. It really seems to help. I think part of the problem is that most videos are tuned well below the rate I like to scan in information.
- Animats 4y agoHuh. What does the TPM port look like? And how did he get an old application to talk to this? That could be useful for industrial and scientific applications where some ancient hardware from the DOS era is still in use.
- mk_stjames 4y agoTPM uses the LPC (low pin count) bus controller, which provides a 4 bit @ 33 mhz interface... which isn't a coincidence that it is 1/4 the bits at 4x the clock rate as ISA, because that it what it was designed for. So demultiplex the bus back to 16 bit ISA and pull some driver magic and voila. At least that is what I think is happening here.
- MisterTea 4y ago> 33 mhz interface. That's also the clock speed of PCI. https://en.wikipedia.org/wiki/Low_Pin_Count#Timing_and_performance https://en.wikipedia.org/wiki/Low_Pin_Count#Timing_and_perfo... > At least that is what I think is happening here. ISA compatibility seems to be limited to byte sized data transfers: https://en.wikipedia.org/wiki/Low_Pin_Count#ISA-compatible_operation https://en.wikipedia.org/wiki/Low_Pin_Count#ISA-compatible_o...
- skissane 4y ago> What does the TPM port look like? From what I understand, there is no standard, it is motherboard-vendor-specific (and can even differ from model to model within the same vendor). Some motherboards support having the TPM on a daughterboard which plugs into the motherboard. This lets them make it an optional extra, which you have to pay extra for. Nowadays more and more stuff is making a TPM mandatory (e.g. Windows 11), but when they first came out (almost 15 years ago) little used them and why pay for one if you didn't need it? The people who really needed them were most likely enterprise customers, so making them pay extra for a daughterboard is a useful form of market segmentation. Far less common on newer motherboards, but newer motherboards wouldn't have an LPC bus either – it has been replaced by eSPI. So this hack is really only if you have a moderately old machine – new enough to not have ISA, old enough to have LPC wired through a TPM daughterboard slot. I suppose, for newer motherboards, you could build an eSPI-to-ISA adapter – heck, you could even build a PCIe-to-ISA adapter, maybe someone has. But I think part of the hack is exploiting the fact that LPC is based on ISA, which makes the circuitry needed to interface the two simpler. Mapping ISA to a more modern bus would be a lot more complicated, since the technological gap you need to bridge is a lot bigger.
- jeffbee 4y agoYou can still buy new motherboards with ISA slots. Lots of industries need these. https://duropc.com/product/r6029-4p5i-4 https://duropc.com/product/r6029-4p5i-4
- gaudat 4y agoI never understood how these motherboards work given that they look more like expansion cards. Now I know the intended way is to plug that into a backplane and wire the bus interfaces out.
- emeraldd 4y agoThe mainboard is the card and the part with the connectors is just a passive backplane.
- snvzz 4y agoYeah, generally with a hefty price tag. This open source design makes good use of TPM ports present in most modern motherboards, including current generation, thus it should bring ISA access for everyone, on the cheap.
- riceart 4y ago> present in most modern motherboards, including current generation I don’t think current generation motherboards are commonly carrying LPC interfaces having been replaced with eSPI. The motherboard in the video is stretching the term modern being a Sandy Bridge era - ie a decade old.
- snvzz 4y agoThey broke TPM port? Old TPMs can't be plugged into new ports and the other way around? This seems so messed up.
- TylerE 4y agoFor how long? That board uses a chipset that has been out of production for 9 years. The newest CPU it supports was released in 2017, and has been off the market for 3 years.
- userbinator 4y agoUnfortunately that's not a truly "modern" motherboard as it's from around 2011, and newer ones no longer support LPC DMA. If my research is correct, the last Intel chipset to support LPC DMA should be the X99 from 2014, but even before that, e.g. Atom x2000 series (2012), LPC DMA was already missing. I've not had the time to prove this out, but I believe it should still be possible to have full ISA support, including DMA, via a PCI/PCIe bridge that also needs to contain a pair of 8237-compatible DMA controllers and act as a bus master to buffer and translate ISA DMA requests to PCI/PCIe requests. It'll probably need an option ROM to configure the interrupt controllers and related signal paths in an ISA-compatible fashion. It might make a good exercise to implement one using an FPGA.
- overthrow 4y agoI wouldn't be surprised if you could bit bang ISA these days. ISA ran at 8MB/s, and (e.g.) a Raspberry Pi runs at 1.5GHz. That's nearly 200 cycles per ISA clock. All you need is a couple of i/o pins.
- mzerod 4y agoA friend of mine is building a Raspberry Pi ISA board so I’ll have to ping him on how it’s going.
- userbinator 4y agoAn RPi is not so much different from a PC in that the CPU core clock is going to be the fastest and everything else will be slower. You're not going to get 1.5GHz out of a GPIO. https://raspberrypi.stackexchange.com/questions/100011/how-fast-can-gpio-pins-toggle-on-the-pi-4 https://raspberrypi.stackexchange.com/questions/100011/how-f...
- TylerE 4y agoYou don’t need to. Your cap is 8MB/sec. For audio you don’t even need that. 48khz 16bit stereo is only 192k/sec.
- fsckboy 4y agoTL;DR: LPC to ISA adapter basically allows you to connect old ISA cards like a Sound Blaster 16 here up to modern motherboards. Doing the old standard Doom test we have audio as you can hear that's full audio music and sound effect so seems to be working. I'm going to be open sourcing this board transcript: hi so this is a project I'm working on it's uh well you can see uh LPC to ISA adapter basically it allows you to connect old Isa cards like this sound blaster 16 here up to Modern motherboards this is a socket 1155 motherboard with a Intel 6 series chipset and the ISA adapter is connected up to it through its TPM Port which is normally used for an encryption key it's got a Sandy Bridge Core i5 in it so you know it's still a little bit older but it's certainly got no business having an Isa slot connected to it but yeah if I just uh do the old standard Doom test we have audio as you can hear that's full audio music and sound effect so uh yeah seems to be working I'm going to be open sourcing this board as well as making a longer video explaining how it all works so get subscribed to my channel if you don't want to miss that
- wolpoli 4y agoThe LPC bus was introduced by Intel in 1998 as a software-compatible substitute for the Industry Standard Architecture (ISA) bus. It resembles ISA to software... [0] [0]: https://en.wikipedia.org/wiki/Low_Pin_Count#Overview https://en.wikipedia.org/wiki/Low_Pin_Count#Overview
- sfortis 4y agousb 2 ISA adapter is more handy thought http://arstech.com/install/ecom-prodshow/usb2isar.html http://arstech.com/install/ecom-prodshow/usb2isar.html
- rasz 4y agoyou misspelled "less". This works only with their SDK (and non public build of dosbox), latency is bad due to USB so things that read a lot over ISA are out of the question (think playing doom on ISA vga)
- sfortis 4y agoNop, no lag. Bandwidth is not an issue at all.A single ISA slot will top up @ 8MB half / 16MB full duplex
- rasz 4y agoLatency is 3 orders of magnitude worse. USB 125µs while ISA ~500ns. No problem when writing if you do write coalesce/combining, big problem when reading from ISA devices.
- rasz 4y agoProper announcement with more detail https://www.vogons.org/viewtopic.php?f=24&t=93291 https://www.vogons.org/viewtopic.php?f=24&t=93291 https://github.com/rasteri/dISAppointment https://github.com/rasteri/dISAppointment older similar project http://rayer.g6.cz/hardware/lpc_sio.htm http://rayer.g6.cz/hardware/lpc_sio.htm LPC is not without perils tho, there is trouble with DMA support as mentioned here https://flaterco.com/kb/ISA_chipsets.html https://flaterco.com/kb/ISA_chipsets.html More about LPC bus https://blogs.coreboot.org/blog/2013/06/14/a-biology-laboratory-dissecting-the-lpc-bus/ https://blogs.coreboot.org/blog/2013/06/14/a-biology-laborat...