!pr1
A "Gotcha!" in New //c ROMs.................Robert H. Bernard

Apple seems to have installed a bug in the new ROM for the Apple //c which affects DOS 3.3.  I am talking about the 3.5 ROM that supports Unidisk 3.5 and AppleTalk.

The new bug manifests itself when you use the control-IxxN command to either serial port.  The older //c ROMs accumulated the "xx" number in $47F; the new ones do it in $47E.  Location $47E is supposed to be dedicated to slot 6, the slot where the disk drives are.  DOS uses $47E to keep track of the current track position for drive 1.  So, after doing the serial port command to set line length, the next time DOS tries to look at drive 1 it will have to re-calibrate.

Re-calibration is not a disaster, but it is annoying.  A needless and not noiseless waste of time.  To avoid it with the new ROMs, you have to save and restore the contents of $47E around any serial port command that involves scanning a numeric field.

I have looked through the entire listing of the 3.5 ROM that came with my upgrade kit, and there does not appear to be any reason why this variable was moved.  Location $47F is not used for any new value that I can see.

Even though the Apple //c Technical Reference Manual reserves $47E for the firmware, and ProDOS doesn't use the cell, using a "slot 6" screen-hole for a slot 1 and 2 activity is a serious breach of the protocol for their use that dates back to the earliest Wozdays.  I know Apple is dropping (or at least decreasing) their support of DOS 3.3, but this is ridiculous!
