[comp.sys.amiga.programmer] Accessing BUSY, SEL, and POUT via "parallel.device"?

leblanc@eecg.toronto.edu (Marcel LeBlanc) (04/13/91)

[]

The parallel port on the Amiga (and other computers) includes a few
bi-directional I/O lines other than the 8 data lines (BUSY, SEL, and POUT
connected to the 'other' CIA device).  Is it possible to read and write
these using the parallel.device, or is it necessary to write to CIA A
directly?  I have the 1.2 Libraries and Devices reference, but it doesn't
mention anything about this (unless I missed it, of course).

I am building a ROM emulator for my hardware prototyping (which I do
regularly), and I'd like to be able to quickly transfer the ROM code to the
emulator via the Amiga's parallel port.  Since I'm using the Amiga for all
my software development, it makes sense to plug the emulator into the Amiga
for instant ROM updates (and not some dumb clone).

Can these lines be set to ouput, and written via the 2.0 parallel.device?  I
am using KS 2.02 (I forget the KS version number).  If anyone can describe
to me how this is done (or where to find references I missed in the 1.2
RKM), I'd be very greatful!!!  I don't want to acces the CIAs directly!!!

Thanks for any info!

Marcel A. LeBlanc  --  Electrical Eng. Computer Group, Univ. of Toronto
-----------------------------------------------------------------------
leblanc@eecg.toronto.edu		else: uunet!utcsri!eecg!leblanc

valentin@public.BTR.COM (Valentin Pepelea) (04/13/91)

In article <1991Apr12.165832.12620@jarvis.csri.toronto.edu>
leblanc@eecg.toronto.edu (Marcel LeBlanc) writes:
>

You're Canadian, so you deserve a prompt answer.

>The parallel port on the Amiga (and other computers) includes a few
>bi-directional I/O lines other than the 8 data lines (BUSY, SEL, and POUT
>connected to the 'other' CIA device).  Is it possible to read and write
>these using the parallel.device, or is it necessary to write to CIA A
>directly?  I have the 1.2 Libraries and Devices reference, but it doesn't
>mention anything about this (unless I missed it, of course).

It is not possible to twiddle these pins using the parallel device. You would
have to access the hardware directly, after allocating the parallel port and
bit resources.

>I am building a ROM emulator for my hardware prototyping (which I do
>regularly), and I'd like to be able to quickly transfer the ROM code to the
>emulator via the Amiga's parallel port.  Since I'm using the Amiga for all
>my software development, it makes sense to plug the emulator into the Amiga
>for instant ROM updates (and not some dumb clone).

That's a fine use you have in mind, but what do you need these three extra
lines for? These lines are otherwise used for handshaking, as per the
Centronics standard. (if you can consider it a standard)

Valentin
-- 
"An operating system without virtual memory      Name:      Valentin Pepelea
 is an operating system without virtue."         Phone:     (408) 985-1700
                                                 Usenet:    mips!btr!valentin
                     - Ancient Inca Proverb      Internet:  valentin@btr.com

dillon@overload.Berkeley.CA.US (Matthew Dillon) (04/14/91)

In article <1991Apr12.165832.12620@jarvis.csri.toronto.edu> leblanc@eecg.toronto.edu (Marcel LeBlanc) writes:
>
>The parallel port on the Amiga (and other computers) includes a few
>bi-directional I/O lines other than the 8 data lines (BUSY, SEL, and POUT
>..
>
>I am building a ROM emulator for my hardware prototyping (which I do
>regularly), and I'd like to be able to quickly transfer the ROM code to the
>...
>
>Can these lines be set to ouput, and written via the 2.0 parallel.device?  I
>am using KS 2.02 (I forget the KS version number).  If anyone can describe
>..
>
>Thanks for any info!
>
>Marcel A. LeBlanc  --	Electrical Eng. Computer Group, Univ. of Toronto
>-----------------------------------------------------------------------
>leblanc@eecg.toronto.edu		else: uunet!utcsri!eecg!leblanc

    The parallel.device only handles a printer.  To use the parall port in
    a bidirectional manner you must allocate the appropriate resources
    and access it manually.

    By the way, the 8 data lines are also bidirectional.  I believe I have
    stuck my PARNET source via FTP on FTP.UU.NET in amiga-sources/dillon,
    if you have FTP access.  If it isn't there give me an email ring and
    I'll put it up.  This code makes for a good example on how to use
    the parallel port in a bidirectional manner.

				    -Matt

--

    Matthew Dillon	    dillon@Overload.Berkeley.CA.US
    891 Regal Rd.	    uunet.uu.net!overload!dillon
    Berkeley, Ca. 94708
    USA

valentin@public.BTR.COM (Valentin Pepelea) (04/16/91)

In article <dillon.6497@overload.Berkeley.CA.US>
dillon@overload.Berkeley.CA.US (Matthew Dillon) writes:
>
>    The parallel.device only handles a printer.  To use the parall port in
>    a bidirectional manner you must allocate the appropriate resources
>    and access it manually.

Actually, the parallel.device is bidirectional, depending on what you mean by
that. Just wire-up a NULL-parallel cable, where pins 1 and 10 are crossed and
pins 23 & 25 are cut. Only one computer may send data to the other at any
moment in time, so you have to establish a little protocol in which one
computer tells the other when it is about to be the sender, and how much data
it intends to send.

Valentin
-- 
"An operating system without virtual memory      Name:      Valentin Pepelea
 is an operating system without virtue."         Phone:     (408) 985-1700
                                                 Usenet:    mips!btr!valentin
                     - Ancient Inca Proverb      Internet:  valentin@btr.com

chucks@pnet51.orb.mn.org (Erik Funkenbusch) (04/20/91)

valentin@public.BTR.COM (Valentin Pepelea) writes:
>In article <dillon.6497@overload.Berkeley.CA.US>
>dillon@overload.Berkeley.CA.US (Matthew Dillon) writes:
>>
>>    The parallel.device only handles a printer.  To use the parall port in
>>    a bidirectional manner you must allocate the appropriate resources
>>    and access it manually.
>
>Actually, the parallel.device is bidirectional, depending on what you mean by
>that. Just wire-up a NULL-parallel cable, where pins 1 and 10 are crossed and
>pins 23 & 25 are cut. Only one computer may send data to the other at any
>moment in time, so you have to establish a little protocol in which one
>computer tells the other when it is about to be the sender, and how much data
>it intends to send.

actually, if you want you can set up 4 lines to be input and 4 for output and
cut the bytes in half and send them.  this way you could achieve a full duplex
4 bit connection.  4 times faster than the serial port.

>
>Valentin
>-- 
>"An operating system without virtual memory      Name:      Valentin Pepelea
> is an operating system without virtue."         Phone:     (408) 985-1700
>                                                 Usenet:    mips!btr!valentin
>                     - Ancient Inca Proverb      Internet:  valentin@btr.com

s
UUCP: {amdahl!tcnet, crash}!orbit!pnet51!chucks
ARPA: crash!orbit!pnet51!chucks@nosc.mil
INET: chucks@pnet51.orb.mn.org