Date : Fri, 07 Jul 2000 03:37:55 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: Re: Re BBC serial filing system
Carsten Langkvist Brasholt <clb@...> wrote:
> If we're going to write a filing system, wouldn't a parallel one be
> better (using the userport on the beeb and the printerport on the PC)?
> I realize that this would include making a new kind of cable, but I
> think the benefits would outweigh this!
There's one specified by John Kortink in !65Link and there's one specified
in something Mark Usher was working on. Mark's is the standard 'LapLink'
protocol cable that it used in various computer systems. I also put
something together some years ago, but I usually tend to use the LapLink
cable nowadays, and I would recommend using it.
In summary, the wiring is:
The standard LapLink cable, a four-bit transfer link. The printer port
does not need to be bidirectional, as the control signals as used for
input and the data lines for output.
BBC USER PORT PC PARALLEL
1 +5v
2 CB1 6 D4
3 +5v
4 CB2 11 -BUSY
5 0v 18 GND
6 PB0 2 D0
7 0v 19 GND
8 PB1 3 D1
9 0v 20 GND
10 PB2 4 D2
11 0v 21 GND
12 PB3 5 D3
13 0v 22 GND
14 PB4 15 -ERROR
15 0v 23 GND
16 PB5 13 SLCT
17 0v 24 GND
18 PB6 12 Paper End
19 0v 25 GND
20 PB7 10 -ACK
or put another way:
USER CB2 -> -BUSY PRINTER
PORT CB1 <- D4 PORT
D7 -> -ACK
D6 -> PaperOut
D5 -> SELECT
D4 -> -ERROR
D3 <- D3
D2 <- D2
D1 <- D1
D0 <- D0
The Kortink cable, an 8-bit transfer link. This depends on the printer
port being bidirectional.
PRINTER PORT <---> USER PORT
Pin 1 (nSTROBE) <---> Pin 2 (CB1)
Pin 2 (DATA 0) <---> Pin 6 (PB0)
Pin 3 (DATA 1) <---> Pin 8 (PB1)
Pin 4 (DATA 2) <---> Pin 10 (PB2)
Pin 5 (DATA 3) <---> Pin 12 (PB3)
Pin 6 (DATA 4) <---> Pin 14 (PB4)
Pin 7 (DATA 5) <---> Pin 16 (PB5)
Pin 8 (DATA 6) <---> Pin 18 (PB6)
Pin 9 (DATA 7) <---> Pin 20 (PB7)
Pin 10 (nACK) <---> Pin 4 (CB2)
* Pin 18 (0V) <---> Pin 5 (0V)
* Pin 19 (0V) <---> Pin 7 (0V)
* Pin 20 (0V) <---> Pin 9 (0V)
* Pin 21 (0V) <---> Pin 11 (0V)
* Pin 22 (0V) <---> Pin 13 (0V)
* Pin 23 (0V) <---> Pin 15 (0V)
* Pin 24 (0V) <---> Pin 17 (0V)
Pin 25 (0V) <---> Pin 19 (0V)
The cable I used before, another 4-bit transfer link:
USER CB2 PRINTER So this way, when writing a byte
PORT CB1 <- SELECT PORT to the printer port, when the data
D7 -> ~ACK is present, SELECT is raised, and
D6 -> ~BUSY the user port can be programmed to
D5 -> ~ERROR interupt on CB1 and so automatically
D4 -> PaperOut collect the data in D0-D3
D3 <- D3
D2 <- D2 ~BUSY and ~ERROR may have been the
D1 <- D1 other way around, but I remember
D0 <- D0 that ~ACK was D7, and the ~signals
were collected together
--
J.G.Harston (JGH BBC PD Library) 70 Camm Street, Walkley, SHEFFIELD S6 3TR
jgh@... - Running on BBCs & Masters with SJ MDFS FileServer
Z80+6502/CoPro+Tubes/Econet+SJ - - - http://www.mdfsnet.f9.co.uk/User/JGH/