Date : Wed, 26 Nov 1980005:18:00-MST
From : Frank J. Wancho <FJW at MIT-MC>
Subject: [W8SDZ: BDOS PROBLEM]
Date: 11/26/80 06:34:05
From: W8SDZ
Frank, the problem is caused by mixing direct console input with BDOS
console output. CP/M tests for console input during all BDOS console
outputs to allow CTL-S and CTL-C pause and abort. In the process of
doing this, it cancels any pending keyboard character. The solution
is to use direct console output to print your messages.
Further re CP/M's printing via BDOS - when it sees a character
typed, it sets a reminder byte inside CP/M itself which says that the
console status is true, and attempts to fetch that character without
first doing another status test. Because you have already fetched the
character in your loop, there is none, and it just sits there waiting
for the next one.