[fa.info-cpm] CCP Bug in User #

C70:info-cpm (07/22/82)

>From mknox@Utexas-11 Thu Jul 22 12:43:33 1982

Anyone got a fix/answer for what appears to be a bug in the USER # feature?

The test condition is:

   o Set user number to some non-zero value

   o TYPE a text file under that user number

   o Sometime during that typeout use the ^S to stop output

   o Now type ^C to abort to monitor 

You get the prompt back just fine, but you are now under USER 0.

Other things generate the same result.  If I run XSUB under SUBMIT (or
SUPERSUB) when it terminates I am still in the same user number.  But
the next thing I do returns me to user 0.

I have tried this on several machines, under CP/M 2.2 both with the
regular CCP and one I have modified somewhat, and with and without
the DR patch for ^S.

	Anyone else???			MKNOX at UTEXAS-11

-------

C70:info-cpm (07/23/82)

>From fylstra.tsca@Sri-Unix Thu Jul 22 20:24:55 1982
An apparently little known fact about CP/M is that ANYtime a
program is doing console output through the BDOS, the user can
interrupt the program and return to the CCP by typing ^S^C.
The ^S pauses the printout, at which time the BDOS listens for
the resume character.  If the user types anything except a ^C,
the program will continue; otherwise, the BDOS will perform
a warm boot by jumping to location zero.  This means that the
BDOS and CCP will be reloaded and thus reinitialized in their
entirety.  The CCP, of course, performs its console output
by calling location 5, just like any applications program.

I am trying to remember where the BDOS stores the current User
number.  I recall that it is stored in location 4 along with
the current drive.  The question is whether a warm boot causes
the BDOS to initialize the User number, or your BIOS is zeroing
location 4 as part of its warm boot.

Dave Fylstra