Kenwood/Trio R-2000 was the top of the line communication receiver
when I started SWL in 1985. As a middle schooler I couldn't even
dream about owning the receiver. In 2000, I finally bought one from
eBay. I am planning on an ultimate mod for R-2000.
[The PLL board]
In the heart of R-2000 are a 80C49 microcontroller and two 82C43 I/O
expanders. They control almost everything except AGC, NB, and other
analog controls such as AF gain and tone. By changing the program in
the 80c49, we can add/remove features. In order to introduce a new
program, we have to desolder the 80c49 from the PLL board, read the
content of its ROM, analyze it, and create a new program and install
a new microcontroller.
[Desoldered 80c49 from R-2000]
[80c49 on a socket]
[The new battery holder]
Well, I managed to desolder the microcontroller and installed a 40 pin
socket. I also installed a socket for the backup battery. The next step
is to read the ROM on the microcontroller.
[A simple 80C49 reader]
I created a simple reader. Initially I used 8255, but abandoned it and
directly connected the I/O pins to the parallel port. 80c49 contains 2KB
of program memory (ROM). When reading the ROM, lower eight bits of the
address are placed to the I/O pins, DB0-DB7. The upper four bits are
placed to the pins, P20-P23. Since we are reading only 2KB, P23 can be
connected to the ground all the time. P20, P21 and P22 are connected to
5V or ground to set the most significant bits of the address. I manually
do this through jumpers, and the reader software dumps 256 bytes at a
time. 8 x 256 = 2048 bytes (2 KB). Here is the schematic diagram of
the reader.
The parallel port's signal level is supposed to be TTL (5V), but on
many laptops, the signal level is CMOS (3V). If your parallel port's
signal level is CMOS, it won't work. you will have a better luck with
a desktop PC. Here is a simple program that reads 256
bytes through the reader. It reads a byte multiple times and vote to
eliminate any possible transient error.
I changed the jumper setting eight times and generated eight 256 byte
binary data files. The files were then merged to create a 2KB file.
The next step is to disassemble the binary to human readable format.
I found an old disassembler written in C for DOS, and modified it for my
use. Here is the code.
To make any sense out of the code, you need the 80c49 data sheet, which
explains its instruction set, and the R-2000 service manual. I am in the
process of analyzing the code, but I can spare time only occasionally. So
it will take a long time. After this step, I will probably interface
R-2000 with a PC and try to control it, in order to verify what I interpreated
. The next step will be designing a new software using a PIC or
any other cheap microcontroller with RS-232C interface for the
computer based control.