[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: virtual serial drive, so how is serial port settings negotiated



On Monday, September 24, 2012 8:05:28 AM UTC-5, schmidtd wrote:
> On 9/24/2012 12:49 AM, Kevin wrote:
> 
> > poking around the new adt vsdrive client I dont see how serial ports are negoiated, though I claim to be c-tarded I an really lost on how this occurs ...
> 
> >
> 
> > as I am somewhat near having a stand alone box that slaps on the back of my //c to act as a serial drive host I seem to be stumped at the basics of communication
> 
> 
> 
> The virtual serial drive has the same communications backend as ADTPro, 
> 
> so it's more of a library that can talk to all sorts of serial hardware. 
> 
>   But where the rubber meets the road on a //c is in this file:
> 
> 
> 
> http://adtpro.cvs.sourceforge.net/viewvc/adtpro/adtpro/client/src/prodos/serial/ssc.asm?revision=1.5&view=markup
> 
> 
> 
> INITSSC is the routine that sets the communications parms for the ASIC 
> 
> chip.  It depends on a few things being set up beforehand:
> 
> 
> 
> PSPEED - a value corresponding to speed settings:
> 
> 0 = 300, 1 = 9600, 2 = 19200, 3 = 115200
> 
> 
> 
> BPSCTRL - a table that PSPEED selects from:
> 
> $16,$1E,$1F,$10	; 300, 9600, 19200, 115200
> 
> 
> 
> The settings about parity, bits, etc. are standard.
> 
> 
> 
> The rest of the routine does some self-modification to other parts of 
> 
> the code so decisions don't have to be made at runtime as to which 
> 
> serial device is to be used.  You probably don't need to worry about 
> 
> that (yet, at least).

what happens if you get a bad checksum? is there a command sent to the apple to resend the request, or does it just halt?