VOGONS


First post, by vstrakh

User metadata
Rank Member
Rank
Member

Got this board, it's not detected by bios.

oak-vga-16.jpg
Filename
oak-vga-16.jpg
File size
962.22 KiB
Views
907 views
File license
Public domain

Probing the power lines I see some suspiciously low resistance (88 Ohms, or 0.17v drop when measuring in diode testing mode).
It's not dead short, but still way too low. To avoid desoldering all tantalum capacitors I started with taking out all the socketed chips.

It turns out the dead IC is the PAL16L8 close to ISA connector, the one in row with 74LS244 buffers.
I think I would be able to replace it with modern GAL16V8 from Microchip, but I'd need the equations from the original chip. The original PAL is of L series, so just plain logic, no registers, and I think it would be relatively simple to probe the behavior of the original working chip. Or maybe I could reverse-engineer that piece if I had a schematics for that card.

Does anyone has this card and would it be possible to read/probe its content, or at least any hints on where to look for the board schematics?

Reply 1 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi! I've found some information about the chipset a while ago.

See OAK OTI-037c - 800x600 mode ?

Maybe it is partially helpful.

Good luck! ^^

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 10, by vstrakh

User metadata
Rank Member
Rank
Member

Yeah, I've seen the datasheet for OTI-37c.
Problem is - there are many cards built on this chip, and the PAL is typically used in glue logic around the chipset, implementing decoding of address and other control lines logic.
This varies wildly between cards, and the equations in this dead PAL are specific to the exact board and revision.

Meh, will return to this board later...

Reply 3 of 10, by vstrakh

User metadata
Rank Member
Rank
Member

Seems I have a bit of luck with reverse engineering approach.
The dead PAL is only involved in generating IOR#, IOW#, ASEL and RESET signals for the OTI-37c, so basically only detects the addressing of VGA memory area and distinguishes I/O ports access from DMA transfers and refresh conditions. It's not involved in other onboard details, like the timings, data flow orchestration or BIOS chips mapping onto the bus. All the signals are coming directly from the ISA edge connector, and outputs are going into oti-037 directly or through 7404 inverter.

So I hope it would be just some looking into ISA specs and a bit of head scratching to map the i/o access logic.
I'm not sure yet if IOR#/IOW# are depending on the address lines or oti-037c filters addresses on its own. The datasheet did not include typical application schematics and the block diagram does not include needed details.

Googling around I see that ISA cards often/typically only decoded 1K of I/O address space, and not full 64K.
This matches well the A9-A4 lines I see on that PLA, so the answer should be "decode the addresses yourself on that PLA".

Reply 4 of 10, by vstrakh

User metadata
Rank Member
Rank
Member

Here's the pinout of that PAL design.

u12_pinout.PNG
Filename
u12_pinout.PNG
File size
16.57 KiB
Views
822 views
File license
Public domain

Wrote the PLD design that decodes I/O ports access signals and VGA memory areas. It all looks ok in simulation, but still didn't bring up the card to life.
It's possible some other ICs are not ok, so I'd need a full-blown debugging on a breadboard (don't want to risk the motherboard's health).
Ordered some ISA edge connectors from Aliexpress...

PS: I know the card is garbage, it has only 8-bit data path to the video memory. I'm just kinda enjoying diving deeper in old hw, brings up memories 😀

Reply 5 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++
vstrakh wrote on 2022-01-25, 09:18:

Googling around I see that ISA cards often/typically only decoded 1K of I/O address space, and not full 64K.

Seems to match my memories, too.
8-Bit ISA (PC Bus) mirrored so many addresses due to flawed / cheap decoding circuits.
Speaking of these, did you know that IBM CGA technically was able to do 640x200 in 4 colours, too? Not just black/white?
- If the address decoding wasn't so flawed.
CGA used merely 16 Kilobytes of its 32KB frame, also, if memory serves.
The other half was a copy/repeated memory pattern..
But I'm speaking under correction here. Please double-check my statements. 😀
Also, the dithering of CGA was/is cool. A simple mode-switch and.. Voila! Your 320x200 4c image becomes a nicely dithered 640x200 b/w image. 😀

That being said, the many mirror copies had its place. It just was a tiny bit frustrating to 286/PC-AT users. 😉
The PC AT platform had a huge 16MB address space (ISA..), but only a handful of i/o ports due to backwards compatibility.
And memory-mapped devices, like Weitek Abacus, were 386+ stuff.

vstrakh wrote on 2022-01-26, 09:22:
Here's the pinout of that PAL design. u12_pinout.PNG […]
Show full quote

Here's the pinout of that PAL design.
u12_pinout.PNG

Wrote the PLD design that decodes I/O ports access signals and VGA memory areas. It all looks ok in simulation, but still didn't bring up the card to life.
It's possible some other ICs are not ok, so I'd need a full-blown debugging on a breadboard (don't want to risk the motherboard's health).
Ordered some ISA edge connectors from Aliexpress...

PS: I know the card is garbage, it has only 8-bit data path to the video memory. I'm just kinda enjoying diving deeper in old hw, brings up memories 😀

No problem. The contrary is the case. You're doing it completely right, imho. Kudos. 😎👍

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 10, by rkurbatov

User metadata
Rank Member
Rank
Member
vstrakh wrote on 2022-01-26, 09:22:

PS: I know the card is garbage, it has only 8-bit data path to the video memory. I'm just kinda enjoying diving deeper in old hw, brings up memories 😀

Hi. I've found this beauty on Violity and bought it just because of this topic.

It's exactly your card model (there are few of them) but in worse shape - BIOS, DAC and both PALs are missing.

DACs are quite standard, I have one or two and even ordered CEG ones from EDSUN (AD?) to play with this interesting technology.

BIOS is also available, though if you provide yours it would be much simple to be in sync.

But mine missing both GALs and that makes everything even more interesting 😀 But why else we are here?

Could make a dump of a working one (vertical, horizontal?) and provide JED file for the one that is broken in your case. I can try and see what do we have.

I am not very experienced, especially in PAL programming, but at least I have XGecu, oscilloscope and some time to have fun 😀

I only hope it was salvaged while being working.

Also, is your working in EGA mode? I suppose one of the PAL is for VGA part.

Attachments

  • Video.jpeg
    Filename
    Video.jpeg
    File size
    80.14 KiB
    Views
    158 views
    File license
    Fair use/fair dealing exception

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 7 of 10, by vstrakh

User metadata
Rank Member
Rank
Member

Unfortunately I can't help you. The dead PAL replacement was my guesswork based on observed traces, and can't be taken as the true answer without validating it first.
And the other MMI-branded PAL16L8 seems not readable in my T48 XGecu. I can't tell if it's dead, or it can't be directly read as is and require other methods of dumping.

Reply 8 of 10, by rkurbatov

User metadata
Rank Member
Rank
Member
vstrakh wrote on 2024-03-20, 13:28:

Unfortunately I can't help you. The dead PAL replacement was my guesswork based on observed traces, and can't be taken as the true answer without validating it first.
And the other MMI-branded PAL16L8 seems not readable in my T48 XGecu. I can't tell if it's dead, or it can't be directly read as is and require other methods of dumping.

And what about BIOS?

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 9 of 10, by vstrakh

User metadata
Rank Member
Rank
Member
rkurbatov wrote on 2024-03-20, 13:35:

And what about BIOS?

Here's the zip:

Filename
OAK-VGA-16.zip
File size
18.8 KiB
Downloads
3 downloads
File license
Fair use/fair dealing exception

There's two ROM's - odd/even pair.

Reply 10 of 10, by rkurbatov

User metadata
Rank Member
Rank
Member

Thank you. Will try.

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300