Building a TMS 9900 Homebrew

I do not have a complete schematic, no. When I do, I will absolutely post it.

Hi
Iā€™ve ordered a TMS9900 parts kit and a small number of DIP-64 sockets. The rest of the parts look fairly common. Iā€™ll put these aside for later if and when your homebrew project goes public. Very interesting indeed

I searched around looking for TMS9900 series KiCAD symbol and footprint libraries to aid in the generation of a schematic and PCB layout. Unfortunately it looks like they donā€™t exist. Not surprising but it means that whomever will need to generate the TMS9900 and family symbol library from scratch. Not a show stopper but necessary work to do. Iā€™ve found a common problem when dealing with retrobrew & homebrew projects is the KiCAD support for critical parts is lacking. Canā€™t really expect them to support every part that ever existed although it certainly would be niceā€¦

Does anyone know of a KiCAD project using TMS9900 and family ICs? If so, maybe a symbol library exists somewhere and could be re-used. Otherwise, do from scratch using the datasheets. Maybe I missed something or someone knows of an obscure project not easily found on the WWW

Good luck! Andrew Lynch

PS, I am willing to help out with schematic capture, etc. after some of my other projects subside a bit

I do have symbols for the 9900 and 9904. I cannot seem to attach an arbitrary symbol here, but here is a gist for the 9900 and for the 9904. I havenā€™t yet verified that it is completely correct, as the state of my schematics is currently rather poor. (Poor enough to be not useful, which is why I havenā€™t released anything; theyā€™re basically just the data sheet clock generation and a simple reset circuit, at this point.) The footprints for both of these are standard DIP packages, so no special footprint should be required.

I donā€™t yet have the 9901/9902, which are the next critical components that will not be in the standard KiCad library, but I am comfortable making KiCad symbols. When I get to that point, Iā€™ll certainly draw and release them.

Hi
Any updates on the TMS9900 homebrew design? Thanks, Andrew Lynch

No, as usual, the semester heated up too much to allow for that much off time. It just wrapped, though, so weā€™ll see. Iā€™m not sure if Iā€™ll try to get it to a more complete state this summer, or prod it into shape once the Fall starts.

1 Like

Hi
Any updates on the TMS 9900 homebrew? Hopefully a temporary hiatus and not abandoned project.

Thanks! Andrew Lynch

It is a temporary hiatus. I have been experiencing signal integrity problems due to poor breadboard quality, and I need to replace the breadboards with higher quality boards and/or make some PCBs for the highest-draw sections. I plan to pursue both of these strategies, but have not had the time to make the left turn.

1 Like

Quite a lot of projects over on the 6502.org forum run into signal integrity issues - getting good ground return paths and adequate decoupling is one of those things which has a hidden dividend. And these days with fast ICs for glue, the edge rates are higher so the ground bounce is worse.

This was a particular disappointment to me because I have had good luck with breadboards from the supplier I am using in the past. However, these are post-COVID-shortages breadboards, and they seem to have much higher contact resistance, and indeed even rail resistance, than my older breadboards. On some strips I read as much as 8-10 ohms from a short 22 gauge wire inserted in one end of a ground strip to a 22 gauge wire inserted at the opposite end. This leads to static ground levels (not even bounce!) of as much as 500-700 mV on some parts of the circuit.

I can mitigate this with zillions of ground ties all over, but Iā€™m just going to be fighting it forever with this poor-quality boards. I will be purchasing some name brand boards and paying the 10x premium (a lesson I have learned so many times over in other areas), as well as taking the high current draw clock generator, main CPU, and RAM/ROM modules and putting them on dedicated PCBs, leaving the breadboards for the (more likely to change) glue logic and peripherals.

I looked into moving over to wire wrap, but wire wrap sockets and headers have just gotten too expensive to make it attractive for this particular project.

Oh, thatā€™s interestingā€¦ I suppose the price of copper has gone up, so super-thin conductors will be saving money. But no good for this purpose. (Copper? Well, apparently tin-plated phosphor bronze, which is mostly copper.)

Hi
Is there something I can do to help? Like design a PCB to your schematic & specifications? I can design it with debugging features and extra wide ground paths, zone fills, extra sockets, prototyping regions, extra signal pins, whatever youā€™d like. Itā€™s hardly worth the effort to use breadboards any longer if you have the core system working. I just hope this doesnā€™t get lost in the weeds. If itā€™s on hiatus anyway then use the time to migrate to a PCB.

Best of luck, Andrew Lynch

I really like the TW-E40-1020-P breadboards from Twin Industries. Theyā€™re only a dollar or two more expensive than the Ben Eater endorsed BusBoard ones that everyone buys on Amazon.

I built a VGA circuit on them that has some parts running at 25.175 MHz (although I did use zillions of ground staples). I also copied a page from Radical Brad and got a big spool of solid core Cat6 ethernet cable. The internal wires are about 23 or 24 AWG and seem to get better results on breadboards than the standard 22 AWG hookup wire, or those floppy jumper wires with spears.

2 Likes

Wire wrap wire is still reasonably affordable, and I assume thatā€™s because thereā€™s almost no actual wire in it. :wink:

Iā€™m not sure why sockets and headers are so expensive, but sockets and headers in general have gotten rather expensive, and the selection of available new manufacture wire wrap options is very thin. Itā€™s been a while since I did the hunting, but, for example, in the 14-18 pin standard DIP range, I believe only one of the three common socket sizes was available ā€œnormally stockingā€ at the usual parts houses. That means the rest was buying a socket or three here and a socket or three there from surplus suppliers, and that increases overhead rapidly.

I think the root problem is NOS scarcity, not materials. Possibly someone will find a warehouse of wire wrap components and the bottom will fall out, and when that happens, Iā€™ll send a truck. :wink:

One could absolutely do it, but in this case it seemed like a lot of money and hassle versus the perceived gain.

3 Likes

Thank you, but Iā€™ll do the PCB layout when the time comes. I have done so in the past and I can do so again.

Itā€™s on hiatus but absolutely not forgotten, I ordered some parts for it just a few weeks ago, tagged on the end of a parts-replacement repair order for a portable PC-compatible. Itā€™s still percolating up there, it just isnā€™t getting a lot of up-front time. It went on hiatus once before, for maybe two years, so this isnā€™t a new experience.

Wow. That was quite an adventure! About the fragility of the whole thing, I just had a crazy thought. Why not put the whole thing in a box, pour epoxy on it?
I think it would look really cool once everything is finished. :slight_smile:

I have always liked the breadboard pcbs.
As for wire wrap, it kind of was ment for 14 pin dips only, on a panel with 100ā€™s of chips.
I have always found wire wrap too expensive, and with with cheap chinese pcbā€™s why bother.
Even proto boards are expensive, for big sizes.
I had looked at the TI chip, a nice cpu design, but horrible i/o in my mind.
Good luck with the home brew.

Hi
I am in a small group working on duodyne and one of the members built a board based on the Mini-Cortex. Two examples are working. I just got mine working yesterday. It boots a TMS9995 monitor (EVMBUG), TI BASIC, MDEX operating system, and best of all Unix V6. It is quite interesting to see Unix V6 running on duodyne and a lot of fun.

All the parts are available and probably some spare boards too if anyone wants to build their own. It uses IDE/CF for mass storage and communicates over TTL serial to USB. There are other peripherals available and more on the way soon including a TMS9918 compatible V9938/V9958 VDP board which should be a great match for the TMS9995 processor.

I am new the TMS9995 and the mini-cortex but I really like what I see. It is a lot of fun!

More information here:

duodyne/20 processor.TMS9995 at main Ā· lynchaj/duodyne (github.com)

Thanks, Andrew Lynch

PS, ā€œwatchā€ the GitHub repository to keep up on what is happening on duodyne and the TMS9995 processor. In the upper right hand corner

lynchaj/duodyne: Duodyne is a hobbyist retrocomputer system designed to run ROMWBW. It is comprised of modules on a system bus (github.com)

3 Likes

Hi
A quick update on the TMS9995 processor. One of the things weā€™ve noted on the Stuart Conner Mini-Cortex is that it is an SBC and not intended for installation on a system bus. As a result, the IO decoding is rather ā€œbroadā€ and two relatively small devices (an IDE/CF and a Mapper) take up literally half of the IO space (128 of 256 addresses). One of the things weā€™re doing is adding some qualification to the IO decoding to narrow it down to just the IO addresses required.

The chip select IO decoding is handled in a GAL which already jam packed with functions so step one is to break it up into two GALs so I can introduce the additional address lines for complete IO decoding. I think it is done now but if anyone would like to take a look at it and offer some review and/or insights, I would greatly appreciate it. Finding problems while still in KiCAD is not an issue. It would be great if it prevents another cycle of prototype boards too.

duodyne/20 processor.TMS9995/hardware/GALs at main Ā· lynchaj/duodyne (github.com)

BTW, using WinCUPL for the GALs although I am sure probably other tools would work too.

Thanks in advance, Andrew Lynch

1 Like