A better PlayStation mouse?

Includes but not limited to: SNES, Genesis, Sega CD, PlayStation 1, Nintendo 64, Dreamcast, Game Gear and I guess the Virtual Boy.

Moderator: Moderators

Post Reply
khmr33
Posts: 2
Joined: Tue Mar 08, 2011 9:27 pm

A better PlayStation mouse?

Post by khmr33 »

I was showcasing some games at a classic games convention this weekend including Policenauts. There were some people interested in the game and I told them they can get fairly cheap on eBay yadda, yadda...

My problem in playing Policenauts and especially showcasing Policenauts is that the only mouse I have is the PS1 Interact mouse, which is even worse than the MadCatz version. (I tried one when I did my first playthrough.)

Now, I imagine that the official Sony PlayStation mouse is better than both of these... but it's still a ball mouse right?

Rather than spend the money,($30+ not including shipping) I thought it would be cool to try and "padhack" the Interact pcb into a basic optical mouse. Even though mouse detection methods are different, I imagine the data they send a PC is pretty much the same. If I can route the data from an optical mouse into the chip from the Interact board that translates the basic info into PlayStation data then I might have something.

If it's just a matter of wiring and soldering, I can basically do it for free. If it starts looking unreasonable, I might just buy the Sony mouse.

I've tried looking around the webs, but can't seem to find any conclusive info. Maybe no one's ever tried it or thought of it. I can post pictures of the PS1 mouse internals and a candidate mouse as well tomorrow if it will help.

If anyone has any ideas, please let me know.

Thanks
Snow_Cat
Posts: 463
Joined: Fri Aug 13, 2010 12:40 pm
Steam ID: Snow_Cat
Location: Here
Contact:

Re: A better PlayStation mouse?

Post by Snow_Cat »

How strong is your programming?

The PS1 serial protocol is well documented, as are PS/2 and USB. You could program a microcontroller to decode a PS/2 (or USB) mouse inputs, and output in PS1 protocol.

This would be easier than figuring out how to emulate the encoder (sensor) data an original (or aftermarket) mouse-ic/microcontroller is expecting, then decoding that data from a modern mouse, encoding it in the appropriate sensor format to be encoded by the original mouse-microcontroller, and figuring out where it falls apart.
Haunted360
Posts: 1000
Joined: Sat Jan 30, 2010 12:22 am
PSN Username: Haunted360
360 GamerTag: Haunted 360
Location: Australia
Contact:

Re: A better PlayStation mouse?

Post by Haunted360 »

Snow cat has it down.

I have a PS mouse, but I was thinking that you could open yours up and see the type of plug system or conversion there doing and try to change it to the red ball-less mouse.


Either way, it will be hard...
Snow_Cat
Posts: 463
Joined: Fri Aug 13, 2010 12:40 pm
Steam ID: Snow_Cat
Location: Here
Contact:

Re: A better PlayStation mouse?

Post by Snow_Cat »

A single Microcontroller with a serial in/serial out, possibly requiring a minimum of 9 wires (four to the mouse, five to the PSx) seems allot simpler than calibrating a CCD sensor, with 8-32 pins, conficuring a microcontroller (with 4 to 32 pins) to interpret the output of the this CCD sensor to Determine X/Y movement (aka Delta/Δ/Velocity) and output the necessary beat pattern the wheel encoder is expecting, and having to reprogram it as necessary to get a usable speed/sensitivity.

Hardware:
Microcontroler with Pseudo SPI capabilities (Low model # Playstations tend to read just before the actual clock transition, later models wait like they are supposed to.)

Software:
  1. Main loop, poll PS/2 (or USB) mouse and decodes packet to capture current status of
    • X movement
    • Y movement
    • Buttons
      • Left
      • Middle
      • Right
      • Wheel Up
      • Wheel Down
  2. Interrupt service routine, When PS1 requests mouse controller data reports last captured status of
    • X movement
    • Y movement
    • Buttons
      • Left
      • Right
Bonus: Additonal inputs can be used to adjust sensitivity on the fly by having the microcontroller multiply or divide the movement.

Here is the necessary information:
Post Reply