Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Jay Jaeger via cctalk



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


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Jay Jaeger via cctalk
On 3/11/2019 5:15 PM, Brent Hilpert via cctalk wrote:
> On 2019-Mar-11, at 2: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).
> 
> . . . 
> 
>>> BUT - it also occurs to me someone may have already done something like
>>> this?  Any leads / ideas?
> 
> . . .
>> 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.
> 
> . . .
> 
> I've used an RPi for tasks like this in much the same way as Allison is 
> describing -
> reduce the number of I/O pins needed on the modern microcontroller by 
> serialising
> the legacy-device parallel data lines with a simple TTL shift register.
> 2-4 pins (CLK,LATCH,DIN,DOUT, depending on app) from the microcontroller
> can be translated to 8,16,32 or as many data lines as you need.
> 
> 

I had thought about an RPi as well.  But the RPi is it is 3.3v,
requiring additional hardware, which I'd like to avoid.  A 5V Arduino
(or a PIC, for that matter) should be able to drive the interface card's
inputs on its own.


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Brent Hilpert via cctalk
On 2019-Mar-11, at 2: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).

. . . 

>> BUT - it also occurs to me someone may have already done something like
>> this?  Any leads / ideas?

. . .
> 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.

. . .

I've used an RPi for tasks like this in much the same way as Allison is 
describing -
reduce the number of I/O pins needed on the modern microcontroller by 
serialising
the legacy-device parallel data lines with a simple TTL shift register.
2-4 pins (CLK,LATCH,DIN,DOUT, depending on app) from the microcontroller
can be translated to 8,16,32 or as many data lines as you need.



Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Brent Hilpert via cctalk
On 2019-Mar-11, at 2: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).

. . . 

>> BUT - it also occurs to me someone may have already done something like
>> this?  Any leads / ideas?

. . .
> 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.

. . .

I've used an RPi for tasks like this in much the same way as Allison is 
describing -
reduce the number of I/O pins needed on the modern microcontroller by 
serialising
the legacy-device parallel data lines with a simple TTL shift register.
2-4 pins (CLK,LATCH,DIN,DOUT, depending on app) from the microcontroller
can be translated to 8,16,32 or as many data lines as you need.



Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread allison via cctalk
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


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Jay Jaeger via cctalk
Hi, Henk.

Cool - so sort of the complement of what I am considering doing - your
interface allows connection of a real device to a simulated hardware
processor.

Your thorough documentation will be helpful in confirming the signals I
plan to use.

JRJ

On 3/11/2019 1:39 PM, Henk Gooijen wrote:
> Hi Jay,
> 
> Have a look at www.pdp-11.nl/peripherals/tape/pc05-simh-pc.html
> <http://www.pdp-11.nl/peripherals/tape/pc05-simh-pc.html>
> 
> If you are interested I can tell you more …
> 
>  
> 
> I can read and punch tape. PC05 + interface (PIC 18F4550) connects using
> RX/TX to USB to PC.
> 
> Reading one character at a time works fine (speed some 20 char/sec,
> so-called start-stop mode).
> 
> Reading in “streaming mode” is probably some 300 char/sec, but I get
> unexplained “out-of-paper” state sometimes, and reading stops (of course).
> 
>  
> 
> To read from the PC05 reader you need IOP2, IOP4, and INT*. Maybe BUSY*
> is needed, not sure about that.
> 
> INITIALIZE* is good to have as well. A few other signals (for example
> IOP1) needs to be connected to an appropriate level. And 8 data inputs,
> which need a pull-up resistor. Note that the data from the reader is
> inverted.
> 
>  
> 
> To punch you only need IOP4 (IIRC) and of course 8 data outputs.
> 
> As you know, reader and punch are two completely isolated devices.
> 
>  
> 
> Greetz,
> 
> Henk
> 
>  
> 
>  
> 
> 
> *Van:* cctech  namens Jay Jaeger via
> cctech 
> *Verzonden:* Monday, March 11, 2019 7:11:46 PM
> *Aan:* General Discussion: On-Topic Posts
> *Onderwerp:* Thinking about PDP11 PC05 Emulation
>  
> 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


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread E. Groenenberg via cctalk


snip snip snip

>
> (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
>

Yes, see http://www.pdp-11.nl/peripherals/tape/pc05-simh-pc.html
And in action : https://www.youtube.com/watch?v=l--OHNxXFeE

The PC05 in question is mine, the interface are made by Henk Gooijen,
the software in the vid is only supporting byte for byte, streaming
mode is almost implemented.

Ed
--
Ik email, dus ik besta 




Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Jay Jaeger via cctalk
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


RE: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Henk Gooijen via cctalk
Hi Jay,

Have a look at 
www.pdp-11.nl/peripherals/tape/pc05-simh-pc.html<http://www.pdp-11.nl/peripherals/tape/pc05-simh-pc.html>

If you are interested I can tell you more …



I can read and punch tape. PC05 + interface (PIC 18F4550) connects using RX/TX 
to USB to PC.

Reading one character at a time works fine (speed some 20 char/sec, so-called 
start-stop mode).

Reading in “streaming mode” is probably some 300 char/sec, but I get 
unexplained “out-of-paper” state sometimes, and reading stops (of course).



To read from the PC05 reader you need IOP2, IOP4, and INT*. Maybe BUSY* is 
needed, not sure about that.

INITIALIZE* is good to have as well. A few other signals (for example IOP1) 
needs to be connected to an appropriate level. And 8 data inputs, which need a 
pull-up resistor. Note that the data from the reader is inverted.



To punch you only need IOP4 (IIRC) and of course 8 data outputs.

As you know, reader and punch are two completely isolated devices.



Greetz,

Henk






Van: cctech  namens Jay Jaeger via cctech 

Verzonden: Monday, March 11, 2019 7:11:46 PM
Aan: General Discussion: On-Topic Posts
Onderwerp: Thinking about PDP11 PC05 Emulation

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


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread Jay Jaeger via cctalk
On 3/11/2019 1:17 PM, William Donzelli wrote:
>> BUT - it also occurs to me someone may have already done something like
>> this?  Any leads / ideas?
> 
> Get an old BlackBox ABCD switch that can handle true 25 pin serial ports?
> 
> It seems like every year at VCFMW there are a few in the free pile.
> 
> --
> Will
> 

That might be fine if the machines were right next to each other.  Some
of mine are not so close.

An emulator would also be really convenient to use, and avoid wearing
out paper tapes.

JRJ


Re: Thinking about PDP11 PC05 Emulation

2019-03-11 Thread William Donzelli via cctalk
> BUT - it also occurs to me someone may have already done something like
> this?  Any leads / ideas?

Get an old BlackBox ABCD switch that can handle true 25 pin serial ports?

It seems like every year at VCFMW there are a few in the free pile.

--
Will