[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::atarist

Title:Atari ST, TT, & Falcon
Notice:Please read note 1.0 and its replies before posting!
Moderator:FUNYET::ANDERSON
Created:Mon Apr 04 1988
Last Modified:Tue May 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1433
Total number of notes:10312

400.0. "Parallel Port/Speech Chip" by CURIUS::TOMLINSON (Phone Lady: Saved by the Bell) Fri Feb 24 1989 15:11

    
    Hi,
    
    Does anyone have pin information on the parallel port for an ST?
    
    About two year's ago, Antic published an article on connecting a
    R.S. speech chip using the parallel port.  I'm an Amiga owner and
    figure that since they use the same 68000 chip, the assembly code
    etc. should work just fine.  (If anybody knows otherwise let me know!).
          
    The schematic uses +5v from the port and since my serial port
    wasn't as "standard" as the sales literature claimed, I'd like to
    double check the Atari's parallel port pins against the Amiga's before
    starting to solder.  
    
    (The article also uses the joystick ports, but these looked quite
    different from mine -- any help on those would be of interest, too).
    
    Thanks in advance,
    
    Kristine
T.RTitleUserPersonal
Name
DateLines
400.1pinoutCIMBAD::POWERSI Dream Of Wires - G. NumanSat Feb 25 1989 10:2827
     RE: < Note 400.0 by CURIUS::TOMLINSON "Phone Lady: Saved by the Bell" >
                         -< Parallel Port/Speech Chip >-

    
    
>    Does anyone have pin information on the parallel port for an ST?

     The parallel port on the st is a standard centronics interface.
     They have the folowing pinout.

     1) Strobe - indicates the validity of the byte on the data lines to the
        connected device by a low pulse.

     2-9) DATA

     11) BUSY - is always placed high by the printer when it is not able to
        receive additional data.

     18-25) Ground

     all others are unused.

     This info comes from the ABACUS book ST Internals

     Bill Powers


400.2Thanks!AMUSED::TOMLINSONPhone Lady: Saved by the BellMon Feb 27 1989 12:2110
   
     re: -1
    
    Thanks VERY much for the pin info. and so fast a reply!  I'm looking
    forward to getting started with this project.
    
    Thanks again,
    
    Kristine T.                                 
                                 
400.3More help neededCACHE::FONTAINEMon Mar 27 1989 17:3011
    Did someone say somewhere in another note that people are selling
    software out there that uses a hardware key plugged into the printer
    port. If so, how do they read it. The ST internals book shows nothing
    about this being a read/write port but the bios has read calls to
    this device. Anybody know If there is anything more to it than
    the hardware info in St internals. Also does anyone have the timing
    info on this port (I need to interface to some hardware and the
    Centronics port seemed the best for a write only byte wide interface).
    
    				ANdre
    
400.4Printer port is R/WLDP::WEAVERLaboratory Data Products/ScienceMon Mar 27 1989 18:425
    Re: .3
    
    The port is indeed R/W.
    
    							-Dave
400.5It goes both waysPRNSYS::LOMICKAJJeff LomickaFri Mar 31 1989 11:3816
The printer port is one of the bidirectional parallel ports of the sound
chip.  The specs for the sound chip are stapled to the back of the
blister pack version sold at Radio Shack for about $7.00.  (It's marked
YM2149, and is the same as General Instruments AY-3-8912)

You can use the xbios function 29 (Giaccess) to arbitrarily manipulate
the port.  The port itself is register 15, and can be set for input
using register 7 bit 7 (0 is input, 1 is output).

The strobe and busy lines come in somewhere else - the 68901 I think. 
If you need more details send me mail and I'll look it up in the
schematics.  At home, I have detailed manufacturs specs on both the
AY-3-8912 and the MC68901.



400.6A little more infoUKCSSE::KEANEFri Mar 31 1989 16:1653
    re .5
    
    I have seen people standing in a newspaper shop to read the magazines,
    but its the first time Ive heard of people standing at the component
    rack in Tandy's (Radio Shack), to read the data sheet.
    I am at home , so have access to Katherine Peel's The Concise Atari St 
    Programmers Reference Guide. This is what she says about the printer
    port.
    "The general purpose parallel port interface provides bi-directional 8
    bit communication for printer operation. The port is based on the MFP
    MK68901 (busy control), the PSG I/O port A bit 5 (strobe control) and
    the PSG I/O port A bit 5 (strobe control) and the PSG I/O port B (data
    transfer.) The control is limited to a busy signal, acknowledge is not
    supported and the data transfer is at a typical rate of 4000
    bytes/sec.
    	Data is transmitted and received via a parallel port interface in
    blocks of 8 sometimes 7 data bits, set either as ones or zeros to form
    a charcter byte. The byte is framed by a strobe signal enabling the
    receiving device to read the character transmitted which may be printed
    immediately or saved in a buffer for subsequent printing. At some stage
    the printer will not be able to accept further input and will send a
    busy signal to stop the transmitter from sending additional characters.  
    (***Real profound stuff this ****) Ah heres the meat:-
    Data is passed to and from the interface using the following
    procedures:
    WRITE DATA
    a: Check the busy line for high If low monitor until high or time out
    set CPU D0 register to 0
    WHEN high
    b: Set PSG I/O B port to output USE IPL7
    c: place data into the PSG's B output register
    d: Switch strobe line on
    e: Switch strobe line off, set CPU D0 register to -1
    READ DATA
    a: Set PSG I/O B port to input
    b: Switch strobe line off
    c: Check bust line for high, loop till high
    d: switch strobe on
    e: Get data from PSG's B output register
    
    As the satus register is affected the above procedures should be
    performed in supervisor mode.
    BIT TWIDDLES NECCESSARY TO READ FROM A PERIPHERAL DEVICE INTO THE ST 
    --------------------------------------------------------------------
    1 )    Yam sound chip base add $FF8800,
    2) Select Yam mixer register (offset 7 ), Set bit 6 to a '0' (sets port
    A to input.
    3)Select I/O port A data store (I/O port A register offset Eh)
    4)Read data from PSG (read data in port A register. 
    The register follows signals applied to the port, only by reading will
    the data be transferred to the internal bus.