🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.networking
Article #146

Re: Let's create a fast serial port

#146
From: Rask Lambertsen
Date: Tue, 28 Nov 1995 13:12
65 lines
3719 bytes
On Thu, 23 Nov 1995 19:59:17 CET Marc 'Nepomuk' Heuler (marc@aargh.incubus.sub.org) wrote:
> In article <48pko1$63g@unidhp.uni-c.dk>, Rask Lambertsen writes:

> > I think it is a good idea to use the floppy port, but it is not easy:
> > 
> > Start and stop bits.

> A byte can begin anytime (indicated by the start bit).  To stay in sync
> with the sender, our expansion has to be handle them in hardware.

> > Unknown DMA lengths (how do we know how much to transfer?)

> The expansion could send a length information in front of the data.  The
> computer could always read a fixed length buffer, and afterwards discard
> unwanted data.

> The hardware fifo buffer must have a certain size.  A DD floppy drive reads
> about  12K/sec,  one  track  holds about 6K of data.  One can safely assume

Closer to 25 kB/sec (after decoding). Remember that the transfer rate
between the drive and the controller is 500000 bits/s. Due to MFM encoding,
half of that, 250000 bits/sec, is data. On a DD floppy, one track contains
5.5 kB of data, 11 kB on a HD floppy.

> that  normal  floppy  drive operation blocks the DMA channel for reading AT
> LEAST  one  track in one go.  This means our hardware fifo buffer must hold
> minimum 0.5sec of serial data, or 1 sec if HD drives are installed.

You can only DMA one track at a time. No more is possible.
The buffer must hold 11*8*1024/250000 seconds of data.

> At  115,200bps  this  requires  5,760 bytes (11,520 for HD) of fifo buffer!
> Assuming  there's  an  OS  legal  way to split up multitrack (or -diskside)
> floppy drive operations - which I didn't verify.

Again, you can't DMA more than one track at a time, but question that
remains is how to grab the DMA channel before trackdisk.device starts
DMA'ing the next track.

> Unfortunatly, on low-end computers floppy and serial operations always
> appear simultanously (downloading a file to disk).

Yes, unfortunately, that is the *big* problem.

> Possibly our device, can talk to the computer by the INDEX (FLAG) signal to
> inform  it  about  incoming  data.  It causes an CIA-B interrupt.  I didn't
> check  however,  whether we can share it with trackdisk.device, and whether
> it  is active all the time (maybe AND'ed with SELx?).  Otherwise the driver
> software  would have to read the hardware buffer regularily in certain time
> intervals - slowing down floppy drive operation.

It should be possible to share that interrupt with trackdisk.device.

> Less complex, it think, is my first proposal:  plug the hardware into the
> internal serial/parallel port, and decouple the bps rate.

Yes, but that won't give high transfer rates, which is what is needed.

--
Regards,

/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\
| Rask Ingemann Lambertsen       | E-mail: gc948374@gbar.dtu.dk           |
| Amiga GNU CC README maintainer | WWW: http://www.gbar.dtu.dk/~gc948374/ |
| Keyboard error: <Ctrl> and <Alt> are stuck - press <Del> to continue    |
Technical Details
Message-ID: <49f1sq$t1o@unidhp.uni-c.dk>
Path: arc1-ca.pugleaf.net!lillep.gbar.dtu.dk!gc948374
References: <486ur1$hpk@unidhp.uni-c.dk> <stoDx*s7a@aargh.incubus.sub.org> <48luuq$7di@harpo.uccs.edu> <le9Gx*q8a@aargh.incubus.sub.org>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!lillep.gbar.dtu.dk!gc948374
From: gc948374@lillep.gbar.dtu.dk (Rask Lambertsen)
Newsgroups: comp.sys.amiga.networking,comp.sys.amiga.datacomm,comp.sys.amiga.hardware,comp.sys.amiga.programmer
Subject: Re: Let's create a fast serial port
Followup-To: comp.sys.amiga.networking,comp.sys.amiga.datacomm,comp.sys.amiga.hardware,comp.sys.amiga.programmer
Date: 28 Nov 1995 13:12:58 GMT
Organization: DTU
Message-ID: <49f1sq$t1o@unidhp.uni-c.dk>
References: <486ur1$hpk@unidhp.uni-c.dk> <stoDx*s7a@aargh.incubus.sub.org> <48luuq$7di@harpo.uccs.edu> <le9Gx*q8a@aargh.incubus.sub.org>
NNTP-Posting-Host: lillep.gbar.dtu.dk
X-Newsreader: TIN [version 1.2 PL1]