Retro Computing – Planning a TMS 9995 Build on RC2014

19May19

After building my RC2014 CP/M system and Gigatron I decided to dig through the pile of old integrated circuits I stashed away before leaving home thirty years ago. I don’t remember the source, but it seems that I stripped down 4 systems (which might have been something like data loggers) that had a reasonably complete set of TMS 9900 series components. So I have CPUs, serial I/O, programmable systems interfaces and more at hand (though kits with all the parts are available inexpensively from eBay).

There is already a design that I can adapt

Stuart Conner has published plans for a TMS 9995 Breadboard or PCB System, which I think will work well as the basis for an RC2014 build. The RC2014 backplane carries power, a 16 way address bus, an 8 way data bus, and the various signal lines I’ll need.

The TMS 9995 memory layout and memory access scheme isn’t identical to the Z80, so I don’t think I’ll be able to use the standard RAM and ROM modules, even though they use the same glue chips as Stuart’s design.

Stuart doesn’t just have the hardware design; he also provides some firmware, and even some debug firmware. My plan is to drop it onto a W27C512 EEPROM[1] and I’ll then be able to use a jumper on the top address line to switch between BASIC and Forth.

The other major change I’m planning is to ditch the RS232Max, as I can just use TTL levels and an FTDI adaptor.

Getting it onto RC2014

I’ve ordered a few RC2014 prototype modules, and my general plan is:

  • One module for CPU, clock and serial too if I can squeeze it on.
  • One module for ROM, with jumper select for BASIC/Forth
  • One module for RAM (which I might just hack from my now unused RAM module since I did the CP/M upgrade)

That should leave me with a spare prototype board to lash up some sort of blinkenlights I/O board from one of the TMS9901NL I have at hand.

Given that I already have CPU, serial, EEPROM and most of the glue chips that just leaves me needing some chip sockets, a crystal and a few pullup resistors and capacitors. I’ll also get a fresh RAM, as I don’t want to mess with my working CP/M setup.

Update 20 May 2019

After a bit more noodling on the memory arrangements I’m now pretty sure that a regular RC2014 32k RAM module will work along with the pageable ROM module. It seems that Stuart (9995 breadboard design) has gone for switching the /CE signal whilst Spencer (RC2014) has gone for switching the /OE signal, but I think both approaches are equally valid. I’m using the following signal lines as equivalent:

  • Z80 : 9995
  • MREQ : MEMEN
  • RD : DBIN
  • WR : WE

I now need to figure out why Stuart uses an inverted WE/CRUCLK into the 9902 for serial? Maybe I should just ask him[2].

Update 23 Mar 2021

It seems I neglected to update this post with the origin of the TMS99xx parts stash, which I tracked down to a set of Liebherr 814A1001 Programmable Logic Controllers (PLCs) that I picked up out of the trash during my time at BMT Cortec in Wallsend. There’s a photo in the Retro Meetup Presentation I did on this project.

Next post: Retro Computing – TMS9995 on RC2014

Note

[1] I burned the K0001000 factory ROM image onto a W27C512 EEPROM to replace the supplied 27C512 one time programmable (OTP) EPROM, and it’s working perfectly in my CP/M system. As I ordered a 3 pack from eBay that leaves me with a couple to play with.
[2] I did, and the answer is that due to differences between how the TMS9900 and TMS9995 handle clocks it’s necessary to invert the clock. Apparently there are TMS9902-95 ICs out there that don’t need this, but not in the bunch I have.



No Responses Yet to “Retro Computing – Planning a TMS 9995 Build on RC2014”

  1. Leave a Comment

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.