[comp.sys.apple] Apple Technical note 13 GS modem port bug

delaney@wnre.aecl.CDN.UUCP (06/11/87)

Recently a number of have been having problems with sending data to the GS
Modem Port here is a apple technical note which I hope will help some of you
look for another note on the super serial card to follow!


 Apple IIGS Technical Note #13:  ROM 1.0 Modem Firmware Bug
 Written by:      Mike Askins  April 2, 1987
________________________________________________________________________
 This technical note describes an Apple IIGS ROM 1.0 modem port anomaly 
 and workaround.
 ________________________________________________________________________
 Problem
 The serial firmware in Apple IIGS ROM 1.0 has a problem with a modem 
 port that has buffering enabled.  If an application sends the BAUD rate 
 (^AnB), data format (^AnD), or parity (^AnP) commands through the 
 serial flow, interrupts are disabled inadvertently.  On the third READ 
 from the port the firmware will hang, waiting for a receive interrupt 
 which will never occur, locking up the system.
 Fix
 Forcing Buffering Programmatically 
 If you want buffering (or don't care), send the buffering enable 
 command (^ABE) after the last BAUD, data format, or parity command.  If 
 you don't want buffering, disable it with ^ABD; otherwise it could be 
 set to ON in the Control Panel and you could run into the bug.
 Letting the User Control Buffering
 If you want the user to be able to control whether buffering is or is 
 not used from the control panel, use the GetModeBits command in the 
E extended interface to determine whether buffering has been selected.  
 (Do this call only after the PINIT call, of course.)  If buffering is 
 enabled, do the ^ABE after the last BAUD, data format, or parity 
 command.  If it's disabled, no special treatment is required.