<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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/
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>