Jump to content
IGNORED

TI-99 DIY Sidecar?


LouisB

Recommended Posts

If you have a beverage in hand and are in the mood for a story then check Part I, otherwise scroll down to the meat in part II.

 

Part I - Backstory

 

As many did, I grew up using an 8-bit micro (apple][+) but literally only as “a user” never delving deeper into the machine.  But now here, many decades from the 80’s I obtained a common TI-99/4A from a local seller.  Vaguely remembering these machines, but having never been exposed to them “back in the day” the TI99 was a complete mystery to me.

 

Upon firing it up the machine greeted me with “the black howling screen of death” … Yikes!

 

Now years ago this probably would have been it for me, but something about this little aluminum monster, screaming through the monitor, fired a neuron in my brain that’s hard to describe, but the end result was: YES, I would tackle the beast.

 

What came next is spelunking into the vast TI-99 resource pool provided by the many that came before (thank you!) and contemplating what direction to go next.  I consulted many threads and the “Home Computer New Technician Guide” pointing to the startup sequence before the sound chip is disabled.  Over the holidays I poured over the TI-99 schematics, checking all the low-hanging fruit (clocks and such) but everything checked out.  After using pulseview to observe the busses, memory decode, parts of the data bus conversion logic, various key logic gates etc., I still couldn’t find anything out of the ordinary, except that the system seemed locked in a read/write loop.

 

Funny thing - I only found the Bunyard manual after breaking my head on the schematics, and so much of the magic is revealed there, I was laughing out loud.  I wish I had found it sooner, but I probably wouldn't have learned as much.

 

I finally relented and ordered some replacement IC’s and matching sockets for the board.  A 9900 plus some RAM, gathering from the message boards that usually the ROMS & GROMS are intact, with the CPU & RAM failing the most of the time.

 

Luckily within just the past couple years I've obtained the right desoldering tools to perform such a job, and after a couple careful nights of soldering & desoldering (being careful not to bridge any of the 12v traces that run in between the 9900 pins - TY Adrian for pointing that out!) I socketed the CPU, RAM & ROMS.

 

When the IC’s finally came in from China, I carefully re-seated the originals in the sockets and turned on the board, but I had got so involved installing the original CPU (almost breaking off a leg) that in the end I had installed the CPU backwards and didn’t even realize it!  So I killed that one, too bad I’ll never know if it was good or not.  Luckily I had the replacement CPU, so I put that one in there and still nothing, but then when I swapped out the RAM - it FINALLY fired up!  Swapping the original RAM back in, turned out only one was bad.  The screen was in B&W but since then I've replaced the VDP crystal, and color is good now.

 

In the process of working with the TI-99 I’ve really taken a shine to it, and I can see why the community was / is so vibrant.  And that leads us to the 2nd part of this post…

 

Part 2 - TI-99 DIY Sidecar

 

I decided, like many of you, I'd like to design a sidecar for the TI.  I realize this isn’t a trivial pursuit, and many of you have climbed this mountain and planted your flags, and I salute you.  Frankly I’m amazed at the diversity of solutions out there in no particular order: FlashRom99, JoyTalk, Joystick I2C, many 32k solutions, USB Keys, UberGrom, nanoPEB, CF7, TIPI, plus too many others to mention (sorry if I left yours out, or got it wrong.)

 

For the approach to this I'm considering a “Crawl, Walk, Run” approach where the first attempt will be something extremely simple like say blinking an LED, then after that something more complicated, but I don’t have a ROM burner at the moment.

 

So you think I'm not totally full of it, here’s the prototype LED circuit I'm planning to build, cut & paste from Thierry Nouspikel's Tech Pages "Understanding the CRU"  I’m assuming that the TI-99 will blink the memory select LED at boot up while it’s scanning the peripheral space?  As the DIP’s are configured in this picture it reacts when address >1800 is selected:

 

image.thumb.png.05d60f18f0e36ae66132fc8d24cfc7e3.png

 

As for blinking the LED on demand, I’m thinking something similar to “Checking a Disk Controller Card DSR” on Stuart's TI-99/4A Pages.  I need something from XB because I have no PEB / NanoPEB to speak of yet.

 

Please let me know if you think the above circuit design will work, and how you would go about blinking an LED from the expansion port differently!  Thanks.


 

Edited by LouisB
  • Like 2
Link to comment
Share on other sites

I think you're on the right track ... but if just checking the LED at boot up it may flash too briefly for you to see. You could use that output to trigger a 74LS123 monostable to extend the pulses a bit and make them more visible on the LED.

 

If you want to experiment a bit more with the hardware with a minimal system, you could connect a 9901 to the sideport as shown on the left-hand side of http://www.stuartconner.me.uk/ti/images/eprom_programmer_circuit.pdf and play around with the input and output pins. Trying to do this using XB is a bit of a pain - you would be better off getting a MiniMem cartridge and using EASY BUG. Once you've got 32K available, then Cortex BASIC gives you better control of the CRU than XB does.

 

(One of my TMS9900 PCBs (http://www.stuartconner.me.uk/tms9900_breadboard/tms9900_breadboard.htm) might also be of interest.)

Edited by Stuart
  • Like 1
Link to comment
Share on other sites

Hi Stuart, your reply comes at a good time.  I acquired another TI-99/4A that’s seen better days (externally and internally) and after consideration I decided to start pulling the chips off it for the sidecar project.  So I have a spare 9901 sitting here now.

 

Yes, your EPROM Programmer!  I ran across that a while ago, a very well documented piece. I even have a print-out of it here I've been studying.  It's way over my head, and I have to admit I haven’t taken the time to study it in full.  

 

The Interface Standard Design Guide describes the 9901 as “The most versatile, and often underused chip for CRU interfacing to the TMS9901.” Per your advice I'm going to have to look into that and study the datasheet.  I have a Mini-Memory module here that works and probably needs the battery replaced.  Do you have any sample EASY BUG examples I could start with?  Probably on your website, I'll check.  I’ll have to familiarize myself with the operation of this module & chip.

 

Thanks very much for the guidance, your TI-99/4A Computer pages are legend.

  • Like 1
Link to comment
Share on other sites

Based on Stuart's advice and his EPROM Programmer Schematic I put an EasyEDA draft together.  I also threw a quick PCB together (see image below) using auto routing just for fun.  I know a "blinking LED project" is probably child's play to most of you ?

 

2067368070_Schematic_TI-99Sidecar1_2022-02-15.thumb.png.4482aef06b2145349be4314795c0e49e.png

image.thumb.png.9d2036381e5e3aefa953209a8338e25c.png

 

p.s. the "TI99 IO Sidecar Port" is a new Symbol & Footprint I created and added to the EasyEDA library.  Everything else was off the shelf.

  • Like 4
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...