Jump to content
IGNORED

Faulty Ti-99/4A - No Cartridges Accepted


Hans23

Recommended Posts

Hi,

 

I have recently found two TI-99/4As that apparently have been a repair project of someone else who had given up at some point.  They attempted swapping around chips and even moved the CPU from one board to the other without any severe damage.  I'm now trying to finish the job, but I'm running out of ideas - I'm still a relative noob with the TI-99/4A so maybe someone here has a hint and can help:

 

The faulty machine is starting fine and it runs Basic without apparent problems.

 

PXL_20201220_093027767.thumb.jpg.00fa6f55935d29b02e21d7522261307d.jpg

 

When I insert any cartridge, however, it displays the initial startup screen but then fails at the selection.

 

PXL_20201220_093054174.thumb.jpg.89149c0cbdfefc3a5f5e07c2083ef22f.jpg

 

I have exchanged the GROMs,  the CPU and the VDP, but none of that helped.  Not knowing a lot about the TI-99/4A or TMS9900, it seems to me as if the initialization routine fails to read from the cartridge, but it also seems as if some wrong data is read and then causes the menu code to never detect that there are no more cartridge based programs and eventually overwrites memory that is not supposed to overwrite.  Not sure, of course.

 

 

Any hints or ideas would be greatly appreciated.

 

  • Like 1
Link to comment
Share on other sites

@Schmitzi Thank you for the suggestion!  I've just tried it again, using DeoxIT D5 on the edge connector of the PCB for cleaning and lubrication.  I also tried two different raiser cards, both of which worked in the other board.  Maybe I will try swapping the edge connector between the non-working and the working board, although both of them look clean.

Link to comment
Share on other sites

2 minutes ago, mizapf said:

Does it happen for GROM-only cartridges as well (e.g. Hunt the Wumpus, Adventure, Amazeing, Car Wars, Disk Manager)? And what about ROM-only cartridges (like Atarisoft titles, e.g. Defender)?

 

I only have two cartridges, a FinalGROM99 and a ROM-only cartridge with TurboForth.  The problem occurs with both.  The picture I sent above is what I get from the ROM-only cartridge.  With FinalGROM, I get the two expected menu entries, but the machine crashes when I select 2 (FinalGROM99).

Link to comment
Share on other sites

One note on the cartridge port: there is an oil-saturated felt hiding in the connector. They get really gunked up over time. If you remove the connector and extract the felt, you may clear the problem. The felt isn't needed--but when it is present it collects lots of metal bits over time and that makes it a problem waiting to happen.

Link to comment
Share on other sites

6 minutes ago, Ksarul said:

One note on the cartridge port: there is an oil-saturated felt hiding in the connector. They get really gunked up over time. If you remove the connector and extract the felt, you may clear the problem. The felt isn't needed--but when it is present it collects lots of metal bits over time and that makes it a problem waiting to happen.

As the problem was reproducible with both cartridge port riser cards and consistent between the two, I did not think that this was the problem.  To make extra sure and to have a look at this felt thing, I've now removed it and cleaned the port once more, but it did not help with the issue.  Thanks anyway, I'll leave the felt thing out now - It indeed looks dirty and not very trustworthy.

  • Like 3
Link to comment
Share on other sites

3 hours ago, Hans23 said:

The 74LS373 in the 8/16 bit data bus converter was faulty.  Interestingly enough, it tested as OK in the TL866+, so it seems that the chip must somehow become marginal.

I find this an interesting result as it is not one I recall ever seeing.  Usually the cartridge port fix is pretty straight forward for any novice user.

  • Like 1
Link to comment
Share on other sites

28 minutes ago, OLD CS1 said:

I find this an interesting result as it is not one I recall ever seeing.  Usually the cartridge port fix is pretty straight forward for any novice user.

I was amazed myself, but I am rather sure:  I installed sockets on the three bus transceiver/latches and I could go back to the faulty behavior by putting the origin 373 back in.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, Hans23 said:

I was amazed myself, but I am rather sure:  I installed sockets on the three bus transceiver/latches and I could go back to the faulty behavior by putting the origin 373 back in.

Always room for new failure modes :)  Might be worth adding this one to Ninerpedia as a could-be.

  • Like 3
Link to comment
Share on other sites

14 hours ago, Hans23 said:

I was amazed myself, but I am rather sure:  I installed sockets on the three bus transceiver/latches and I could go back to the faulty behavior by putting the origin 373 back in.

If you remove the latch (373) completely, you do not get this screen output, I suppose.

 

The 373 is used to store the odd-addressed byte either on write operations (picking up the values of D8-D15 from the CPU) or read operations (picking up the first byte from the 8-bit data bus and then presenting it on D8-D15 to the CPU). While working internally, i.e. accessing the console ROMs or the scratch pad RAM, the multiplexer is not used. Also, it is not used for VDP access (going over D0-D7 directly), but for sound, GROMs, and the I/O port and GROM port (aka cartridge port).

 

I'm trying to simulate that issue in MAME (the fault patterns on Ninerpedia were produced in this way), but I have not been successful yet, so maybe we have a byzantine fault here. It would be interesting to guess which bytes were read when producing the cartridge selection. The colors are from the master title screen, and the character codes are known. Also, there are some parts of the TI logo. I seem to remember this or a similar output, but I am not sure in which context; maybe it was with the Gram Kracker.

Link to comment
Share on other sites

1 hour ago, mizapf said:

If you remove the latch (373) completely, you do not get this screen output, I suppose.

Without the latch, the machine runs the internal Basic just fine.  With a cartridge inserted, I get the "INSERT CARTRIDGE" message.  It seems that the 373 is somewhat doing its thing (which is also confirmed by the IC tester reporting that it is working).  I would think that this is a very rare failure mode, but it may be worth noting that if the 373 completely fails, the machine starts without a cartridge but displays "INSERT CARTRIDGE" when a cartridge is inserted.  I'm keeping the 373 in my dead parts bin, maybe I'll test it some more with a specialized test rig if I'm running out of other things to do :)

Link to comment
Share on other sites

1 hour ago, Hans23 said:

Without the latch, the machine runs the internal Basic just fine.  With a cartridge inserted, I get the "INSERT CARTRIDGE" message.  It seems that the 373 is somewhat doing its thing (which is also confirmed by the IC tester reporting that it is working).  I would think that this is a very rare failure mode, but it may be worth noting that if the 373 completely fails, the machine starts without a cartridge but displays "INSERT CARTRIDGE" when a cartridge is inserted.  I'm keeping the 373 in my dead parts bin, maybe I'll test it some more with a specialized test rig if I'm running out of other things to do :)

I have had chips that my Minipro has tested as good, that when I test in an old chip tester, have failed the test. So I would say the Minipro does not have a great tearing algorithm.

Link to comment
Share on other sites

32 minutes ago, atrax27407 said:

It could also be an intermittent fault in the chip.

That's true, but it seems that there is something reproducible about the fault.  The screen image always looks very similar, albeit not the same.  I have decided that I'm intrigued enough to try testing the 373 with an Arduino based program.  I'll report whatever I find, even though it will be completely useless as this fault will not likely happen again, ever :)

  • Like 1
Link to comment
Share on other sites

I could not resist and built a little test rig for the 373 to figure out what is wrong with it.  It seems that the chip lets data pass through even if latch enable is low.  On a working 373, the behavior for latching data looks like this (green D, yellow Q, blue LE, red OE):

ok.png.b7e3b21706418e20d00c52631aa808d8.png

Data appears on the output pin when after LE goes high, all fine.  On the failing chip, I see this:

broken.png.6a9ab8d51a85dbc063ae351965fae7fd.png

Here, the output follows the input even though LE is low.

 

This was a fun little exploration and I think I can safely say that this is a broken 74LS373N :)

 

Cheers,

Hans

  • Like 7
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...