4

I admit, I am pushing my personal envelope (punching above my weight, beyond my pay-grade etc. etc.) on the trailing edge of technology. So please be kind!

I would like to write new firmware for a NEC µPD7800-series microprocessor system, with the aim of expanding the RS-232 command-set to interface with that microprocessor.

According to what I have found, the source code should use NEC's µCOM-87 instruction set. As I understand it, µCOM-87 includes the entire instruction set from the Intel 8080 (as originally inscribed on papyrus), with embellishments.

NEC's literature at the time (1990 Single-Chip Microcontroller Data Book; NEC Document #50053) indicates that the µCOM-87 source code should be sent to the "RA87 Relocatable Assembler Package for the µPD7800 Series" which will generate the object code to be burned to the EPROM.

As described in the NEC literature, the RA87 package would appear to be quite sophisticated/streamlined/efficient, and the six (6) separate programs of RA97 can be combined in different ways to arrive at usable object code.

Does anybody have any information/suggestions about the NEC RA87, such as

  • Where I can find a version of RA87 that can be run on a 'modern' DOS/Windows/Linux OS?

  • Is there an emulator for the NEC RA87?

  • Is there some other work-around, such as a different assembler that will work equally well?

Also, if anybody can offer advice regarding disassembly of the original firmware, that would be a great place to start this project.

2
  • Are you referring to the 7800 series or the 78Cxx? The 1990 data book only lists the 78C devices. To my memory these two were quite different. the C series had way more instructions with in part different encoding and a different bus. 78Cxx was using port D/F in multiplexed A/D, much like the 8085 like manner, while the 7800 had a non multiplexed bus using E and a dedicated D, much like the 8080.
    – Raffzahn
    Aug 31 at 23:44
  • The original 7800 series. So far, the 1990 literature (which is younger than the 7800 chip that is in my device) seemed to have the most complete and coherent description of the assembler.
    – Birdman
    Sep 2 at 8:12
2

Sorry, so far no link to RA87 tools, but the AS assembler might be worth a try. It is well maintained (*1) and very well documented. It supports various NEC families including the 78C1x series, essentially the top end models of whats mentioned in your data book, which are (mostly) upward compatible with the 7800 (*2).

If this doesn't fit your needs, maybe this opcode list could be of help:

uCOM 87 opcode list

While not the requested assembler it might, together with the operation description in the data book, be a good base to convince an existing assembler to create code using a bunch of macros? Or, going all in, to modify an existing open source 8080 assembler (AS or some other) to do your bidding :)


*1 - Last build less than 5 weeks old: 1.42 Bld 207 (2021-07-26)

*2 - Including as well Renesas last incarnation of the 7800 architecture, the 78K0 series. The 78K0S is the direct follow up of the 78Cxx

0

Takeda Toshiya has a basic uPD7801 disassembler on his page for the EPOCH Super Cassette Vision (which used a uPD7801G).

1
  • 1
    Update: I have received some generous help from the creator of AS Assembler, who kindly added the uPD7801 to the list of supported microprocessors. Of course, if anyone has the original NEC support system, that would be great!
    – Birdman
    Oct 6 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.