[Coco] Webpage Update - Hires Mouse

Bill Pierce ooogalapasooo at aol.com
Thu Oct 29 12:50:37 EDT 2015


Thanks John, that's about what I had determined in looking at the code and comparing it to the existing OS9 driver.
I think the addition could be added fairly easy, I'm just not sure in what module the code would be found to activate it.
I know it's done through the SetStat function, but I don't know which module handles this particular function to activate the hires or normal mouse modes. In this code is where the addition would have to be to add the new option.
To change modes, you copy the mouse packet to user memory with a getstat call, change the Pt.Res value, then use setstat to return it to system. From that point, all mouse reads will use that flag to determine which mode to use.
The joyport drive is easily changed to redirect the program flow to the new mode as after it inits the ports, it check Pt.Res and jumps to the proper code based on the value there, but I'm sure there's a failsafe where ever that setstat falls to eliminate invalid values.. that's where the new value for the new mode would be added. If not, then it's even easier :-)
You just add another conditional branch at the point it branches to lores or hires.

 

 


Bill Pierce
"Charlie stole the handle, and the train it won't stop going, no way to slow down!" - Ian Anderson - Jethro Tull

 

My Music from the Tandy/Radio Shack Color Computer 2 & 3
https://sites.google.com/site/dabarnstudio/
Co-Contributor, Co-Editor for CocoPedia
http://www.cocopedia.com/wiki/index.php/Main_Page
Global Moderator for TRS-80/Tandy Color Computer Forums
http://www.tandycoco.com/forum/

E-Mail: ooogalapasooo at aol.com


 

 

-----Original Message-----
From: John Kowalski <sockmaster at gmail.com>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Sent: Thu, Oct 29, 2015 12:16 pm
Subject: Re: [Coco] Webpage Update - Hires Mouse


Re: Interrupts.

The solution is probably very simple.
The timing-sensitive
portions of the scanning are only a few CPU
cycles long.   Interrupts may simply
be masked for those 10 or
whatever cycles and re-enabled at all other times
in-between those
points.   That way all interrupts will still be processed, only
that
they may be delayed by a few CPU cycles.

As for 6309-Native VS 6809... 
The reason the first 'extended scan' is
4 cycles is because that's the fastest
the 6809 could manage.   For
compatibility, the code could simply be written to
stay 4 cycles
regardless of native 6309 operation or 6809 operation...

Or...
Somewhere down the line, a 6309 specific version may be made to
take advantage
of it's potential to pull off a 3 cycle scan time,
which would improve the
joystick resolution and linearity even
further.   It's just that someone would
have to work out the
mathematical values of 3 cycle scans and incorporate them
into the
calculation.



 


More information about the Coco mailing list