[comp.sys.amiga] Questions on Parallel Port

gord@spycal.UUCP (Gord Delaney) (04/15/87)

I am attempting to connect my AMIGA to another system (an 8085/88 S100)
via the parallel port.  After building a bi-directional parallel port
for the S100 (from a 8255), and getting some software running on both
sides, I have finally managed to transfer data without error in both
directions.

Now, to my problem. The data transfer rate that I'm seeing is less than
6 Kbytes/sec. Actually, it is 170 microsec per byte.  I was anticipating
something in the 20-30 microsec/byte (40 Kbs) range.  When I was doing
the original work on the S100, I was using an 'interrupt mode' for my
software, but found that 1 pass through my 'very tight' interrupt code
took around 120 microsec.  I have since re-designed the S100 software to
use a 'polled' mode and now the 'Data Ack' is returned within 15 microsec
of the request.  I now believe that the pathetically low transfer rate is
because I am using the "par.device" driver on the AMIGA which I assume is
working in an 'interrupt mode'.

Now, to my questions:
  - Does anyone know of a way to speed up the "par.device" driver?
  - Is there a way that I can access the 8520 directly AND still be a
    "well behaved task"?  In my hardware manual (the original CBM version),
    in appendix E (or maybe F), a description of the 8520 is given.
    However, very little is mentioned about the 'FLAG' and 'PC' pins.
    Can I disable the 'FLAG' interrupt and read the status of the 'FLAG'
    pin directly?  The 'PC' output looks like it takes care of itself.

Thanks in advance for any help, and to all those who have made this group
such a valuable resource for AMIGA users.


-- 
        Gord Delaney - UNISYS (SPERRY) Calgary, Alberta, Canada

        UUCP:  ...ihnp4!alberta!calgary!spycal!gord
.

grr@cbmvax.cbm.UUCP (George Robbins) (04/25/87)

In article <157@spycal.UUCP> gord@spycal.UUCP (Gord Delaney) writes:
>I am attempting to connect my AMIGA to another system (an 8085/88 S100)
>via the parallel port.  After building a bi-directional parallel port
>for the S100 (from a 8255), and getting some software running on both
>sides, I have finally managed to transfer data without error in both
>directions.
>
>
>Now, to my questions:
>  - Does anyone know of a way to speed up the "par.device" driver?
>  - Is there a way that I can access the 8520 directly AND still be a
>    "well behaved task"?

	At a lower level there are various "resources" that you can reserve
	and then pound directly on the chip to you heart's content, knowing
	that other "well-behaved" tasks will be prevented from interfering
	with yo.

>                        In my hardware manual (the original CBM version),
>    in appendix E (or maybe F), a description of the 8520 is given.
>    However, very little is mentioned about the 'FLAG' and 'PC' pins.
>    Can I disable the 'FLAG' interrupt and read the status of the 'FLAG'
>    pin directly?  The 'PC' output looks like it takes care of itself.

	You should be able to do something along this line.  Of course it
	is a tradeoff - the more time you spend in buzz-loops to obtain
	the highest transfer rates, the less time available for multi-
	tasking activities...

	The I/O port and interrupt structure of the 8520 is essentially
	the same as that of the 6526 used in the C64 and C128.  Try finding
	and old MOS Technology Databook or a good C64 hardware book for
	better descriptions that the Amiga hardware manual appendix.
-- 
George Robbins - now working for,	uucp: {ihnp4|seismo|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@seismo.css.GOV
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)