Because my PM6654C counter stopped working just about a week after I installed a self-made OCXO-Module, I spent basically the whole saturday trying to pin down the problem, which led me to believe that the Intel 8741 processor is the cause (see my thread in the repair-forum for more details).
A bad 8741 is rather problematic, because I only have a TL866-Programmer here, which cannot program the MCS-48/UPI-41 Microcontroller-Series. Aside from really expensive programmers, only the Willem Programmer with the LPT-Connector seems to be compatible, but investing 50+ Euros for a programmer that would arrive in about 4 weeks was out of the question. The same obviously goes for the expensive ones.
So I decided to make my own.
The MCS-48 Microcontroller-Series is controlled by first latching the Address into the processor, then applying the data, providing 21V to VDD and then pulsing the PROG-Pin with +18V for 50ms. Repeat that 1024 or 2048 times and the program is transferred to the internal memory.
For the controller I chose to use one of the many Arduino Nanos I bought some time ago on ebay for 3€ a piece.
To make the Power-Supply simpler, the required input-voltage is 21,5V and the +18,5V and +6V (Supply-Voltages slightly higher to account for Vdrop in the Diodes) are provided by LM317s.
BC327 PNP Transistors are used to toggle between 5V and the higher voltages, pins that require +5V max are directly connected to the Arduino Nano.
Because I was extra-lazy, I wrote the Software in a way that the program that is about to be programmed into the Micro is stored inside the Arduino Sketch. To make sending the data and getting program-messages via Serial Connection possible, I wired the Nano in a way that requires some bit-shifting in the software, but keeps the Serial IN/OUT-Pins free (Pins 0 and 1 of PORT D).
Care must be taken when building this thing though, because PB4 and PB3 are switched around (see Arduino Nano Pinout:
https://bigdanzblog.wordpress.com/2015/01/30/cant-get-i2c-to-work-on-an-arduino-nano-pinout-diagrams/).
It should also be possible to build this thing with other Arduinos and put it together on a breadboard.
Btw. If you start messing around with these devices, a UV-Eraser is a must!
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/xsmiley.gif.pagespeed.ic.R8GFI-pF6f.png)
I hope this helps other people who came across these Micros, which seem to have been quite popular in the 80s - at least with Philips engineers
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/xsmiley.gif.pagespeed.ic.R8GFI-pF6f.png)
Datasheet for the UPI-41 - including the programming-procedure and the same for the MCS-48:
http://www.intel.com/design/archives/periphrl/docs/29025601.pdf