Texas Instruments 99/4A and TMS9918 History

A little break from displays today to go back into my deep dark history. For my first 20 years in the industry, I was an I.C. designer and led led the architecture a number of CPUs and graphics devices.

I got a “shout out” of sorts in an IEEE article on the 99/4 computer by Wally Rhines, CEO of Mentor, about my work on the TMS9918 graphics unit which was my first design (started in 1977). Contrary to what the article states, I was NOT the only designer, back then it took 7 “whole engineers” (quite a few less than today) to design a graphics chip and I was the youngest person on the program. I think the 9918 took less than 1 year from raw concept to chip. Wally gave things from his perspective as a high level manager and he may be off in some details.

The 9918 coined the word “Sprites” and was used in the TI 99/4A, Colecovision, and the MSX computer in Japan. It was the first consumer chip to directly interface to DRAMs (I came up with the drive scheme). Pete Macourek and I figured out how to make the make the sprites work and then I did all the Sprite logic and control design.

A “Z80-like” register file compatible superset clone of the 9918 was used in both the Nintendo (Nintendo was a software developer for Coleco) and Sega Game systems among others.

After working on the TMS9918, I led the architecture and early logic design of the TMS9995 (which resulted in my spending 6 months in Bedford England) which is also mentioned in Wally’s article. If the TI Home Computer was not cancelled, I would have had a major part in the design of both the CPU and the Graphics chip on the 99/8 and 99/2.

Back in 1992 in the I was interviewed about the home computer in the days of BBS Bulletin Boards. This was only about 10 years after the events so they were more fresh in my mind. At the time of the 1992 interview, I was working on the first fully programmable media processor (and alluded to it in the interview) that integrated 4 DSP CPUs and a RISC processor on a single device (call the TMS320C80 or MVP). Another “little thing” that came out of that program was the Synchronous DRAM. You see I had designed the DRAM interface on the 9918 and the TMS340 graphics processor family and had worked on the Video DRAM (predecessor of today’s Graphics DRAMs) and was tired of screwing with the analog interface of DRAMs; so in a nutshell, I worked with TI’s memory group to define the first SDRAM (one of the patents can be found here). The 320C80 was the first processor to directly interface with SDRAM because it was co-designed with them.

For anyone interest, I wrote some more about my TI Home Computer and 9918 history on this blog back in the early days of this blog in 2011.

4 comments

  1. Alejandro says:

    Hi, great article!
    I’m Alejandro from Argentina, and really like retrosystems. In fact, I have a TMS9918ANL that I have received from a friend, but wasn’t tested never. How do you think that I can test it easy? This VDP has a free run mode like other processors or something like that? I really want to use it but before I need to check if the chip is working.

    Thanks! Regards from Argentina!

    • KarlG says:

      Thanks, I wish I could be more help but it is about 39 years since I brought up a 9918 on a board.

      I don’t think there is any “free run” mode per say. It is hardwired so I think it will start off doing DRAM refresh. I think even without a DRAM it will run generating memory signals. You could use a scope to see if the DRAM pins are wigging.

      Remember this was designed in 1977-78 and we could not afford extra transistors. It only has 40 pins so you need to get the DRAM interface connected (be careful the pin numbering is messed up — a lot of people get the address pins wired up wrong, it was designed a “little endian” I/F but at the last minute they renumbered the pins big endian. I’m not sure what DRAM you can get today that will work. Back when we used 4K and 16K by 1 Analog Timing DRAMs.

      Once you have the DRAM interface connected, the chip should take off. It will have garbage in the registers and in DRAM. You can dink data into the chip slowly through the CPU interface. BY today’s standards the 9918 is pretty simple and explained in the user’s guide http://map.grauw.nl/resources/video/texasinstruments_tms9918.pdf

      If you have more questions, please feel free to ask.

      • Alejandro says:

        Thanks very much for the response! My apologies for the delay, I haven’t received any alert in my mailbox with your answer and I had believed that you was very busy to answer. I will check with more frecuency your blog 🙂

        I have tried with your advice but I believe that the chip isn’t in good condition.
        Talking about the DRAM, I have tried with this approach https://retrobrewcomputers.org/n8vem-pbwiki-archive/0/35845334/48860720/33053543/SRAM%20Replacement%20for%20TMS99x8%20VRAM.pdf without success.
        I have tried with an external clock source, with a crystal too but all my attempts were unsuccessful.

        I will try with a chip that I have in a old colecovision, sadly in this case I have the same situation, I don’t know if the console works but I will try again with my fingers crossed.

        Regards!

        • KarlG says:

          I know the chip was designed to work with a very specific crystal per the specs. The second crystal pin is to provide “feedback” to get the crystal to oscillate. The crystal inputs can be driven by and external clock but you have to drive both pins (I think they have to be the inverse of each other but I am not at all sure about this). Make sure you have removed the crystal if you are driving it.

          Using an SRAM with a latch to replace the DRAM makes sense. Thanks for the reference.

Leave a Reply

Your email address will not be published. Required fields are marked *