Another PLC, another strange code, unknown CPU, 8031, Z80?

It’s hard to find (via Google) info about very old (Festo) PLCs.
Obviously a successor to my programming device is the E.PRG-32. There’s just a color photo on the web and no info.

In 1984 Italian magazine Bit 54 (Internet Archive), I found that it’s Z80 based (and from 1984) and supports 17 languages.
I also found a Spanish site with comparisons of specifications of Festo PLCs FPC 101, 202 and 404 along other companies. The 404 is also Z80 based. A 101 card at least has a 80C31.

There are still many offers of the FPC 202 (developed by Beck and copied by Omron). But nobody offers manuals.
I now found a manual on a 2010 blog post by Peter Godwin (see Halfix PC Emulator post). The direct link won’t work but Google can find it. Wordpress obviously changed their way of displaying hosted files. The 2 other zip files are probably lost. Meanwhile I found the other PDF elsewhere, the ladder logic Software is not that of interest.

In the manual there’s interesting stuff, especially some “samples” of ROM contents on page 100-101. They should show how to display memory.

The system ROM (there’s just one) mapped at 0-7FFF. Grouped as 16-bit words.

0000: 0201 0002 3F02 FFFF FFFF FF02 041D FFFF

0100: 78 7F E4 F6 D8 FC 75 81 51 12 01 39 E5 35 20 E6 
0110: 0B 75 50 3A F5 F0 12 03 F7 85 F0 95 E5 9E 20 E6 
0120: 0B 
1500: 94 80 F9 90 F2 0C 74 3A F0 A3 74 31 F0 A3 74 30 
1510: F0 A3 E9 12 15 AE E8 12 15 AE 74 30 F0 A3 74 30

There’s 2x the Hex value of “J”. I replaced it with 9 (95 and 9E).

There’s an optional EPROM for user data. (Mapped at 8000-FFFF). The start is
A0 1C 53 83 14 80 58 82 00 00 00 00 00 00 00 00

Can someone identify the CPU from the system ROM data? Maybe not easy as at 100 it’s maybe not the first opcode.

It’s unclear if the beginning is code or data. 8031/8051 code would be a JMP at 0. But strange is FFFF. Maybe all opcodes for another CPU or data. Maybe it gives hints for my device.

I found a manual of the compatible Omron C20. There are several different, obviously dedicated CPUs like 3g2c7-cpu73-e. Or the PLC model is called that way.

But I’m pretty sure that it’s 8031/8051 based like the Festo 101.

The first opcode at 0 is a jump to 100.
And the code at 100 is also given. I made a file with the beginning bytes and then NOPs before 100 and run it through an 8051 disassembler.
There’s also valid code at 100 and a subroutine to 139 with valid code.

There’s too few code for a full understanding of its working but very interesting that there are 2 jumps at the beginning.

I haven’t read the full programming guide yet. The user can use the programming console and directly enter ladder logic. There are some examples, but I think there’s no list of binary representations of the instructions. My device is different anyway.