View unanswered posts | View active topics It is currently Tue Sep 26, 2017 4:14 pm



Reply to topic  [ 15 posts ] 
 PDP-11 from scratch 
Author Message

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
Hi,

BigEd asked me to show some info about my DCJ-11 based project. Normally I'm doing mostly 65xx based projects and as such was active in the 6502 forum. As this is definitively not a 6502 computer I decided to show some of this project in this forum which has no specific CPU as subject but all types of CPU. So here it is.

Ever since I started my first job I was infected with the PDP-11 virus. I still think that this was a incredible computer family. I even got my own PRO/380 which unfortunately did not survive the years. However I saved the DCJ-11 chip from it. Many years after my PRO/380 died I was thinking about tinkering with this chip. I suspected that I would not be the first to do so. And so it was. Brent put together what he called a PDP-11/Hack http://www.cs.ubc.ca/~hilpert/e/pdp11hack/index.html which inspired me to do my own hack

Attachment:
File comment: First PDP-11 Hack
mypdp11hack.jpg
mypdp11hack.jpg [ 395.73 KiB | Viewed 1834 times ]


This showed that the DCJ-11 at least still was working. Later I was deciding to do a more capable version of it. Especially I wanted to have a "real" DLV-11, that is one that has all features that a PDP-11 OS would expect. So this was when I built the next HACK. This time the Console was enhanced with a ATF1504AS CPLD to implement the missing interrupt capabilities of the first HACK.

Attachment:
File comment: PDP-11 Hack with DLV-11 w/ interrupt support
PDP11V4.jpg
PDP11V4.jpg [ 977.67 KiB | Viewed 1834 times ]


Now I was able to run an interrupt driven input output. But this was not everything that an OS will require. You need to have proper cycle handling and proper bus handling, especially it must be able to detect non-existing memory and non-existing devices. Therefore the GAL was replaced with another CPLD that implemented bus-timeout, cache-miss generation for non-existing memory and correct generation of ABORT.

Attachment:
File comment: Last breadboard PDP-11 Hack
PDP-11-Hack-V3.jpg
PDP-11-Hack-V3.jpg [ 694.63 KiB | Viewed 1834 times ]


As you can see the big mess of wires became bigger and bigger and at the end it was no longer maintainable and sometimes when I take it out from the cupboard I have to start a debug session before it works again. So I decided to
make a PCB, or rather a series of PCBs to give the DCJ-11 a new Home. The PCB for the CPU is ready and a preliminiary PCB for the "DLV-11" as well. So next step will be to put all this together. So more to come.

Cheers

Peter


Wed Aug 24, 2016 12:14 pm
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 786
Very nice - thanks for sharing. Look forward to the next step!


Wed Aug 24, 2016 2:57 pm
Profile

Joined: Wed Apr 24, 2013 9:40 pm
Posts: 112
Location: Huntsville, AL
Very nice. I echo BigEd's sentiments. I have a large collection of PDP-11 components, so I will be following your project with great interest.

_________________
Michael A.


Thu Aug 25, 2016 1:19 am
Profile

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
The two PCBs have been soldered. Now I only need to find a place where I can upload some pictures as I can not attach more pictures to this thread. First I will build a test-bed to check the console DLV-11 card to make sure that it works before starting the CPU board. Good thing with the DCJ-11 is that it comes with a built-in "monitor" the so called ODT, so no need to have a startup ROM, just CPU, Memory, Console and Glue logic is enough and you already get a response from the CPU and you can start to read and write memory locations and start a program. There is this nice PDP-11 GUI http://www.retrocmp.com/tools/pdp11gui on the retro comp home page written by Joerg Hoppe, which includes a MACRO-11 assembler and is able to directly upload the result. Just make sure your code is in a .asect and that you initialize your stack pointer when using the stack.


Sun Aug 28, 2016 10:39 am
Profile

Joined: Sun Apr 02, 2017 6:01 pm
Posts: 2
Hi Peter.
Just thought you might be interested is another variation on this theme. Please see here:-
http://s100computers.com/My%20System%20 ... 0Board.htm

John Monahan


Sun Apr 02, 2017 6:31 pm
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 172
Thanks for checking in, John. I enjoyed my visit to your site!

-- Jeff

_________________
http://LaughtonElectronics.com


Mon Apr 03, 2017 10:46 pm
Profile WWW

Joined: Sun Apr 02, 2017 6:01 pm
Posts: 2
Thanks, I'm hoping somebody here can help me understand why I cannot get the CPU to boot to a define ROM address on power us using the circuit (and GAL code) I have there. It always just powers up to the ODT console.


Tue Apr 04, 2017 12:28 am
Profile

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
Hi John,

very nice. I must admit that after I received my PCBs the project was stalled. Too many things going on at the moment. I really envy you as you proceeded already to the next step of having a running DCJ11 with Console on a stable PCB with a standard bus. You mention some uncertainties regarding clock and memory addressing. First to the Clock. The normal Chips available are either running with a 15MHz or (if form the latest line) 18MHz XTAL. However the versions approved for 18MHz seem to be scarce. There is an auction on e-Bay of a guy who sells a batch of 18MHz (AE Series) capable chips. However the difference between 15 and 18MHz is not worth the 100USD if you already have one. The other clocks you see mentioned when the DCJ11 is discussed refer to the cycle time, i.e. to the minimum cycle time. Those are the non-stretched cycles which are exactly 4 clock cycles and hence you often see values of 3.75 or 4.25MHz. There are modifications of DEC CPU Boards that replaced the 18MHz crystal on PDP11/93 boards with a 22MHz crystal and successfully operated the systems. But I think YMMV.
I have some concerns regarding your memory decoding. You should place your ROM into the IO Page and use BS0 and BS1 to decide if the upper 8kW(IO Page) are addressed and use only address lines A1...A12 to decode a ROM select (i.e. a boot rom at 017773000). Address lines A16 to A21 are only valid in ODT. When in RUN mode A16 to A21 should not be considered to be valid when the IO Page is addressed, they should only be used to address RAM.

I really would enjoy to discuss topics regarding a DCJ11 based system as I still intend to build my PDP-11 capable of running at least BSD 2.11 and RT-11.

Cheers

Peter


Tue Apr 04, 2017 9:51 am
Profile

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
John Monahan wrote:
Thanks, I'm hoping somebody here can help me understand why I cannot get the CPU to boot to a define ROM address on power us using the circuit (and GAL code) I have there. It always just powers up to the ODT console.

How is the decoding of the ROM address done? Try also to read the error register after boot as a first action to see what the reason is you entered ODT (perhaps the ROM is not decoded correctly and it executes a HALT instruction). Also I wonder why you have RP1 and RP2 between the 74LS244 and the data bus. To further study this it would help to have the downloads you mentioned, but are not available yet.

Regards

Peter


Tue Apr 04, 2017 10:01 am
Profile
User avatar

Joined: Tue Jan 15, 2013 5:43 am
Posts: 172
Peter, I sent you a PM on 6502.org but I see you haven't read it. Is there a problem with how notifications are sent to you? If so I thought you might want to know. (The PM itself is no longer important. I just wanted to be sure you were aware of the new activity here on this PDP thread.)

-- Jeff

_________________
http://LaughtonElectronics.com


Tue Apr 04, 2017 1:07 pm
Profile WWW

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
Hi Jeff,

Yes thanks, I received the PM notification on 6502.org. I was actually also triggered by the post of John himself, as I'm also watching this thread. I just did not check my personal e-Mail the last two days :-)

Cheers

Peter


Tue Apr 04, 2017 2:13 pm
Profile

Joined: Tue Dec 11, 2012 8:03 am
Posts: 225
Location: California
Make sure you have PM notifications turned on in your User Control Panel.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Tue Apr 04, 2017 8:19 pm
Profile WWW

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
As I said, it was because I was not reading my mail for some days. I have PM notifications turned on and I did get the all notifications in my mail-box.


Wed Apr 05, 2017 2:59 pm
Profile

Joined: Mon Aug 22, 2016 7:05 pm
Posts: 7
Hi,

the project has made quite some progress you can see more at the thread http://www.vcfed.org/forum/showthread.p ... C-J11-Hack on vcfed where Len and others were also in the progress of building their own PDP-11 Hack. Almost all have been inspired by Brent Hilperts first Hack. Today I was for the first time able to boot into RT-11. Not the final step but a big milestone, as now I can play again Adventure as we used at the times when I worked on PDP-11..

"xyzzy"

Peter


Sun May 07, 2017 10:25 am
Profile
Online

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 786
Good news - thanks for the update!


Sun May 07, 2017 10:37 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 15 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software