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)