TMS7000 Evaluation Module

Texas Instruments evaluation board for the TMS70Cx2 processors

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

Minimally populated EVM7000-3 board

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.

Usage

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 1

Start upload from console (P1 port):

I 1

Anwser 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:

10L120

Exit the editor:

Q 0

Start 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

fjkraan@electrickery.nl