Hi Lee,
On the Model T TX side, sending 8-bits using this approach requires a
couple of writes, but not 4. So sending data is faster than receiving
data. The way I implemented it in TDock is as follows (and M100 is
short for any Model T and EXT means any external comms device):
Reading data:
1. M100 writes LPT 8-bit data with all zeros
2. M100 writes LPT STROBE line high
3. M100 writes LPT 8-bit data with 01h (i.e. LPT bit 0 --> '1')
4. EXT detects rising edge of LPT bit 0 WHILE STROBE is high
5. EXT sends first 2 bits on { BUSY, /BUSY }
6. M100 reads { BUSY, /BUSY }
7. M100 writes LPT 8-bit data with 00h
8. EXT detects falling edge of LPT bit 0 and writes next 2 data bits on
{ BUSY, /BUSY }
9. M100 reads next 2 bits
10. Repeat steps 3-9 to receive 4 more bits
11. M100 drops STROBE
Writing data:
1. M100 writes LPT 8-bit data with MSB=0, other bits = VALID DATA (7-bits)
2. M100 writes LPT STROBE line high
3. M100 writes LPT 8-bit data with MSB=1, other bits unchanged
4. EXT detects rising edge of LPT Bit 7 *while* STROBE is high
5. EXT saves lower 7 bits of LPT data (TDock uses these as 6 "register
bits" and MSB of data)
6. M100 writes LPT 8-bit data with MSB=0, other bits = NEW VALID DATA
(7-bits)
7. EXT detects falling edge of LPT Bit 7, waits a few microseconds and
saves lower 7 bits.
8. M100 drops STROBE line
Sending LPT Printer data (to a pass-thru printer port on EXT):
1. M100 writes LPT 8-bit data
2. M100 writes STROBE high
3. M100 writes STROBE low
4. EXT detects STROBE low->high->low with no changes to LPT data
5. EXT reflects the data and STROBE sequence on pass-thru LPT connector
Ken
On 11/30/15 3:50 AM, Lee Kelley wrote:
So this is why we can't just connect a parallel port pc drive and make
it work. But by using this busy signal line and special code one can
send and receive messages.
Do does that make the receive side of the process faster for the model
T than the send side of the equation or is the same process used both
directions?
On Mon, Nov 30, 2015 at 1:22 AM, John R. Hogerhuis <[email protected]
<mailto:[email protected]>> wrote:
Laddiealpha is a Tpdd emulator and I've already tested it on the
Pi. Runs fine.
-- John.
--
/"I will never in my lifetime make a film that cannot be seen by the
whole family"/ Arther P. Jacobs