Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!apple!agate!ucbvax!ll.mit.edu!sage From: sage@ll.mit.edu (Jay Sage) Newsgroups: comp.os.cpm Subject: BIOS Problems with Zilog Registers Message-ID: <9104261028.AA09385@LL.MIT.EDU> Date: 26 Apr 91 14:28:53 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 25 A short while ago there was some heated discussion about problems with UNCRLZH on an Amstrad computer that may have been the result of failure of the BIOS to preserve the Z80 alternate and/or index registers. This is a suprisingly common problem. My Televideo 803 has the problem, and so does the Epson QX10. We became aware of how many machines were afflicted when we started selling the ZDOS (ZSDOS and ZDDOS) BDOS replacements, which make extensive use of the extra registers. The manifestations of the problem are often subtle enough that one does not immediately realize that something drastic is actually going wrong. For those running the NZCOM version of Z-System, the fix is quite easy. We provide an extended version of the NZCOM virtual BIOS that preserves whatever registers the BIOS trashes. Since loading that, my Televideo has been working just fine. I was not aware of the problem with the Amstrad (I have a PCW-8512, though perhaps it is only the CPC machines that have the problem). Unfortunately, the fix there is not so easy. The Z3PLUS version of Z-System does not have a virtual BIOS, and the fix would probably require a full RSX, with all its overhead. Some experiments with a debugger might reveal exactly which BIOS calls are trashing the registers, and then perhaps a patch could be squeezed into the BIOS. -- Jay Sage