Date : Fri, 02 Mar 1984 07:03:00-EST
From : Jerry E. Pournelle <POURNE@mit-mc>
Subject: Kaypro BIOS list bug
Tyler Sperry, editor of ProFiles, was over this afternoon
delivering the 1984 model Kaypro IV. Have you sent your
information to Profiles? If not, please do, and you can mention
my name if you want to be certain of getting attention although
in fact they will read it about the same without. Good
information; they'd probably change th ROM if they knew.
Jerry Pournelle
Tyler Sperry
ProFiles
533 Stevens Ave
Solana Beach CA 92075 619-481-4353
Date: Thu, 19 Jan 84 9:45:29 EST
From: Keith Petersen <w8sdz at brl>
To: Info-Cpm at brl-vgr
Re: Kaypro BIOS list bug
The following is forwarded from CompuServe, courtesy Irv Hoff.
---
#: 74332 Sec. 1 - General
Sb: #Kaypro Mystery Solved
18-Jan-84 01:54:26
Fm: JACK CRENSHAW 72325,1327
To: All
Some time ago I reported a problem with the MDM711/Kaypro/Epson combina-
tion, in that the ^P print buffer dropped characters. Periodically, the
subject has come up again, with Irv Hoff and Pete Holsberg trying hardest
to help me solve the problem. I finally got around to looking at the
Kaypro BIOS, and as Pete suspected, there's a bug. The offending piece
of code is in the ROM, and goes:
LISTST: IN 1CH ;GET SYSTEM PORT
BIT 3,A ;TEST PRINTER READY BIT
RZ ;THIS IS THE BUG
MVI A, 0FFH ;ELSE RETURN FF
RET
Note that if the bit 3 is zero, the routine returns garbage in A. The
garbage is whatever is in port 1CH, which includes output as well as
input bits. However, the zero FLAG is set properly, which is why BIOS
function 4 (LIST) works OK. Ironically, if the programmer had used the
usual ANI insruction instead of the Z-80 fancy bit test, he would have
saved two bytes as well as get the right response. The bug is in the
ROM, so can't be easily fixed. The patch is easy, though - Change the
jump vector in the BIOS to: JMP PATCH and add:
PATCH: CALL 0FB65H ;call old bios entry
RNZ ;OK unless its zero
XRA A ;else clear A
RET ;that's all, folks
- Jack Crenshaw