¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Looking for 7D02 Personality Modules


 

Hi Chuck,
I understand exactly what you are saying. Call me crazy. But I have disassembled enough firmware to know how to tease out all the information I need to eventually understand everything it will do and how it will do it. I can locate the I/O port addresses and what those ports are expecting to get or what they will cause to happen. I can spot the beginning and the end of every subroutine and from what parameters are passed to it and what parameters it returns I can figure out its purpose. I can tell where the CPU is initializing peripherals, and on and on. This is a giant jig saw puzzle to me and I love the challenge of figuring out the shape of each piece and where it belongs until the puzzle is complete and I can see the whole picture. It isn't a useless waste of time. To me it is a troubleshooting challenge and it clears the cob webs in my brain.
Simple example: About 8 years ago I had four DM5010 DMMs that would not accept calibration constants. I made a copy of the code. The DM5010 readout uses 7 segment displays so there has to be a routine to convert everything it measures into into seven segment display format. I drew a simple 7 segment display, labeled each segment, and determined which segments would be on or off (one or zero) to display that digit. The simplest way to do this is using a lookup table with the 7 segment bits for each possible digit in an 8 bit byte. So now I have the following lookup table (this needs to be viewed using a fixed space font like courier) and the 11 bytes that must be in the ROM somewhere:
DATA Pgfe dcba ©¤©¤©¤©¤©¤©´
blank = 00 = 0000 0000 ©¦
0 = 5F = 0101 1111 ©¦
1 = 06 = 0000 0110 ¨‹
2 = 3B = 0011 1011 a
3 = 2F = 0010 1111 ©¤©¤
4 = 66 = 0110 0110 g©¦ ©¦b
5 = 6D = 0110 1101 f ©¤©¤
6 = 7D = 0111 1101 e©¦ ©¦c
7 = 07 = 0000 0111 ©¤©¤ P
8 = 7F = 0111 1111 d
9 = 6F = 0110 1111
- = 20 = 0010 0000
A search of the ROM for 00 5F 06 3B 2F 66 6D 7D 07 7F 6F 20 found it immediately. There has to be a subroutine that will transfer four bytes to the four 7 segment displays on the front panel and now I can find that subroutine because it will call the conversion routine I just found. There were several other conversion routines in the immediate area. So in short order I have several pieces of the DM5010 firmware jig saw puzzle.
The most challenging time of my career in electronics was when I built my S-100 system. Fortunately I had a friend who was encouraging me every step of the way. He was way ahead of me and explained how all the stuff I was reading in the computer magazines worked. I built it all myself from scratch in most cases. Once it was all working I started to learn how to write programs in assembly language. I still prefer that to higher level languages.
I use the 7D02 a lot. My idea of fun is analyzing how a program is executing and the 7D02 is fine for my purposes. Both the 7D01 and the 7D02 have taught me a great deal about how microcomputer systems work. I have the most fun analyzing the 16 bit CPUs.
The Tek equipment of the 1970s through the mid-1980s used just a few 16 bit CPUs - mainly 6800 family varieties. It always annoyed me that they never included the software listings in their manuals. I have a few of the other personality modules and I am always on the lookout for three in particular.
The most important one to me is the PM-111 6809 Personality Module. The Hitachi S-2400 Scanning Electron Microscope took me and my friend 2 years to repair all the intentional damage done by a disgruntled technician at the company it was bought from. For the first 6 months we were always trying to figure out what the CPU was waiting for but we had no way to see where it was executing and we had no way to read the firmware since those chips were soldered in place. A 7D02 with the PM-111 would have saved us several months of guessing. I eventually figured out what the CPU was waiting for
The next most important one I am looking for is the PM101 Option 02 6502 personality module. Tek used the 6502 in several things. One in particular a few of us are interested in learning more about is the 7K GPIB DECODER Plugin.
Finally, the PM102 6800 Personality Module would let me look at how a lot of Tek stuff works. The 7A16P, 7B81P, and 7B90P use a 6800 as do many other Tek products.
Dennis Tillman W7pF

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Chuck Harris
Sent: Thursday, July 02, 2020 6:59 AM
To: [email protected]
Subject: Re: [TekScopes] Looking for 7D02 Personality Modules

Hi Dennis,

Have you ever used a software logic analyzer of this sort?

I did at one of my customer's locations. They spent a gob of money on a set of software personality modules for their
1240 logic analyzer... which is a way more capable logic analyzer than the 7D02..., and it was essentially useless.

I can imagine that anything for the very primitive 7D02 will be even less useful.

The only thing the personality module does is decode the state the cpu is in, so it knows when it is fetching instructions, and then looks up the instruction in a table, to translate it into a mnemonic, and spills out the hex codes for the rest of the bytes it fetches before the next instruction.

The problem is, you get no labels other than raw hex addresses.

So, you get a listing on the screen that says:

$1000 NOP
$1001 LDA $BE
$1003 JE $10:01
$1001 LDA $BE
$1003 JE $10:01
$1006 JMP $10:00


..

Gobs and gobs of jibberish that shows what it executed, but nothing of the actual structure of the program in memory.

So, without a listing of the actual program, in loader code, you will feel like you are totally blind.

You will learn the address ranges the CPU hops around in, but you will learn nothing of what is in the registers, what is in memory, and nothing of what the code looks like in memory.

If you want to hack the ROMS in some device, you will have a far more fruitful time of it, using a disassembler, and a software debugger/emulator.

All you will learn with a "software" logic analyzer is that a NOP goes to the next instruction in memory, as does an ADD, SUB, INC, DEC, ... And that conditional jumps sometimes do, and sometimes don't. But you won't know why.

-Chuck Harris




Dennis Tillman W7pF wrote:
I am looking for the following Personality Modules for the 7D02
Software Logic Analyzer Plugin. Please contact me off list at dennis
at ridesoft dot com if you can help.
It is very important that I find these three:
PM-111 6809 PERSONALITY MODULE
PM101 Option 02 6502 PERSONALITY MODULE
PM102 6800 PERSONALITY MODULE

It would be nice to find these two:
PM101 Option 01 8080 PERSONALITY MODULE
PM-111 6809 PERSONALITY MODULE

I don't have much hope of ever finding these three:
PM-110 Z8001 PERSONALITY MODULE
PM-108 Z8002 PERSONALITY MODULE
PM-112 MULTIBUS PERSONALITY MODULE

The 7D02 is a software logic analyzer plugin for the 7000 series as
opposed to the 7D01 which is a hardware logic analyzer plugin. The
difference is night and day.
* The 7D01 hardware logic analyzer can help you analyze a computer bus
or any system with a lot of interconnected signals by simultaneously
capturing the timing relationship of up to 16 signals.
* The 7D02 software logic analyzer disassembles the addresses and
software instructions being executed by a CPU as it steps through its
instructions and reads or writes data. In order to do this the 7D02
requires a Personality Module for the particular CPU it will be
analyzing. The Personality Module intercepts each software instruction
and converts it to human readable instructions and provides this along
with the address of the instruction, the data being fetched or written, etc.

The useful product lifetime of a logic analyzer is extremely short in
part because they are extremely difficult to develop and just about
the time they are ready for market the CPU manufacturers come out with
newer architectures that make the logic analyzers obsolete. In
addition, logic analyzers are very expensive the entire development
cost will have to be spread across relatively few customers. A side
effect of that is to make customers even more reluctant to invest in
something that costs so much if the costs can't be amortized over at least 5 years.

Bottom line: Not many 7D02 logic analyzers were ever sold. In order to
use the 7D02 you had to also buy the right Personality Module to go with it.
Tektronix made 12 different personality modules for the 7D02. These
are rather small and easy to be misplaced. After a customer completed
development of their product the 7D02 would be put in a cabinet and
probably never get used again. The personality module would eventually
get separated from the logic analyzer and, since it didn't look like
much, eventually it would get tossed.

By now the personality modules are almost impossible to find. I have a
particularly romantic attachment to the 16-bit CPUs that were
prominent in the mid to late 1970s when I built my first personal
computer. I learned how to write assembly language for several of
those CPUs and disassembling the firmware that is running on these
simple CPUs, and debugging the code is some of the most challenging fun I can have.

Any help locating the personality modules I am looking for would be
greatly appreciated.

Dennis Tillman W7pF







--
Dennis Tillman W7pF
TekScopes Moderator

Join [email protected] to automatically receive all group messages.