Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!ames!ptsfa!ihnp4!ihwpt!knudsen From: knudsen@ihwpt.UUCP Newsgroups: comp.sys.m6809 Subject: Re: CoCo3 OS-9 Level II Message-ID: <1736@ihwpt.ATT.COM> Date: Wed, 10-Jun-87 19:02:43 EDT Article-I.D.: ihwpt.1736 Posted: Wed Jun 10 19:02:43 1987 Date-Received: Sat, 13-Jun-87 05:25:27 EDT References: <1851@lsuc.UUCP> Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 55 Summary: SS.Mouse help -- needs SS.GIP In article <1851@lsuc.UUCP>, jimomura@lsuc.UUCP (Jim Omura) writes: > I've been trying to read the "keyboard mouse" using GetStt / SS.Mouse > and I can't get anything useful out of it. I'm not sure what "path" > to use (looks like path 0 should be right, but nothing in the docs > makes it clear) and I don't know whether there's something you have to > do to make the "auto-select" (Register Y=0) function. > Has anybody used this yet? Hi Jim. Thought I had posted something to the effect that I had the HiRes mouse goodies working (and had found some bugs and/or discrepancies between the manual and reality, so what else is new eh?) Path 0 is what I use, tho 1 probably works just as well. Someone told me that Paths 0 thru 2 are all just DUPes of one read/write path to /W anyway. I always thought that BASIC09 docs were very sloppy about the std IO paths, compared to C docs. (I assume you're testing this stuff in B09 for ease of debugging before going to C or assembumbler.) You didn't mention SS.Gip, so maybe you're omitting the crucial setup call you do just once to turn on the hi-res system. Look that one up in the manual. It is this GIP call that determines whether the mouse is read hi or lo res and on which of the two joystick port holes. GIP also controls keyboard auto-repeat (whew! hooray!). The auto-port-select stuff has not worked for me; in fact the SS.Mouse calls just ignore whatever you put in the one register about resolution and port. Somoene hinted that if you called SS.GIP twice and started the mouse on BOTH ports (sides), the auto-select would work. I say to hell with it. No less than Steve Bjork (6809er on DELPHI) thinks that only the right port works on it anyway, but I *think* I had it going on the left side too. I'm now looking for the best way to turn the hires mouse OFF while doing other things (like screen refresh); it eats a lot of realtime since the interrupts are blocked while timing the sawtooth. Hackers have estimated close to a whole clock period (1/60 sec) goes down the drain each time the mouse is scanned. When you get it working, ask me for the quick & dirty way to put hysteresis/backlash in the mouse so your cursor doesn't quiver around on the screen. And of course ask for any other details. BTW, I assume you know about the two undocumented bytes in the SS.Mouse data structure just ahead of Pt.ToTM (or is it just after?...) Anyway, imagine two extra bytes between Pt.Valid and the stuff you *use* like Pt.AcX. Only 4 of those two dozen fields are relevant at this stage in our evolution. Finally, once working, try hitting CTRL-CLEAR to enable the arrow-keys "mouse" (another CTRL-CLEAR toggles it back to the real mouse). This is a very neat feature of Coco-L2, allows precise alignments and measurements of pixels, and costs NO hardware at all. BTW, both this and the HiRes adaptor driver could be retrofitted into Level 1 for old Cocos -- no Coco 3 hardware is involved. -- Mike J Knudsen ...ihnp4!ihwpt!knudsen Bell Labs(AT&T) Delphi: RAGTIMER CIS: "Just say NO to MS-DOS!"