I created an emulator using Juergen Buchmueller's F8 emulator code. The game's pretty good for using just 2K of code and 320 bytes of RAM!
As the emulator accessed the ROM code, I flagged each byte as an opcode, operand, or data. I played a game and tried to use all the functions, then looked for bytes that weren't accessed. There's a chance those belong to an Easter egg, but so far I've come up empty.
I also wrote a program to show each byte in ROM as if it were displayed on the LEDs to see if any hidden message showed up, but I didn't see any. You can see the data table used to create the numbers 1-8 and letters A-H near the upper right-hand corner.
I was later sent a Boris Diplomat, which also uses a 3870 CPU. I created an emulator for it, too, but it took me quite a bit longer because it uses timer interrupts to sync the LED display and keyboard scanning. Unfortunately, this version of Boris doesn't make comments on the game.
This info was sent to the MESS team, who added the 2 games to MESS
I purchased a 38P70, which is a development version of the 3870 that has a socket for an external EPROM. It looks pretty cool, and lets me experiment with code modifications.
I used a PIC 18F4620 microcontroller clocked at 8MHz with the 4xPLL enabled. It sends signals to the 3870 to read the ROM, and then dumps the ROM contents to a PC via serial.
The hardware clocks the 3870 externally and uses the test pin to disable the ROM and force instructions to be executed. First it forces a DCI $0000 to set the data counter to $0000. Then in a loop it forces an LM to load memory at that address into a buffer, the ROM is enabled so the memory can be read, the byte is read off the data bus, and the ROM is disabled. This is repeated 3K times, then the buffer is dumped out the serial port.
If you have any games that use the 3870 that you want dumped, let me know. It seems like they were used in several chess games. I've also noticed that a few Heathkit products used them. 3870s are in a 40-pin package, probably with a date code of mid-70s to mid-80s (for instance 7841). It might be labelled Mostek MK3870, or it might just have an in-house label. There could be markings on the bottom of the chip as well as the top. Many F8s (3850s, 3851s, 3870s) have an "SL" code (like SL90025). The Channel F, VideoBrain and chess game chips do. SL might stand for Software Load or Software Library.
Calculator and 4 games
hardware description and pinout