First post, by Isopodus
Hi everyone!
I have recently got my hands on 2 beautiful IBM5155 machines with original IBM CGA cards in them. Upon further investigation and swapping cards between the PCs (XTs) I found out that one of the CGA cards is not working (long + 2 short beeps on startup). The tantalums were replaced on both cards, but one of them is still non-operational.
When looking further into the schematic (from this github repo) and checking different ICs using a logic analyzer and an oscilloscope I found out that the 74LS245 bus transceiver is not behaving properly for some of the bit lines (very similar to an issue from this thread):
By looking at the logic analyzer we can see that something is wrong: if chip is enabled (!CE is LOW) and A->B (direction pin) is LOW, then we should see any data from B being brought over to A. In fact, we can see that A is partially ignoring this state, which means that something is pulling it high from the A side (which is the ISA bus himself i.e. DB0-DB7 pins), which seems to make no sense, hence I thought the chip was bad:
I have compared it with a working card and did not notice such behaviour, so logically my first idea was to replace the chip (though I should had to investigate better first). After extracting it from the board I tested it using T48 programmer in logic tester mode and it did not find any issues with the transceiver itself! Then it struck me, that if the chip is good but the timings are bad and there is a bus contention - that means that the !CE pin (or DIR pin) is driven wrongly, which lead me to this part of the schematic:
I have tested all the different IC's that can lead to DATA_GATE signal being invalid, but in the end - it looks like all the chips in area are working fine. This led me to a somewhat dead end, since I don't see anything that may have be dramatically invalid to make this not work. The only clue I have that some of the address lines that are coming to U18 and U19 might be pulled to invalid state by some other chips on the PCB? I didn't look that far into this for now and decided to take a break and ask for an advice from someone with more experience in the area. Thanks!
Best regards