The Texas Instruments TMS7000 Evaluation Module is a low cost solution for developers to become familiar to the TMS7000 Family line of processors. It can be used as a standalone device offering an text editor, several assemblers and a debugger all controlled from a serial port based monitor. In addition, it can simulate a TMS7000 processor in Single-Chip mode with a processor running in Microprocessor mode (Single-Chip mode has the code running from a on-chip ROM or EPROM, Microprocessor mode is using external memory). The Evaluation Module was made and sold in several variants in the late 1980s and 1990s.
Here a quite from the Evaluation Module Guide, page 1-5:
The EVM operating system firmware resides in 24K bytes of EPROM and can be divided into three major parts:
All the software is designed to interact with the user to provide a complete, powerful, and easy to use development tool.
During assembly and debug operations, the EVM RAM can be configured to emulate all TMS7000 family members. For emulation of TMS7020 and TMS704x devices, the EVM allows assembly of text files from RAM, leaving the text intact for immediate editing after execution. After assembly of the Text Editor output, breakpoints can be set based on either addresses or line numbers.
During execution, several modes of fixed displays are available, providing a hex display of the entire register and peripheral files or a binary display of the peripheral ports. During a fixed display, subsequent execution to a breakpoint or execution of a single instruction step will overwrite the old data on the screen with new data. A programmable line of up to six register or peripheral locations is provided for display with breakpoints and instruction steps.
The Text Editor is cursor and line number oriented with autoincrement line numbers, resequence line numbers, change line number, duplicate line, and find string commands. The cursor-oriented edit capability simulates a screen editor by allowing editing of the previous or next line by moving the cursor up or down.
This board is now being replicated. At this stage, the monitor is running and the basic assembler is tested. The Single Chip emulation and chip programming is not tested (components for both are on the board, but not (yet) populated. This board is a cool way to try out the TMS7000 development system, which would be otherwise require unobtanium hardware.
The board is developed by Ruud Baltissen
The board as shown above runs the monitor, editor and assembler. The components for emulation and programming are not present.
There are transfer options to send and receive assembly source programs and code to the board, but the code variants are the native TMS7000 Dump Format and Tektronix Dump Format. Both of these are not very common. The plan is to create some Python scripts converting those formats to more common ones, like Hex-intel.
The EVM7000 and its replica supports three I/O ports, two regular serial ports (P1 and P2) and an audio cassette port (P3). The replica ports P1, P2 and P3 are all at TTL-level.
A cool feature of the EVM is that it has automatic BAUD rate detection. After a power-on, it requires a mandatory RESET. Then it expects a carriage-return (Enter key) on Port 1. It can detect BAUD rates from 110 to 9600 bits per second, 8 bits, no parity.
Here a quick overview of the process of uploading and assembling a source file:
Uploading a file to the editor:
Prepare an assembly listing file, by prepending it with a '>' and
postpending with a '<' like this:
>
0010 LABEL EQU R25 PROGRAM TO OUTPUT
0020 BPORT EQU P6 A SQUARE WAVE ON
0030 START EQU $ ALL BITS OF PORT B
0040 CLR LABEL
0050 CALL OUT
0060 INV LABEL
0070 CALL OUT
0080 JMP START
0090 OUT MOV LABEL,A
0100 MOVP A,BPORT
0110 RETS
0120 END
<
Start Text Editor with port 1 as input:
XE 1Start upload from console (P1 port):
I 1Anwser the 'LINE NUMBERS? (N)' question with 'Y' in this case.
Upload this with a managed rate (uploader.py blinkb.asm /dev/ttyUSB0 9600).
The editor prompts returns with an indication of the remaining memory space.
List the file:
10L120Exit the editor:
Q 0Start the assembler (get the source from RAM (0), output listing to console (1)):
XA 0 1 INITIALIZE? (Y)
TMS7000 ASSEMBLER
>
0010 F006 0019 LABEL EQU R25 PROGRAM TO OUTPUT
0020 F006 0006 BPORT EQU P6 A SQUARE WAVE ON
0030 F006 F006 START EQU $ ALL BITS OF PORT B
0040 F006 D5 CLR LABEL
F007 19
0050 F008 8E CALL @OUT
F009 0000
0060 F00B D4 INV LABEL
F00C 19
0070 F00D 8E CALL @OUT
F00E 0000
0080 F010 E0 JMP START
F011 F4
0090 F012 12 OUT MOV LABEL,A
F013 19
0100 F014 82 MOVP A,BPORT
F015 06
0110 F016 0A RETS
0120 F017 END
0 ERRORS
The code is now loaded into emulated ROM memory:
DM F006 F017 F000 B4 95 0D CF CB 8A D5 19 8E F0 12 D4 19 8E F0 12
F010 E0 F4 12 19 82 06 0A FF
Last update: 2026-01-06