VOGONS


OPTi Local Bus variants

Topic actions

First post, by mkarcher

User metadata
Rank l33t
Rank
l33t

I recently acquired a Chaintech (according to FCC ID) Taiwanese Local Bus ET4000 graphics card, sold as "ET4000L VESA/32K". "VESA" in the product name does not refer to the bus interface, obviously, but to the 70Hz/72Hz refresh rate timinigs proposed by VESA. The card implements a "Local Bus Interface (OPTI definition)" according to its manual. The manual also contains the pin-out of the OPTI local bus. The pinout in that manual re-defines some ISA pins, namely D4 (formerly IRQ11) as BS16# and D5 (formerly IRQ12) as BS8#. These pins are to be pulled down to ground to signal that only the lowest 8 or lowest 16 bits of a 32-bit bus cycle requested by the initiator (the 486 processor) were serviced.

My (no-name) mainboard with OPTi Local Bus-like slots (EISA connectors, but only 3 of them) does not implement BS16# and BS8# on the OLB, but has the ISA IRQs across all slots (both OLB and ISA). The ET4000 graphics card on the other hand requires BS16# to operate correctly. The card and the board are incompatible! I tried to trace the 486 pin BS16# on the board - it seems to be connected to the SiS 82C402 "data buffer" chip only. It is not connected anywhere near the OLB slot or the PAL used to help OLB implementation. I also tried to trace BS8#, and it seems, the 486 pin BS8# is just connected to a 4k7 pullup resistor and no logic at all.

If other members own OPTI Local Bus mainboards: Could you please test whether pin D4 on OLB slots is connected to pin D4 on ISA slots?

If other members own OPTI Local Bus expansion cards: Could you please check whether these cards have pin D4 connected to anything?

  • No-Name Local-Bus mainboard "486C", based on the SiS 82c401/82c402 chipset: D4/D5 = IRQ11/IRQ12
  • Chaintech (according to FCC ID) ET4000-based graphics card ("ET4000L VESA/32K") (all buffer chips SMD 74F244/24F245): requires D4 = BS16#
  • No-Name(?) ET4000-based graphics card ("P/N: 2148" on the PCB, all buffer chips 74HC(T)-series DIP, picture by user "mpe"): makes no use of D4/D5
  • Tekram DC660 caching IDE controller: makes no use of D4/D5

Pictures to follow. I try to edit information obtained from other sources into the two lists.

EDIT (27.11.2022): This thread used to be named "OPTi / Orchid local bus variants", but has been renamed, because the Orchid local bus, as seen in Re: 1992 Orchid Superboard 486 50 MHz system is obviously different, while also being based on the "EISA connector". They have some less pins, and enforce their card format by a blocker in the EISA slot. They also label the slot to be a "Orchid 32-bit video connector or 8-bit AT bus", so they likely do not have all the 16-bit ISA signals on that slot. The blocker in the slot also prevents insertion of 16-bit ISA cards.

Last edited by mkarcher on 2022-11-27, 14:14. Edited 3 times in total.

Reply 1 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t

Here is a picture of the ET4000 OLB card that requires D4 to be BS16#. The labels on the programmable logic chips have been peeled off to find their type. I might write a post about reverse engineering the OLB interface of that card later. Three of the four programmable logic chips are PALs without readback protection.

The attachment ET4000_OLB_Card.JPG is no longer available

And this is a close-up of the pins, showing how to find pin D4 on an OLB card:

The attachment D4_on_ET4000.jpg is no longer available

You can see a trace connected to the pad for ISA/OPTI pin D4.

Reply 2 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t

This is a picture of the no-name (Opti) Local Bus mainboard (Sorry for the low image quality, I will try to make a better photo when more light is available):

The attachment OLB_Mainboard.jpg is no longer available

And this picture shows D4 on an ISA and an Opti slot. If there is continuity between these two pins, the ET4000 card will not work properly:

The attachment D4_on_Mainboard.jpg is no longer available

Reply 3 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t

I just discovered that (likely) everything you ever wanted to know about the "local bus" interface, as suggested by OPTi (note that the official name is not OPTi local bus) is publicly available in US Patent 5426739, e.g. here https://www.freepatentsonline.com/5426739.html. The text-only rendition of the patent is nice due to the searchability, whereas the PDF has the figures. Better look at both.

The local bus pinout is in column 28 (PDF page 32). This list still has the original ISA pin assignment. Column 33 on PDF page 35 has suggestions on ISA-pins to reassign to expand the local bus capabilities. They re-assign DMA 0/3/5/6 (extra address bits and one line for master arbitration) as well as IRQ11/IRQ12 (for dynamic bus sizing).

While the patent presents the Local Bus in a fashion that is master capable, the mainboard I showed in the previous post has slave-only local bus slots. The address and data lines are buffered. The address lines use uni-directional buffers. The data lines buffer direction is controlled in a way that it only work for slave cycles.

I intended to write a post about reverse-engineering the OPTi local bus logic in the PALs from the basics, but it seems the patent explains the video card I show above in quite good detail. I might still post about the logic of my card, but I will refer to the patent as basis and just write about interesting deviations or choices made on that card.

Reply 4 of 13, by mpe

User metadata
Rank Oldbie
Rank
Oldbie

Is this any good?

DSC_7999-scaled.jpeg
DSC_7997-scaled.jpeg

Blog|NexGen 586|S4

Reply 5 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t
mpe wrote on 2020-09-24, 17:33:

Is this any good?

Yes. Very good pictures. Your card does not need BS16# on pin D4. Do you happen to have any brand/model name for your card? Your card contains 74HC374 latch chips that are needed to assemble the results of multiple 16-bit read cycles from the ET4000AX chip into a single 32-bit read cycle on the OPTi Local Bus. My card does not, and thus relies on the mainboard / processor to split 32-bit cycles.

Reply 7 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t
Deksor wrote on 2020-09-25, 16:19:

I'm sure your board isn't that noname 😀
Can you show me its post screen and/or a bios dump ? 😀

I'm at the moment not near the board, but I can quote you the bottom line of the AMI BIOS (colored setup) POST screen:

40-0505-001432-00101111-070791-SIS_486C-F

The line below "ROM BIOS (C)1990 American Megatrends Inc.," is "LOCAL-BUS 486C".

Reply 8 of 13, by weedeewee

User metadata
Rank l33t
Rank
l33t

Just adding that, according to Re: Help identifying two unknown motherboards please....,
AMI BIOS vendor code 001432 should also be ECS or Elitegroup Computer Co., Ltd.

(unless it was used by several taiwanese motherboard makers)

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 9 of 13, by evasive

User metadata
Rank Oldbie
Rank
Oldbie

001432 is only seen in ONE bios for the M710 board and I call that a typo, just as there's a 001347 and a 001473 PCChips bios.

Reply 10 of 13, by lysinger

User metadata
Rank Newbie
Rank
Newbie
mpe wrote on 2020-09-24, 17:33:
Is this any good? […]
Show full quote

Is this any good?

DSC_7999-scaled.jpeg
DSC_7997-scaled.jpeg

I have had this exact card for around 15 years and finally got a working local bus motherboard this week (well, it took a week to get the right combination of ram and power supply, but my stash of 30pin simms is now fully tested). The sad part is my card either prevents the motherboard from POST, or on some occasions I get the 1 long 8 short bad video card post beeps. I would love bios images if you are able to download them, or a peek at any literature you may have on the card.

Regards,

Reply 11 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t
lysinger wrote on 2026-09-11, 01:05:

I have had this exact card for around 15 years and finally got a working local bus motherboard this week (well, it took a week to get the right combination of ram and power supply, but my stash of 30pin simms is now fully tested). The sad part is my card either prevents the motherboard from POST, or on some occasions I get the 1 long 8 short bad video card post beeps. I would love bios images if you are able to download them, or a peek at any literature you may have on the card.

Any ISA ET4000 BIOS is supposed to work. The job of the PALs and the TTL logic chips is to detect access to the Video RAM range (0xA000..0xBFFF) on the local bus, and convert that into cycles that look like very fast 16-bit ISA cycles to the ET4000 chip. The ET4000 does not need special configuration for "local bus" operation. BIOS access is handled on the ISA bus. I'd recommend re-seating all the socketed chips on the non-working card as a first attempt to get it working.

If your board boots with 8 beeps, you can try to diagnose the issue using a null-modem cable and "ctty com1" or most likely also through a Hercules card installed at the same time, if you have a way to display MDA/Hercules type video. I'm not 100% sure whether the local bus adaption respects the Hercules address range and passes it to ISA, but if they use the address decoder built into the ET4000 chip, it should work.

Reply 12 of 13, by jakethompson1

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2026-09-11, 09:48:

Any ISA ET4000 BIOS is supposed to work. The job of the PALs and the TTL logic chips is to detect access to the Video RAM range (0xA000..0xBFFF) on the local bus, and convert that into cycles that look like very fast 16-bit ISA cycles to the ET4000 chip. The ET4000 does not need special configuration for "local bus" operation. BIOS access is handled on the ISA bus. I'd recommend re-seating all the socketed chips on the non-working card as a first attempt to get it working.

There is no general way in software to distinguish these chips that can be both ISA and VLB-but-only-16-bit, correct? For purposes where it matters (e.g., linear framebuffer above 16MB), would the chip/card just be designed to expose a bit in some custom read-only SVGA register to distinguish ISA from VLB? Or even easier: have a different VGA BIOS for the ISA vs. the VLB version.

Reply 13 of 13, by mkarcher

User metadata
Rank l33t
Rank
l33t
jakethompson1 wrote on 2026-09-17, 22:49:

There is no general way in software to distinguish these chips that can be both ISA and VLB-but-only-16-bit, correct?

This statement is too general. All the CL-GD542x chips with VL interface (IIRC starting at the 5424, possibly the 5426) still support ISA as well, and they only support 16-bit transfers over VL, so I would qualify them as "ISA and VLB-but-only-16-bit". Yet they are different than the ET4000: The ET4000 does not know anything about VL, and requires on external logic to decode VL cycles into something the ET4000 chips supports (which basically means it looks like ISA). On the other hand, the Cirrus Logic chips I mentioned have VL interface logic built into the chip, and as far as I know, there is a way for software to read back whether the VL interface logic or the ISA interface logic is active.

jakethompson1 wrote on 2026-09-17, 22:49:

For purposes where it matters (e.g., linear framebuffer above 16MB), would the chip/card just be designed to expose a bit in some custom read-only SVGA register to distinguish ISA from VLB? Or even easier: have a different VGA BIOS for the ISA vs. the VLB version.

If you have an ISA-only chip like the ET4000AX, it does not support addresses above 16MB at all. If you have a VL card that provides an LFB above 16MB using a ET4000AX graphics chip, there needs to be some remapping going on in external logic, which is invisible to the ET4000 chip. So indeed, you would need to ship such a card with a custom BIOS that matches the custom logic used for framebuffer address decoding. If I remember correctly, even the CL-GD542x series chips only support address bits up to A23 unless fancy pre-decoding is used, so even though they do have a VL interface, they can't natively map their linear frame buffer above 16MB.