[Coco] YAS (Yet Another Survey)

Gene Heskett gheskett at wdtv.com
Sun Nov 4 11:27:17 EST 2012


On Sunday 04 November 2012 10:54:54 Gary Becker did opine:

> >Back in 2008, I rewrote to make it work with a more modern version of
> >nitros9, my serial mouse driver, which has worked until the repo's
> >conversion to mercurial and it then started hanging the boot.  No clue
> >why as the source was byte for byte identical between the cvs pull and
> >the mercurial pull.
> 
> Gene
> 
> Are you sure it worked with versions of NitrOS-9 before the mercurial
> conversion? I saw the issue with the mouse driver hanging at boot time
> in July 2011. I asked a similar question at that time and you were the
> only one that replied. You had already sent me your new mouse driver
> and it also hung at boot. I am still running NitrOS-9 3.2.8 because of
> this issue.
> 
> Gary Becker
> 
Admittedly, I was stumbling in the dark as to what the 6551 does exactly,  
the docs on that chiup are in my mind, legendarily famous for what they 
DON'T tell, its buggier than a 10 day old road kill carcass, and that 
driver probably didn't do it exactly.  However, it did work yet with a cvs 
pull I did about 6 weeks or less back up the log.  It does need configured 
for the port address of YOUR mouse however by changing the M$Mem value to 
the correct base address in your machine. It likely will fail if this isn't 
done to match your hdwe's addr.

What happened to it with the conversion to mercurial I still have not been 
able to define, but I have a new version now that does work here on the 
real hdwe.

I can PM that to you if you'd like.  Tain't yet "Purty" but it works on the 
real hdwe and is right this instant.

I changed my approach to the mouses initial powerup output, where before I 
was looking for and reporting on the boot screen if DEBUG=1 had been 
defined, all the output it gave as a signon message.  My mouse was sending 
$7F (I assume to confirm its a 7n1 mouse), "M3" presumably to say its M$ 
compat, and 3 buttons.  Because that may change with someone else's mouse 
(and I assume that signon message told the PC's drivers what sort of a 
mouse it had to deal with) I now allow enough time for that data to go by 
with the 6551's rx IRQ disabled, then read it to clear those errors after 
the IRQsvc has been registered, and then enable the RxIRQ in the 6551.  At 
the point it assumes the mouse is an M$ mouse, and except for the MMB 
(third button) handling, they are identical, so I use the detection of a 
mouse packet with a 4th byte as the trigger to change this drivers behavior 
to match the logitech mice until the next reboot resets that.

I believe if I get that trash throwaway time correct, that a single delay 
for that will allow the driver to shrink by $10 bytes or more, which is why 
I won't claim it's "purty" yet. :)

But, make the hdwe addr fit your hardware and see if that works first.  You 
can do that with ded. Its possible that because your emulator is faster, 
time delays in that driver are grossly wrong. I don't have your emulator to 
test it on.

Cheers Gary, Gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page: <http://coyoteden.dyndns-free.com:85/gene> is up!
Are you selling NYLON OIL WELLS??  If so, we can use TWO DOZEN!!



More information about the Coco mailing list