RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Playing with a KR1801VM2 CPU (Soviet PDP11 clone)
Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10099] Wed, 17 August 2022 08:44 Go to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've decided to test a KR1801VM2 CPU I've around to check if it works before using it for a new board (an "Application Board" for the Studio 68).
So I've done a sort of "NOP checker" making a "shield" to plug on top of my PicOne development board (it is that one I used to develop the 68k-MBC):

/forum/index.php?t=getfile&id=2788&private=0

/forum/index.php?t=getfile&id=2786&private=0

/forum/index.php?t=getfile&id=2787&private=0

I've read a lot of interesting info on the KR1801VM2 from here, and I've the complete original datasheet too (of course in Russian).

In the attachments I've uploaded a first untested draft of the "shield".

We'll see...

[Updated on: Tue, 23 August 2022 02:07]

Report message to a moderator

Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10114 is a reply to message #10099] Tue, 23 August 2022 06:46 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've added some more pullups just to be sure before sending the gerbers:

/forum/index.php?t=getfile&id=2791&private=0

and the need (and the value) of pullups will probably be the first thing to check. I've seen a couple of modern implementation using 2k2 pullups for every pin because they say "the high level is weak", and exactly as done in the old Russian schematics.

But I wonder if using modern CMOS logic all these "strong" pullups are really needed. In the original datasheet the minimum V(OH) is given for an I(OH) of 200uA, and that seems to me not so "weak" is you think to LS-TTL:


/forum/index.php?t=getfile&id=2792&private=0

A good place to see that "dynamically" could probably be the output pin CLCO (15) that outputs the input clock (CLCI) divided by 2:

/forum/index.php?t=getfile&id=2794&private=0
  • Attachment: A140822.jpg
    (Size: 144.85KB, Downloaded 750 times)
  • Attachment: DC table.jpg
    (Size: 300.62KB, Downloaded 731 times)
  • Attachment: Pinout.jpg
    (Size: 347.46KB, Downloaded 733 times)

[Updated on: Wed, 24 August 2022 06:31]

Report message to a moderator

Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10134 is a reply to message #10114] Wed, 14 September 2022 11:08 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
The PCB arrived and I started playing with the KR1801VM2 (the double USB cable is only to lower the voltage drop due the CPU current requirement):

/forum/index.php?t=getfile&id=2811&private=0

/forum/index.php?t=getfile&id=2812&private=0


The first thing is to check the CLCO output pin that outputs the clock signal divided by 2 (holding the CPU into reset). This allows to have an idea about the "strength" of an output and therefore if strong pullups are really needed anyway.

So I've generated an 8MHz clock signal using the PIC18F inside my custom development board (the board on the bottom) at the CPU CLCI input pin and loaded the CLCO output pin with a 47k resistor to GND to simulate a 100uA sink at V(OH).

This is the result:

/forum/index.php?t=getfile&id=2813&private=0

So I don't see a real need to add strong pullups to any output, at least when interfacing the CPU with modern CMOS. So for now I will not populate on the test board the pullups on the output and 3-state pins.

Next step will be bring the CPU up and run a sort of NOP test.

[Updated on: Thu, 15 September 2022 09:17]

Report message to a moderator

Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10139 is a reply to message #10134] Thu, 22 September 2022 04:44 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Unfortunately I've to say that the various tests I've done showed that the my KR1801VM2 is a not working unit.

I've only this unit available so I've to give up as currently it is impossible to find another one... Sad

[Updated on: Thu, 22 September 2022 04:47]

Report message to a moderator

Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10140 is a reply to message #10099] Sun, 25 September 2022 13:19 Go to previous messageGo to next message
will is currently offline  will
Messages: 213
Registered: October 2015
Senior Member
Sorry to hear that. How frustrating!
Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10149 is a reply to message #10140] Tue, 18 October 2022 11:30 Go to previous messageGo to next message
ale500 is currently offline  ale500
Messages: 44
Registered: April 2018
Member
Did you connect both reset inputs ? ACLO and DCLO ? if not it will do not do anything. There is also a delay needed between both of them, at least regarding what is in the manual, I think it is not needed in reality.
I'd recommend, in case you haven't already the github project with the reverse engineering of both the VM1 and the VM2. : https://github.com/1801BM1 I have only played with the VM1 so far, my endeavour to buy some VM2s ended in nothing, embargo you know. The VM1s I have, 2, I got them from here, Germany like 5 or 6 years ago, no dice since to acquire more Sad.
Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10151 is a reply to message #10149] Thu, 20 October 2022 01:47 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
ale500 wrote on Tue, 18 October 2022 20:30
Did you connect both reset inputs ? ACLO and DCLO ? ...
Yes, I've followed what is stated in the original datasheet.

Here the result of the test of the starting sequence of the CPU:

KR1801VM2 Test Shield - A140822 (PicOne A300320-R230720) - CPU Test0
CPU NOP tester

--> DCLO and ACLO set LOW
INIT = 1

Press the USR key to continue... --> USR key pressed

--> CLCI pulse 1: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 2: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 3: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 4: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 5: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
Done 5 clock pulses
INIT = 1

Press the USR key to continue... --> USR key pressed


--> DCLO set HIGH
INIT = 1
--> CLCI pulse 6: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 7: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 8: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 9: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 10: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 11: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 12: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 13: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 14: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 15: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 16: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 17: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 18: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 19: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
Done 14 clock pulses

--> ACLO set HIGH
INIT = 1

--> CLCI pulse 20: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 21: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 22: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 23: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 24: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 25: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 26: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 27: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 28: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 29: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 30: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 31: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 32: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 33: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 34: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 35: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
Done 16 clock pulses
* * * Too much clock pulses elapsed! - Aborted

As you can see the expected "unaddressed read" is completely missing (and also INIT doesn't work as expected), and in general none of the pins seem to show any activity.
The only working pin is CLCO, outputting the input clock divided by 2.

I've also done other tests detaching the "shield" and trying with 2k7 pullups as other people used that value, but with the same results:

/forum/index.php?t=getfile&id=2815&private=0

I've also measured the substrate voltage that can be reached using a small metal point on the short side:

/forum/index.php?t=getfile&id=2816&private=0

and it was -2.65V (with a Vcc = 5.06V directly measured on the CPU pins) inside the expected range (-2.60V .. -2.70V) as suggested by a person from Moscow.

I'll post any update here.

[Updated on: Fri, 21 October 2022 06:30]

Report message to a moderator

Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10157 is a reply to message #10151] Thu, 03 November 2022 09:08 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
* UPDATE! *

I've found another (working) KR1801VM2 CPU thanks to a person who kindly sent me a spare unit from the US:

/forum/index.php?t=getfile&id=2819&private=0

And now the previous test works as expected:

KR1801VM2 Test Shield - A140822 (PicOne A300320-R230720) - CPU Test0
CPU NOP tester

--> DCLO and ACLO set LOW
INIT = 0                                     <----- Now INIT = 0 as expected!

Press the USR key to continue... --> USR key pressed

--> CLCI pulse 1: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 2: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 3: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 4: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 5: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
Done 5 clock pulses
INIT = 0

Press the USR key to continue... --> USR key pressed


--> DCLO set HIGH
INIT = 1                                     <----- And only now INIT = 1 as expected!
--> CLCI pulse 6: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 7: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 8: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 9: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 10: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 11: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 12: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 13: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 14: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 15: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 16: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 17: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 18: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 19: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
Done 14 clock pulses

--> ACLO set HIGH
INIT = 1

--> CLCI pulse 20: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 21: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 22: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 23: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 24: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 25: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 26: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 27: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 28: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 1
--> CLCI pulse 29: SEL = 1 - DIN = 1 - SYNC = 1 - CLCO = 0
--> CLCI pulse 30: SEL = 0 - DIN = 0 - SYNC = 1 - CLCO = 1   <----- Start of the unaddressd read!
Done 11 clock pulses

/forum/index.php?t=getfile&id=2821&private=0

So I'm on the road again... Very Happy
Re: Playing with a KR1801VM2 CPU (Soviet PDP11 clone) [message #10158 is a reply to message #10157] Fri, 04 November 2022 20:47 Go to previous message
cheshirenoir is currently offline  cheshirenoir
Messages: 14
Registered: June 2022
Junior Member
Well, at least you know your test rig works!
Sad to hear your original chip is DOA.

Chesh
Previous Topic: Nortel Call Processor NT9D19AB (68040)
Next Topic: CRC65, a 6502 SBC


Current Time: Wed Mar 19 02:03:54 PDT 2025

Total time taken to generate the page: 0.00692 seconds