ADTPro / adtpro

Apple Disk Transfer ProDOS (ADTPro)
http://adtpro.com
GNU General Public License v2.0
133 stars 19 forks source link

Question: hardware handshaking #42

Closed handyandy802 closed 6 years ago

handyandy802 commented 6 years ago

Is there a reason hardware handshaking is not used?

david-schmidt commented 6 years ago

Not a good one! What have you got in mind?

handyandy802 commented 6 years ago

Hi David, Back in the day I used hardware handshaking cable with Proterm and modems over voice phone lines without issues on a Laser128ex or null modem cables between computers for file transfers up to 19.2k bps. I'm wondering if hardware handshaking isn't necessary anymore. Is it redundant to use rts/cts or dtr/dts? Is it a cycle-saving feature? What's the bad reason?

david-schmidt commented 6 years ago

One (bad) reason is history. HW handshaking has never been used in any of the projects ADTPro descended from, so it's not been seen as a priority.

One (good) reason is that each type of device implements hardware handshaking differently - or not at all well. The SSC is diffferent from the IIc is different from the Laser 128 family is different from the SCC. It's another layer to manage for no useful gain.

handyandy802 commented 6 years ago

Hi David, From what I gather ADTPro runs in a polling mode.  I'm wondering if HW handshaking (other than IRQ) is even necessary.  Reason I'm asking is that I'm working on another project and considering using just IRQs for serial port handshaking and not even bothering with dsr/dtr or cts/rts.  My feeling is that the extra handshaking is a holdover from voice line modems.  My understanding is that all serial ports either on send register empty or receive register full there's an IRQ.  Check status register and go...

Cheers!Andy From: David Schmidt notifications@github.com To: ADTPro/adtpro adtpro@noreply.github.com Cc: handyandy802 handyandy802@yahoo.com; Author author@noreply.github.com Sent: Sunday, August 19, 2018 12:09 PM Subject: Re: [ADTPro/adtpro] Question: hardware handshaking (#42)

One (bad) reason is history. HW handshaking has never been used in any of the projects ADTPro descended from, so it's not been seen as a priority.One (good) reason is that each type of device implements hardware handshaking differently - or not at all well. The SSC is diffferent from the IIc is different from the Laser 128 family is different from the SCC. It's another layer to manage for no useful gain.— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

david-schmidt commented 6 years ago

Right, it is totally polling. There's no IRQ servicing at all. It's all based on register registering availability, and servicing in a loop fast enough to not miss a character. The protocol itself basically dictates half-duplex communications, so polling works well.

handyandy802 commented 6 years ago

Thanks David, You've satisfied my curiousity.  I am a bit old-school when it comes to tele-communication when back in the day everyone was experimenting with 6551 interfacing (late 80s-early 90s). Cheers!Andy From: David Schmidt notifications@github.com To: ADTPro/adtpro adtpro@noreply.github.com Cc: handyandy802 handyandy802@yahoo.com; Author author@noreply.github.com Sent: Wednesday, August 22, 2018 4:35 PM Subject: Re: [ADTPro/adtpro] Question: hardware handshaking (#42)

Right, it is totally polling. There's no IRQ servicing at all. It's all based on register registering availability, and servicing in a loop fast enough to not miss a character. The protocol itself basically dictates half-duplex communications, so polling works well.— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.