Jump to content
rkrenicki

TI99/4A Motherboard Replacement (In Progress)

Recommended Posts

Posted (edited)

I have been working on a replacement reproduction motherboard for the TI99/4a for the last couple of months, and I am nearing completion of the first version for release and I wanted to share the news.  My goal is to design and release a version of the board implementing many of the common mods already into the PCB, but I am starting off with the base design right now.

 

I first started off with an optical reproduction of an original Non-QI board using SprintLayout.  This version produced gerbers that are a 1:1 copy of the original PCB.   I then imported these gerber files into KiCAD, along with the schematics from HackMac, and I have been reconciling the schematic to the layout ever since.   This is a 4 layer design, pushing the +5v and GND planes to the middle layers, removing the need for the plastic bus bars and the extra wire jumpers.

 

The HackMac schematics had a number of errors, and were completely missing the power delivery schematics.  I have corrected the errors as I went along, and I re-layed out the power delivery.. alibeit with fewer ferrite beads.   TI really did not want to mess around with EMI, but passing every line through multiple Ferrite beads of the same size is just complete overkill.


I am working on the silkscreen right now, and then I will have the first version sent off for manufacturing.  Once I am satisfied that there are no errors, I will be releasing this design as Open Source Hardware as well.

 

1018811250_ScreenShot2021-03-06at5_16_35PM.thumb.png.51f46333fde651b89483efbb0728f54a.png

Edited by rkrenicki
  • Like 22

Share this post


Link to post
Share on other sites

For reference, I also had a few of the original gerbers from SprintLayout produced, but I ended up missing a couple of traces on this version..  These also do not implement any of the power delivery mods that the above KiCAD version has.    This was more to verify that the physical size and hole placement were correct.


20210128_160454788_iOS.thumb.jpg.a43ec24e417922c47273a57aab713e8c.jpg
 

  • Like 8

Share this post


Link to post
Share on other sites

Nice to be able to see clearly where all those all those hidden under chip traces go ...there seem to be a couple odd artifacts over and near the 9918, 9901, in the above image though.8)

 

  Thanks.:)

Share this post


Link to post
Share on other sites
Posted (edited)

The amount that I need to zoom out in KiCAD makes it quite "jaggy" to actually see many details.   I should be able to export it as a higher resolution image once I am done with the silkscreen here. After today, I am about 70% done.. but I left myself the lower left corner to do last which will be the hardest part.  I will freely release the design files as soon as I have the board booting though.

Unless you were referring to the traces to the non-existent chip between the 9901 and VDP?   I had copied them for the Sprint design, but I removed them on the KiCAD version.

Edited by rkrenicki
  • Like 1

Share this post


Link to post
Share on other sites

Impressive! What mods were you planning to implement on the board?

 

Alpha lock mod comes to mind ;)

 

  • Like 2

Share this post


Link to post
Share on other sites

I am open to suggestions, but some that come to mind are the Alpha Lock, 32k on 16 bit bus, and ROM on EPROM.    I was also toying with the idea of building the Speech module onto the board, but I am not super married to that idea yet.

  • Like 4

Share this post


Link to post
Share on other sites

Looks like you have improved the silk screen?  Some TI boards were problematic about having the silk screen between solder pads (where you typically need them the most...).

Share this post


Link to post
Share on other sites
Posted (edited)
3 hours ago, dhe said:

Looks like you have improved the silk screen?  Some TI boards were problematic about having the silk screen between solder pads (where you typically need them the most...).

My particular TI99 has no text on the silkscreen at all.. just some half-hearted lines where (most of) the parts go.  Any silkscreen at all is an improvement ;) 

ti994a-top.jpg

Edited by rkrenicki
  • Like 5

Share this post


Link to post
Share on other sites

The original was 2 layer, hence the need for bus bars and wire jumpers.   I do not think that 4 layer PCBs was a "thing" back in 1979 when these were designed.   If it were, I think that TI would have pushed at least the ground to the middle plane to help with EMI, since they were so worried about it.

  • Like 3

Share this post


Link to post
Share on other sites
18 hours ago, rkrenicki said:

I am open to suggestions, but some that come to mind are the Alpha Lock, 32k on 16 bit bus, and ROM on EPROM.    I was also toying with the idea of building the Speech module onto the board, but I am not super married to that idea yet.

I definitely think the Alpha Lock should be done.  If you go with the 32kmod then i would suggest being able to turn it on or off so it does not interfere with memory cards that a TI'er may have.

  • Like 1

Share this post


Link to post
Share on other sites

Silkscreen is complete, and I just submitted the design to JLCPCB for fabrication.   I should have them sometime next week, and then I can start testing.   I suppose I should buy a bunch of passives in the meantime so I am ready to go when the time comes.

  • Like 4

Share this post


Link to post
Share on other sites

This is exciting!

 

One mod I would suggest for the ROMs. Since 4K EPROMs are tougher to find, and 8K are plentiful:

 

Change the EPROM footprint to accept 32-pin 27C64 type. Hardcode the LS address bit to 0 on the MSB, but 1 on the other. This has the benefit that both can contain the same 8K image, but each supplies 4K of either even/odd bytes.  Easier to prepare the image for, and you can't get them mixed up during install.

 

Burning the high bytes to one EPROM, and low bytes to another, annoys me.

 

 

  • Like 4

Share this post


Link to post
Share on other sites
Posted (edited)

Nice project!

On the 4-layers version you made, I note very thin signal traces that are normally larger respecting the original PCB TI-99/4A specifications.  Unless your board has 2 oz copper? or its due to the low resolution of the drawing that show the traces thinner than they are?

Edited by fabrice montupet

Share this post


Link to post
Share on other sites
Posted (edited)

Yes, the traces are a bit thinner.  I do not believe that TI needed them to be as wide as they were, they just ended up that way due to the PCB manufacturing capabilities of the time.   A lot has changed in 40+ years.   

I am not pushing the lower limits of JLC here, I dropped most tracks down to 0.3mm.   What power traces exist outside of the inner layer flood fills are 1.0 and 0.8mm.

If I need to widen any out, I can probably get 0.35 out of most of them before running into DRC problems with the existing routing.


This is also still very much in "beta".  I have everything on order and I should be able to get my first "smoke test" sometime next week.


That all said, I also have a "higher resolution" picture of the top.   I missed a few parts for the silkscreen, which I have already fixed for the next revision... but this is what is on the way to me now.

jlcRJL4Y855UEW9top-4480x3200.thumb.png.913676575d41057ef7e89bd009ecc021.png

Edited by rkrenicki
  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

My message was not for the power supplying and the power traces outside the inner layers (power and ground planes).


Even since the end of 1970 years, Texas Instruments was capable to produce very thin traces on its PCBs and the 99/4A home computer has benefited from the powerful processing industry of TI 🙂

On the original motherboard, some signal traces are voluntary larger for load capabilities.  

 

All the stand-alone 99/4A motherboards that I have in my spare boxes are model 1039026-5 . Seeing it, I notice that the one you use for your reproduction of the PCB is different (many traces differs). Could you tell me its model number? Do you have a picture of it?  Unless it is also a 1039026-5 and the differences are due to your optimizations 🙂

 

 

Edited by fabrice montupet

Share this post


Link to post
Share on other sites
Posted (edited)

On post #8, I well recognize the 1039026-5 model motherboard 🙂

For example, on your reproduction, I don't see the useless TTL footprint between the VDP and the TMS-9901

Edited by fabrice montupet
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Right, here is a rough breakdown of the changes:

 

Power Related:
All traces related to ground or the normal +5V rail were removed.  The +5VID lines are still there. These are pushed to a 100% flood fill on the inner layers.

Additional +12V and -5v traces were added to replace the removed bus bars.
There were some power traces cleaned up due to the removal of some of the extra ferrite beads at the bottom.
The 1 wire jumper that was not a +5v or ground line was converted to a trace.

Non-Power Related:
All of the extra traces for the non existent IC were removed.
Some traces were moved closer together around the VDP in order to increase the size of the ground flood fill.


Otherwise, pretty much all of the remaining traces are a copy of the original PCB, besides thinning out the traces to my go-to sizes for TTL-level projects.

Edited by rkrenicki
  • Like 1

Share this post


Link to post
Share on other sites

That is a very impressive project, and a lot of work!  It will be very nice to have an "as-built" schematic that was created from an actual PCB!  Thank you!  It is also really nice that you are using KiCAD!  I love that software.

 

Four layers is nice to have for sure, and it is nice to eliminate the power distribution bus bars.  That is a big board though, and 4-layer PCBs are typically 40% more in cost over 2-layer boards.  I'm curious what the cost breakdown is per board?

 

On 3/8/2021 at 10:23 AM, rkrenicki said:

The original was 2 layer, hence the need for bus bars and wire jumpers.   I do not think that 4 layer PCBs was a "thing" back in 1979 when these were designed.   If it were, I think that TI would have pushed at least the ground to the middle plane to help with EMI, since they were so worried about it.

You would be surprised (I know I was) how far back multi-layer PCBs and technology like SMD parts goes.  The first 2-layer boards appeared around 1947, and 4-layer (and more) boards begin production around 1960.  By 1979 it was very common.  More layers means more cost, and when the 99/4A was being made TI was in a price war with Commodore and all the other "home computers" of the time.  I'm sure the cost of the bus-bars and extra wires to power distribution on a 2-layer board was much cheaper than a 4-layer board.

 

12 hours ago, rkrenicki said:

I am not pushing the lower limits of JLC here, I dropped most tracks down to 0.3mm.   What power traces exist outside of the inner layer flood fills are 1.0 and 0.8mm.

I got a chuckle out of this. :)  Those track sizes are just so huge compared to what I'm used to dealing with.  For signal traces, I would not worry about the width too much, a 0.305mm (12mil) track on 1oz copper (top/bottom) can carry a full 1Amp!  Even a 0.152mm (6mil) track on the top/bottom layers can handle 600mA.  Generous track width sizes for signals are 0.203mm (8mil) or 0.254mm (10mil), and should be fine in most cases.  For sure bigger is better though, and the general rule of thumb is to use the widest tracks you can.

 

Internal traces are a different story, since they are typically 0.5oz copper (0.7 mil (0.0178mm)) and need to be wider for similar power.  KiCAD has a nice track width calculator that can help with all of this.

 

The original 99/4A was most likely laid out by hand, and wider tracks are cheaper.  Other than the power tracks, I would say the original track widths were just the least expansive and most typical for the era.

 

On 3/7/2021 at 6:47 PM, rkrenicki said:

I am open to suggestions...

Some good ones have been mentioned.  Have you looked at Thierry's website? https://www.unige.ch/medecine/nouspikel/ti99/titechpages.htm

 

Some mods I might suggest for consideration:

 

* Change the ROM footprint to support the 8K ICs (27C64), as FarmerPotato suggested, however it would also be really cool to have a footprint and control circuit for a shadow RAM that can be swapped into the ROM address space.  Swap control could be done in a lot of ways, but the easiest is probably to write to a magic address.  You would probably need to include a switch so this could be disabled though, since there is certainly bad software out there that writes to ROM addresses.

 

* Use SRAM for the VDP 16K instead of the original DRAM design.  This would require some extra circuitry (I'm pretty sure this has been worked out for the 9918A), but avoiding the DRAMs is a good thing since they are getting harder to find, they are a PITA to replace, and they tend to fail.

 

* Provide a separate RCA or 3.5mm audio jack so you don't have to use a DIN-to-audio cable.

 

* Provide a VGA or TMDS header for use with the F18A and/or upcoming MK2.  This would be an isolated part of the board with footprints for the header and the 22-pin FPC connector.  I would be happy to provide a reference layout (as KiCAD files of course).  This would make case mods much easier for people going with that upgrade.

 

* Provide a second joystick port with the necessary blocking diodes.

 

* Add a header, or an actual switch, for a REAL CPU/system reset!  I have not looked that the schematic in a while and this might require a few extra components, but holy crap it would be nice to have a reset button.

 

  • Like 1

Share this post


Link to post
Share on other sites

The 99/4A really suffers from a lack of a good general purpose IO port.  If you can squeeze either a UART or an 8bit parallel interface on, it would be well received I think. 

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
6 hours ago, matthew180 said:

Four layers is nice to have for sure, and it is nice to eliminate the power distribution bus bars.  That is a big board though, and 4-layer PCBs are typically 40% more in cost over 2-layer boards.  I'm curious what the cost breakdown is per board?

I will likely end up going ENIG with gold fingers for my end version, but the PCB I just sent off with HASL and the minimum quantity of 5 ended up around $18 per board after shipping.  

 

Quote

You would be surprised (I know I was) how far back multi-layer PCBs and technology like SMD parts goes.  The first 2-layer boards appeared around 1947, and 4-layer (and more) boards begin production around 1960.  By 1979 it was very common.  More layers means more cost, and when the 99/4A was being made TI was in a price war with Commodore and all the other "home computers" of the time.  I'm sure the cost of the bus-bars and extra wires to power distribution on a 2-layer board was much cheaper than a 4-layer board.

Hah, yes.. I should have phrased it as "4 layer was not a thing in cheap consumer electronics in 1979".  I have seen earlier examples of multi layer PCBs, but it would have been cost prohibitive at the time for sure.

 

Quote

I got a chuckle out of this. :)  Those track sizes are just so huge compared to what I'm used to dealing with.  For signal traces, I would not worry about the width too much, a 0.305mm (12mil) track on 1oz copper (top/bottom) can carry a full 1Amp!  Even a 0.152mm (6mil) track on the top/bottom layers can handle 600mA.  Generous track width sizes for signals are 0.203mm (8mil) or 0.254mm (10mil), and should be fine in most cases.  For sure bigger is better though, and the general rule of thumb is to use the widest tracks you can.

I fully agree.  My normal "go-to" size is 0.25mm for 74LS based projects.  The original SprintLayout version was 0.35 because that "looked" about the same size during the optical layout, but I had some DRC problems when I imported those gerbers into KiCAD.  I knocked them down to 0.30 and that resolved 90% of my issues.. the rest were mostly just tracks not quite exactly centered between IC pads.

 

Quote

Internal traces are a different story, since they are typically 0.5oz copper (0.7 mil (0.0178mm)) and need to be wider for similar power.  KiCAD has a nice track width calculator that can help with all of this.

I did not want to have to worry about the ampacity of the inner layer, so they are flood fills with thermal reliefs.  One giant 360x140mm(ish) copper pour.  This would help with EMI as well, even if I went overboard and put ground flood fills on the top and bottom as well.   I figure if TI went crazy with EMI suppression, I would too.. just not in a way that increases the parts costs.

 

Quote

Some mods I might suggest for consideration:

 

* Change the ROM footprint to support the 8K ICs (27C64), as FarmerPotato suggested, however it would also be really cool to have a footprint and control circuit for a shadow RAM that can be swapped into the ROM address space.  Swap control could be done in a lot of ways, but the easiest is probably to write to a magic address.  You would probably need to include a switch so this could be disabled though, since there is certainly bad software out there that writes to ROM addresses.

The ROM swap will happen for sure.  I will look at the what may be needed for shadow RAM.  Ideally, I would like to find a way to change the internal GROMs out with an (E)EPROM too.   I thought I found that mod once upon a time, but I cannot seem to find it now.

 

Quote

* Use SRAM for the VDP 16K instead of the original DRAM design.  This would require some extra circuitry (I'm pretty sure this has been worked out for the 9918A), but avoiding the DRAMs is a good thing since they are getting harder to find, they are a PITA to replace, and they tend to fail.

This one would be great.  4116s sure are a pain to find.  I have not seen this mod yet, but I will look around further.

 

Quote

* Provide a separate RCA or 3.5mm audio jack so you don't have to use a DIN-to-audio cable.

I could see about putting these footprints "on top" of the DIN footprint.  That way you can choose which connectors to install.  I think there is enough room for that.

 

Quote

* Provide a VGA or TMDS header for use with the F18A and/or upcoming MK2.  This would be an isolated part of the board with footprints for the header and the22-pin FPC connector.  I would be happy to provide a reference layout (as KiCAD files of course).  This would make case mods much easier for people going with that upgrade.

I am very interested in this one as well.  Although it would be challenging to test since I have been on the F18A waitlist for years ;)

 

Quote

* Provide a second joystick port with the necessary blocking diodes.

This one I could see as an "optional footprint".   Leave the stock one where it is, but a second next to it.   I am also not super married to the existing "offset" footprint of the DE9 connectors.. I may change them out with a more modern low-profile footprint.

 

Quote

* Add a header, or an actual switch, for a REAL CPU/system reset!  I have not looked that the schematic in a while and this might require a few extra components, but holy crap it would be nice to have a reset button.

It would be a header for sure.  

Edited by rkrenicki
  • Like 1

Share this post


Link to post
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.

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...