View Single Post
Old 15 December 2012, 17:33   #17
bobingabout
Registered User
 
Join Date: Aug 2012
Location: England
Posts: 41
Quote:
Originally Posted by Hewitson View Post
This is a very nice mod. I really think you should file the part of the shield that you've cut though, that looks razor sharp.
Yes, I agree completely, Last time I went in there I shredded my thumb on it.

Anyway, I came here today to show you guys what i've been working on most recently.

warning: 1.24MB per file:
Photo of Mouse controler v1.7 Prototype, and 3 of USB Controller plug in module to the left.
Photo of the v1.7 prototype with a USBCON module plugged in.

Note: There are only sockets on this because it is a prototype. The final product will have the PIC soldered in, and either a USBCON board soldered in, or holes for the possibly to add one in the future.

On the rear you have a PS2 port wired to the PIC for PS2 mice. A USB port wired to the USBCON Module pins, with jumpers to also wire it to the PIC's pins for PS2. note: Don't have both the jumpers and USBCON module installed simultaniously. A reset button, and 3 "Piano key" DIL switchs for the mouse speed divider.

other things to note on the board are the Jumper links, already mentioned, the socket/holes for the USBCON board, already mentioned, and 2 10pin headders. These are connected in parallel to the PIC chip's B port, and serve as a Joystick in and Mouse out connector. They're both Identicle, doesn't matter which you connect to the Amiga, or to the DB9M connector on the Amiga.

As it stands, Software is up to version 1.7.2. There was a problem with v1.7 with the reset button not resetting the mouse, causing it to stop working basicly, because the PIC was expecting initialisation codes, while the mouse was already in Data streaming mode. I fixed this by making the PIC send a Reset code after several failed authentication codes, so, after a reset you'll need to wiggle the mouse for it to start working again.

It will not hoever auto-fix itself if you unplug the mouse while it is powered on, and either plug it back in or plug in another one, Since the PIC will be in the "I am receaving data" mode, the only exception to this is if you manage to unplug it mid-stream, where it will cause the start bit of a byte to be the wrong value when it tries to resume with the new mouse, causing it to send a reset code. which is actually more robust than what you have on the PC if you hotswap PS2 divices. So... if you unplug a PS2 mouse, reset the board.


I am currently in the process of learning how to interface with USB to add true USB mouse compatability. Even with a USB controller on there, it is more difficult than I originally imagined. Although I have the PIC talking to the MAX3421E on the USBCON board, I have yet to get the MAX3421E to actually talk to anything on the USB port.

The down side to this version is that it'll completely fill the expansion bay, meaning no Intravission compatability. however, as long as you either solder in the 10 pin headder on early amiga 1200s that don't have one, or remove the right angle one on those that do, and replace it with a stright one (which in this case would require a new DB9M connector for Joystick in), this will actually be compatable with ALL A1200 models.


One problem that I did run into is that while the PIC16F84a can and will pull down the PotX and PotY lines for right and middle mouse bottons, the new PIC16F883 I am using cannot. I noticed that it will eventually register a RMB press if you hold the button down for about 5 seconds. This apears to be caused by the fact that a 16F84 is TTL, where the 16F883 is CMOS, the main difference being that TTL can pass more current to discharge the Capacitor in the RC debouncing circuit in the Amiga, where CMOS cannot. A sugested solution, which would be an easy fix because it doesn't require any extra components would be to simply use more than 1 pin on the PIC chip for these 2 pins. Another possible solution would be to use an NPN transistor to pull it to ground instead, though that'd require a base resistor too, and I would have a difficult time finding the space to squeeze it in, so for now I've gone with the 3 pin aproach.


Thoughts?
bobingabout is offline  
 
Page generated in 0.04346 seconds with 11 queries