Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!orsvax1!pyrnj!caip!topaz!uwvax!puff!kottke From: kottke@puff.UUCP (Richard J. Kottke) Newsgroups: net.micro.6809 Subject: Re: Request for os9 info Message-ID: <725@puff.UUCP> Date: Fri, 21-Mar-86 21:25:52 EST Article-I.D.: puff.725 Posted: Fri Mar 21 21:25:52 1986 Date-Received: Sun, 23-Mar-86 01:59:40 EST References: <8700004@hpvcla.UUCP> Organization: U of Wisconsin CS Dept Lines: 109 Summary: GetStat/SetStat secrets Attempted answers to Dave Lowe's very good questions: > What happens to os9 if it gets handed a character with the most significant > bit set? My input driver carefully strips the bit before passing the > character on. The keyboard I have has several special function keys and I > have thought I could flag these keys with the most significant bit. This is probably due to your input driver, as you have said; however os9 seems to be willing to send 8-bit characters wherever they need to go (as is the case with the disk drivers). A little bit of work with your terminal device driver should get the 8th. bit going. An alternate method would be to mess around with tmodes's "type" parameter, which is a little mysterious; my manual says that it is for setting parity, wordlength etc. but gives no further info. > My documentation gives precious little information about the register setup > on the entry into a driver's interrupt routine. Could someone enlighten me? > What is the purpose of the BITA #1 instructiS.Size SS.Pos SS.EOF SS.DStat SS.Joy SS.Reset SS.WTrk SS.Feed SS.Frz SS.SQD SS.DCmd I have added SS.DSiz because on the Color Computer, the display isn't always 80 columns by 24 lines; I encourage others to utilize this status call. About where to get at the passed parameters: they are pointed to by the PD.RGS area of the path descriptor. Upon entry to a GetStat or SetStat server, U points to the device static memory area, Y points to the PD and A holds the status code. To get X pointing to the register stack do this: LDX PD.RGS,Y X points to the old registers To change the stack or look at it, do this: LDA R$A,X A gets the old A EORA #$F1 Do something bizaare to A STA R$A,X Put it back If you were to write a SCFMan - type driver, you could include these status calls: SS.Opt SS.Ready SS.Reset SS.Feed SS.DevNm SS.DSiz If you need more info on these, just drop me an e-mail letter. -Richard Kottke kottke@puff.wisc.edu uwvax!puff!kottke