Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Re: Looking for 7D02 Personality Modules
Hi Chuck,
toggle quoted message
Show quoted text
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 -- Dennis Tillman W7pF TekScopes Moderator |
to navigate to use esc to dismiss