Building your own TMS99xx based modular micro computer
Sub project goal:
The goal of this project is to create a working micro computer that can communicate to any PC using a serial connection that will be relative easy to expand with add-on's so it can be used in hobby electronics. Basic components to be used include: CPU, (E)EPROM, SRAM, UART and of course some other components as well.Updates:
- 11/26/2005 - RetrOS now has it's own site. For now, it's only thoughts and ideas.
- 03/05/2005 - Since I decided several days ago, that the newly to be written OS (called RetrOS) is to be compatible with Power9 and the Geneve, I added routines that can identify those systems and do the initialization accordingly. This also helps making debugging the code easier, at least I can see the output on a screen. ;-)
- 02/20/2005 - Added Eagle library file I created for the TMS9900/9995/99105A/99110A/V9938/V9958 and 61Cxxx that I use in my project.
- 02/17/2005 - I've come up with a name for my Modular computer project, the name is: Power9. This is of course with a big wink;-) to IBM.
- 02/16/2005 - The design has been updated to version 0.1.6. A download link can be found below under Downloads. It should work, it has been reviewed, but it's not tested yet. The board design will be sent to a PCB manufacturer later this week.
- 06/03/2003 - A very preliminary version of an Eagle schematic can be found at my FTP Server. It's non working and based on Jens-Eike's schematic he created a couple of years ago.
- 04/22/2003 - Added project related information.
- 04/18/2003 - Updated this website.
TODO list:
- Making a board layout design in both Eagle and Gerber format.
Specifications:
- Processor: Texas Instruments TMS9995.
- Memory: 8 KB EPROM (2764) with basic firmware/OS and 56 KB SRAM (61512. Actually it's 64 KB (hence, an 61512 is used), but the first 8 KB is mapped to the EPROM.
- Control: Jumpers so that the EPROM and/or SRAM can be disabled and switches for generating external interrupts.
- Debug: LED's that indicate a certain status and LED's which can be controlled programmatically.
- I/O interface: connector interface for I/O and future VDP.
Version control:
- From 0.2.0 to 0.2.1: Added: Buffers to all signals going through CON1, Address bus, data bus, control bus IN, control bus OUT.
- From 0.1.9 to 0.2.0: Added: IC10 (A). If connected, automatic first wait-state is prohibited, if not connected, an automatic first wait-state is added to each memory cycle regardless of the READY input, IAQ decode LED. If this LED is turned on, the CPU is fetching an opcode.
- From 0.1.8 to 0.1.9: Corrected: Pull up resistor for RAMCE* that was obviousely drawn incorrectly, input and outputs for the LS156 (they should have numbered them Y0-Y7 ;-) ) and the GND and VCC connections for CON1.
- From 0.1.6 to 0.1.8: Corrected: changed from LS138 to open collector version the LS156, corrected automatic 1st wait-state generation. (traditional EPROMS >100ns are too slow, so wait states needed). Added: Connector for future I/O board, jumpers to disable RAM and/or ROM. Again, thanks to Jens-Eike Hartwig.
- From 0.1.5 to 0.1.6: Corrected: RAMCE* select from LS138 decoder, LED control, Package format (DIP-300 instead of DIL-600) for 61C512 SRAM. Added: jumpers for future enhancements of CRU based I/O. Thanks to Jens-Eike Hartwig for pointing some of these mistakes out to me.
- From 0.1.4 to 0.1.5: Corrected several component packages in schematic to reflect proper package format in the board design.
- From 0.1.3 to 0.1.4: Corrected CRU operation cycle in progress selection line (SYS_CRU*).
Downloads:
- Schematic: Current version in JPG format.
- Schematic: Current version in Eagle format.
- Board: Current version in Eagle format.
- Board: Current version in Gerber format.
- Library: Eagle TMS99xx(x)/V99xx/61Cxxx symbols, packages and devices used in the project.
- Component: Component list.
- Software: Source code for EPROM. The source file is formatted for use with Microsoft's Visual Studio Editor.
- Software: Binary file. For usage with an EPROM programmer. (in BIN format).
- Software: Seaview's TMS99xx Development Kit. Cross assembler and linker for WIN32.
Related links:
- Return to my TI99 homepage.
- Try Thierry Nouspikel's site for great technical background information on the TI.
- This TIABS site also has some nice information.
- Take a look at Horizon's FTP server (or mine), it contains ~5 GB of related files.
- Electronic components can be postordered at the Conrad site.
- The TMS9900 instruction and pin-layout overview and the TMS9995 one.
- Another company that sells TTL chips is Telec.
Last update: 10/26/2005.