[Coco] Arduino as a Mouse/Keyboard interface?

Steve Bjork 6809er at srbsoftware.com
Tue Jul 3 09:21:43 EDT 2012

After looking over the timing docs, it on the rise of the Q clock and 
earlier in the timing.  What makes it worst, it is read on the second to 
the last cycle and before the data is stored on the PIA.

So, the idea of using the Halt will not work.

I've been also think of a way of using a single port ram as dual port.

Keep the address control connected to the CoCo's PIA and only switch the 
control over to the microcontroller when it need to update the data.  
This would be a problem if there was an update hitting the RAM at the 
same time as the PIA needed the ram for the Keyboard data. A flag could 
tell the microcontroller the update was unsuccessful because the Ram was 
in use.  Then it would be up to the microcontroller to take care of this 
timing problem by writing the data again.

I found a RAM chip with two port control (not a true dual port) that 
would make the logic easy.  The CY7C130 would take the control and data 
lines from the CoCo's PIA to control one "port" and the microcontroller 
on the other.  The chip create a "busy" flag when both sides are 
accessing the same RAM location as the same time.  (This is your 
unsuccessful write flag.)


On 7/2/2012 7:29 PM, Darren A wrote:
> On Mon, Jul 2, 2012 at 6:35 PM, Steve Bjork wrote:
>> Another way is to halt the 6809 when the column output lines changes.  Just
>> use compare logic to halt the 6809 and tell the microcontroler to update the
>> data on the 8 bits of the row lines feeding into the other PIA.
> That would likely create problems when executing an instruction
> sequence such as:
> The HALT signal would not be asserted until after E goes high in the
> last cycle of the STB instruction.  I'm pretty sure that means the CPU
> would not actually halt until after execution of the LDA instruction
> (doesn't meet the required setup time).
> Darren
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco

More information about the Coco mailing list