w8sdz%brl@sri-unix.UUCP (01/19/84)
From: Keith Petersen <w8sdz@brl> 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
POURNE%mit-mc@sri-unix.UUCP (03/02/84)
From: Jerry E. Pournelle <POURNE@mit-mc> 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