Thinking about PDP11 PC05 Emulation

Jay Jaeger cube1 at charter.net
Mon Mar 11 21:19:33 CDT 2019



On 3/11/2019 4:37 PM, allison via cctech wrote:
> On 03/11/2019 02:11 PM, Jay Jaeger via cctech wrote:
>> I have several PDP-11's in my collection (among other things), and not
>> enough PC05 tape readers (or enough room) to go around.  But most if not
>> all of my machines have M7810 PC11 interfaces, and I have one I could
>> move from machine to machine as needed.  Moving a PC05 around would be a
>> lot more work, and not every rack has room.  ;)
>>
>> So, I took a look at what it might take to interface with an M7810 (or,
>> down the road, a PDP-8/L or PDP-12.  It looks like the emulator would
>> have to accept as input just 3 lines (Initialize  L, IOP2(1)/Select,
>> IOP4(1)/Read) [It would not need the redundant Initialize H, IOP1(1),
>> Qualify or Skip], and would have to drive 11 lines into the pullups on
>> the M7810 (8 Data lines, IO Bus INT L/Reader Done L, Outtape/Error and
>> RDR RUN L/RDR Busy L).
>>
>> So, a total of 14 interface lines. (The 8 or 12 would take a few more
>> lines).
>>
>> The pullups average about 470 ohms (1 is 1K, 1 is 220, the rest are
>> 470), so at 5V the output has to sink a bit over 10ma, and all total
>> 120ma.
>>
>> An Arduino Uno with an Ethernet shield would have 20 minus 5 lines
>> available, in theory, but if one wants serial I/O as well for debugging,
>> that sucks up 2 more lines - so only 13 available.  And sinking 120ma
>> would be a bit much though I could likely sprinkle inputs among the
>> outputs to make it work so as to stay within the recommended sink
>> limits, and at least initially have it never run out of tape, and tie
>> Error down.
>>
>> http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations
>>
>> So, I am thinking about an Arduino Mega, as it has more output groupings
>> to sprinkle the sink current around, and 5V interface capability, and
>> more pins to eventually support my PDP-8/L and PDP-12.
>>
>> (I could do it with a PIC - did that for a Documation card reader to PC
>> interface, but I am really tired of fighting Microchip's IDE.)
>>
>> BUT - it also occurs to me someone may have already done something like
>> this?  Any leads / ideas?
>>
>> JRJ
> The Uno or Nano is more than adequate.
> 
> To do the data you need 8 bits but you can bit bang them out using two
> lines on a nano to
> a 74ls164.  The rest you use transistors (open collector) to do high
> current (though 5V,
> 1K pullup is only 5ma) and I'd do that to make the IO more rugged and
> ESD proof.  That
> covers the strobes and control lines.  Just using two lines to get the 8
> data lines via a 164
> frees enogh pins for there to be surplus IO lines.
> 
> Then I can load the Uno (or nano) via USB or Serial  or use 4lines to
> interface a
> uSD loaded with tapes ( MCLK, MSI, MSO). 
> 
> With 32K of program space the RIM and BIN load can be part of the
> standard code base.
> 
> Then a library and software tool to load up the uSD or SD as usb to
> SD/uSD socket adapters
> are common.  It would be great to be able to get a file with all the
> common tapes on it.
> for loading into a 8 via a loader device.
> 
> I've not done this for PDP-8 or 11 but I can easily envision it.  The
> Arduinos are
> often fast enough if not faster than the host so speed is not an issue.
> 
> Allison
> 

My plan is actually to use an Arduino Ethernet shield to load files
(which uses 4 pins off of the Uno).

As I believe I mentioned, I can stay within the Uno's or Mega's current
sink limits by sprinkling outputs and inputs together in the various I/O
banks.  But unless I add additional hardware as you suggested, I am
short an I/O pin unless I punt on out of tape (and have it never report
that condition).

I am trying to avoid having to add additional hardware, even
transistors, if I can, as that makes it easier to replicate for others.

JRJ


More information about the cctalk mailing list