bentson@csu-cs.UUCP (07/06/83)
We have discovered a problem in the code distributed by Berkeley while trying to bring up the parallel part of a DMF-11 to be used for a Versatek printer. The DMF keeps four mode bits in the high nibble to describe the mode of operation and the interrupt vector base address in the low byte of a word sized control register. This nibble is loaded within the DMF at power-up time. It can be changed later under program control. The problem is that when dmfprobe() loads the interrupt vector base address into the dmf it clobbers the mode bits. This could have been done as a byte move, but as it is done as a word move the high bits of the control register are loaded as zeros. Thus the effect of the Berkeley code is to load a zero in this nibble. The DMF appears to reject this zero value and puts some default value in this nibble. We changed the pattern that is written into the whole word to reinterate the proper value in the high nibble and things are now working properly in the driver changes we've made. We'll be sending this driver stuff back to Berkeley and will post to the net if it doesn't make the 4.2 release. The polishing of this code will be done when we get the rest of the DMF documentation from DEC. Questions may be directed to me or Mike Vevea (csu-cs!vevea 303/491-5642). Randy Bentson csu-cs!bentson Colo State U - Comp Sci 303/491-7016