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.