--- In tatung_einstein@..., "Chris Coxall"
<albertstc01@...> wrote:
>
> Hi All,
>
> I've successfully linked the Einstein user port to the PC parallel
> port. The wiring is straight forward PC data lines D0 to D7 to
> Einstein D0 to D7. PC strobe to Einstein STB. PC acknowledge to
> Einstein RDY. Plus one or more grounds. No additional circuitry
> needed.
>
> In post #289 I reported "It seems to get the kind of hand shacking
> required more sophisticated programming using the interrupt will be
> needed. Until I can find a working program example or work out by
> trial and error how it can be done I've put using mode 1 aside."
>
> The working example code was where I should have looked first in MOS.
> Its there to configure port "A" of the Z80 PIO for a printer port.
> Thanks to Ric Holne's disassembles of MOS it was easy to find.
>
> I also reported "The data output pin from the user port was only 3.4v
> multi metre reading not enough to put acknowledge high on the PC."
> This seemed to be true when using mode 3 and one data line from the
> user port for handshaking when, to exchange data to and from the
> printer port but when all user port data lines, RDY and STB were
> connected the 3.4v was enough power to set the inputs on the PC
> printer port.
>
> In one way or another I was totally side tracked, confused and
> reported problems that didn't exist. I have now though working
> example programs for exchanging data in both directions via the user
> port using interrupts with mode 0 and 1 and the PC eccp printer port.
>
> Regarding the printer port:-
> The programing used for the user port was a direct copy of that used
> by the printer port as set by MOS at power up. There is a problem I
> have with using the printer port. I can't get strobe from pin 1 to go
> low and set acknowledge on the PC printer port low. It remains
> permanently high. The programing I use on the PC to import data
> (which works with RDY with the user port) only works with one hand
> shaking line instead of two. Using a timing delay on the PC does
> allow streams of data to be imported without bytes being missed or
> duplicated but when output from the Einstein has stopped there is no
> hand shaking to stop the last byte output being repeatedly read by
> the PC program. Besides slowing down transfer defeats the purpose.
>
> This is a nuisance. As the printer port programing is installed at
> power up no further programing would be required and any established
> means to use the printer port such as pressing "CTRL" "R" or a MCALL
> would work and be held at the termination of output.
>
> There is a difference between the wiring of the printer and user
> ports.
>
> From the Einstein Hardware Manual.
> Port A is dedicated as a printer output by MOS at power-on, and this
> port has a monostable (IO53b) [this is a circuit using a 74LS123
> chip] which provides a (1us) pulse triggered by the ready line of
> the PTO port A and is fed to the strobe output (M001, pin 1). This
> pulse is needed to comply with the centronics printer-interface
> timing.
>
> I understand this to mean that the high on pin 1 strobe would be
> mainly off and only going on for short bursts when data has been put
> on the data lines. I have tested this with the BBC4W program and by
> using strobe from pin 1 to power an LED. Strobe from my Einstein
> stays permanently high.
>
> This could be a fault with my Einstein.
>
> I'll make another attempt to use the printer port and test more
> thoroughly.
>
> I'll upload the example programing to files as soon as I've made them
> more tidy than they are at the moment. They will be provisional and
> still rudimentary. Spare space in the Einstein above the transient
> program area will be needed for the code and some scratch pad bytes
> for serious implementation. At the moment they just show an example
> of how user port interrupt handling can be made.
>
> Regards Chris Coxall
>
> Topic reference in messages
> #283 #282 #281 #277 #276 #275 #274 #111
>
Good work Chris!.
I know that it's still in its first stages; but about the
possibilities of the parallel connection,...could it be possible to
use the Einstein as a slave of the PC (or even master :) )?, as an
inmediate use I'm thinking in the 3" disk drives, because I don't want
to disassemble one of the Einey drives to assemble it back in the PC.
Keep on the good work!
Greets,
Jose