[Coco] Webpage Update - Hires Mouse

Gene Heskett gheskett at wdtv.com
Thu Oct 29 08:56:41 EDT 2015


On Thursday 29 October 2015 05:46:31 Arthur Flexser wrote:

> Seems like it might be possible to minimize the jitter that you'd get
> with interrupts not disabled.  Maybe test the current calculated value
> against the previous one and disregard it if it is too far off from
> what's expected, perhaps substituting an interpolation based on the
> previous couple of values.  I expect there are probably published
> algorithms available for minimizing mouse jitter.
>
> Art
>
The serial mouse has no jitter. None.  And all 3 buttons work if the data 
can be used by the app.
>
> On Thu, Oct 29, 2015 at 4:14 AM, Nick Marentes
> <nickma at optusnet.com.au>
>
> wrote:
> > The new mouse driver is certainly cycle-sensitive as Art stated.
> >
> > It samples the area between two DAC positions. The change from one
> > DAC position to the next happens very fast but we manage to obtain 5
> > samples during that transition period and another 5 in the opposite.
> > The minimum timing we obtain with a stock 6809 is 4 cycles from the
> > moment we set the second DAC point. Oversampling is timed to the
> > clock cycle and the routine needs full access during that time to
> > get the most accurate reads possible.
> >
> > So, interrupts do need to be turned off. It may work under Nitros9
> > without but you may get "mouse jiggle" due to the interrupts. That's
> > what interrupts do, they interrupt the current flow of processing.
> >
> > So turn off interrupt first and you should be fine.
> >
> > Oh, and the current code is designed for 6809 timings. Putting a
> > 6309 into the 6309 timings mode may add post processing errors
> > unless the sample weights are re-adjusted.
> >
> > The code presented is also not relocatable so it would need to be
> > modified to suit Nitros9's requirements. This is not impossible,
> > it's just that RS-DOS apps have fixed loading points normally.
> >
> > So, it's quite possible but as Art said, it will need a bit more
> > work to make it Nitros-9 friendly.
> >
> > Note also, that this routine, with all the post processing
> > happening, is faster than the hardware hires mouse driver method. It
> > too ideally wants the IRQ's off to obtains the most accurate results
> > to avoid "mouse jitter".
> >
> > Nick
> >
> > On 29/10/2015 2:27 PM, Arthur Flexser wrote:
> >> Bill, I think you might be underestimating the difficulty of
> >> adapting the new joystick routine to NOS9.  As I see it, the
> >> problem is not so much getting it to run under NOS9, which you seem
> >> to be focusing on.  The problem is doing so without affecting the
> >> accuracy of the joystick reading.  After reading Nick's description
> >> at
> >> http://www.members.optusnet.com.au/nickma/ProjectArchive/hires.html
> >> I have the impression that the coding is quite cycle-sensitive.  As
> >> I understand it, you need to get a reading exactly 4 cycles after
> >> you set a new DAC voltage value. To accomplish this, at the least,
> >> you'd need to disable interrupt servicing during joystick reading,
> >> which I hope doesn't mess up too much stuff going on in other
> >> processes, particularly with respect to communications.  (Note the
> >> ORCC #$50 as the first instruction of
> >> the source Nick has posted.)  Also, rewriting the code to make it
> >> position-independent may play havoc with critical cycle counts.
> >>
> >> I'm certainly no authority on NOS9, but it strikes me that there
> >> may be significant problems involved that you haven't considered.
> >>
> >> Art
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > https://pairlist5.pair.net/mailman/listinfo/coco


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>


More information about the Coco mailing list