VOGONS


First post, by scorp

User metadata
Rank Member
Rank
Member

Hello, just in case someone is interested. I dumped a DIY which I used for years now into a PCB and open sourced the solution. It is built around an Arduino, it is simple and dirt cheap. The software can be definitely improved and I know how, but I just didn't have time to implement it. Anyway it is in working and quite usable state, so have fun.

top.jpg

GitHub Project:
https://github.com/necroware/ps2-serial-mouse-adapter

Introduction video on my Youtube Channel:
https://youtu.be/ORccba_6Pfg

My Youtube channel Necroware

Reply 1 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

The devil's in the details with these things. There is another MCU based adapter that was shared on the forums here a while back. https://github.com/matze79/PS2-Adapter/

The physical interfacing is trivial of course, but they were never able to get the firmware exactly right. The main hurdles are getting higher baud rates to work across the full spectrum of retro OSes. (Windows 9x, NT, and DOS/3.1) Higher baud rates are needed to allow the device to work properly with KVM as well as provide a meaningful benefit over a genuine serial mouse.

Reply 2 of 28, by 1541

User metadata
Rank Member
Rank
Member

@scorp: thumbs up!

@maxtherabbit: most documentation is in German, but you'll find patched mouse drivers with higher baud rates in the directory https://github.com/matze79/PS2-Adapter/tree/m … %20v1.1/TREIBER

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾

Reply 3 of 28, by scorp

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2020-12-27, 16:06:

The devil's in the details with these things. There is another MCU based adapter that was shared on the forums here a while back. https://github.com/matze79/PS2-Adapter/

The physical interfacing is trivial of course, but they were never able to get the firmware exactly right. The main hurdles are getting higher baud rates to work across the full spectrum of retro OSes. (Windows 9x, NT, and DOS/3.1) Higher baud rates are needed to allow the device to work properly with KVM as well as provide a meaningful benefit over a genuine serial mouse.

I never aimed any benefit over a real serial mouse. I just don't have any serial mouse since a very long time and I just wanted to use my optical PS/2 (USB) mouse with my retro machines. No more, no less. I'm using it almost as I open sourced it since about three years. I tested this adapter only with some mice, which I have, with DOS, Linux and Windows9x. It works at 1200 baud and I have no clue, if it will work with KVM. I'm glad about any input, that's why I open sourced it eventually. All in all, this adapter is very cheap, very simple to solder (only through holes parts) and is based on Arduino, so everybody, who likes to tinker should be able to play around. This was my main aim.

My Youtube channel Necroware

Reply 4 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
1541 wrote on 2020-12-27, 19:47:

@scorp: thumbs up!

@maxtherabbit: most documentation is in German, but you'll find patched mouse drivers with higher baud rates in the directory https://github.com/matze79/PS2-Adapter/tree/m … %20v1.1/TREIBER

Which only work on DOS and 3.1, not 9x and NT. No offense 😀

Reply 5 of 28, by scorp

User metadata
Rank Member
Rank
Member

@maxtherabbit I think, you got it wrong. Both adapters, the one I introduced here and the one by Matze, were not made to give you any benefit over a normal serial mouse. If you have one, you can continue to use it, if you like. But what can people do, which do not have an old serial mouse? Or may be don't want to use it, because of the annoying ball mechanics? With this adapters you can use an optical mouse for example, or any PS/2 capable mouse, if you have no serial one. You know what I mean? The solution of Matze is more integrated, it is smaller and better tested, than what I made. My project on the other hand is more a DIY for the tinkerers among us 😀 But in the end, both adapters were tested and do work with DOS, Windows and Linux. I read about the problems with KVM delay, but first, not everybody uses KVM and second, it is a firmware issue, which can be improved relatively easily. I didn't look into the firmware of Matze's adapter, but I know how the timing can be drastically improved in my code. However, I would have to rewrite most of the code and I didn't find the time yet. Furthermore, I'm a software developer and I don't like dirty solutions, so I would like to think about a clean design and that needs time. Anyway, software can be easily updated afterwards and, just as I told, may be there are people out there, who would like to participate and improve the software too...

My Youtube channel Necroware

Reply 6 of 28, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I'm sorry if my post came off as entitled or ungrateful. I understand there is still a valid use case for these things, I just would love to see someone write some software for one that would realise its full potential

Reply 7 of 28, by scorp

User metadata
Rank Member
Rank
Member

It was not ungrateful, it just sounds, like you expect it to be something different, from what it actually is. Anyway, if you have a use case, where you need it to be improved, that's why it is open source 😀 It is extremely simple to write your own firmware or to improve the available one. If you know, how to use Arduino IDE, you officially ready to start. I guess, this is the reason, why people open source their projects. We all want to give something to the community and benefit from it as well. I published it here not to get kudos, but to give people an opportunity to participate.... so, you are welcome! 😉

My Youtube channel Necroware

Reply 8 of 28, by schlomoe99

User metadata
Rank Newbie
Rank
Newbie

Speaking of KVM, I’ve had success with using the Belkin OmniView SE 4 Port KVM Switch PS/2, which will convert any ps/2 mouse to a serial mouse port. This lets me use my Microsoft Intellimouse Optical, for instance, with my 486. I haven’t seen any noticeable lag, so this has worked very well for me.

They are dirt cheap on eBay right now. I picked up mine for $5, you just need appropriate VGA ps/2 and a serial cable.

Reply 9 of 28, by scorp

User metadata
Rank Member
Rank
Member

At least in Germany the named KVM Switches seem to be very expensive as far as I can see. Most of which I could find are located in USA and with delivery they cost 50-60€ plus taxes. If you don't really need a KVM, it doesn't make a lot of sense. The adapter, which I presented up there costs just couple of €. I mean the most expensive part is an Arduino Mini, which costs here 3.50€ and all the rest together about the same.

My Youtube channel Necroware

Reply 10 of 28, by Caluser2000

User metadata
Rank l33t
Rank
l33t

Good work. I'd imagine some folk would good use of it. Just ijnor the Debbie Downers life is too short...

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 11 of 28, by scorp

User metadata
Rank Member
Rank
Member
Caluser2000 wrote on 2020-12-28, 18:57:

Good work. I'd imagine some folk would good use of it. Just ijnor the Debbie Downers life is too short...

I hope so. At least if it was helpful for me for the last 3 years, I guess, there will be someone else who can find it useful as well 😀 Even if I can't make everybody happy with this thing....

My Youtube channel Necroware

Reply 12 of 28, by matze79

User metadata
Rank l33t
Rank
l33t
maxtherabbit wrote on 2020-12-27, 23:40:
1541 wrote on 2020-12-27, 19:47:

@scorp: thumbs up!

@maxtherabbit: most documentation is in German, but you'll find patched mouse drivers with higher baud rates in the directory https://github.com/matze79/PS2-Adapter/tree/m … %20v1.1/TREIBER

Which only work on DOS and 3.1, not 9x and NT. No offense 😀

Will also work with Linux, Solaris and other OSes.
And it would work with Windows 9x if you patch your Driver.

Also NT5 will run ReactOS Mouse Driver, you just have to get the source change baudrate and recompile it.
I ran it fine on ReactOS too 😉

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 14 of 28, by matze79

User metadata
Rank l33t
Rank
l33t

No one did yet,

PS/2 to Microsoft Serialmouse Adapter Converter / Updated First Post / Firmware Update added

i personally also had no need.
i don`t run Windows 9x on creepy slow machines without PS/2 Port.

It should also possible to run 3.x driver if added manually to the system ini files.
i did so for mouse systems mouse a few years ago.

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 15 of 28, by Pickle

User metadata
Rank Member
Rank
Member

hi scorp, i tried to build this with a arduino nano every on a breadboard. Im using a prebuilt max232 with the connector attached. It wasnt the exact same configuration so i used wires to connect the connector pins to the max232. Other than that the setup seemed the same as the schematic.
The max232 board has leds on the TX and RX. Im getting activity on the TX when i plug in the mouse. Im not getting consistent responses on the RX (RTS). On Pc its solid and another it off. The DTS connection is direct connect to the arduino (no led).
I just cant get ctmouse to see anything on either PC i tried. I tried setting different arguments, /M or /S13 or /S14.
Do you think the 5V line has enough current to power the max232 and mouse (i suspect not). Ive tried both ways with no difference. Im currently running of a 5v usb brick.
Ive tried multiple ps/2 mice.
One of the led's is turning off, so based on the code i suspect im getting through the init.

Im at a loss now why this hasnt worked yet. I suppose I could hook up my USB/TTL to the TX pin to see what output I get.
Any other suggestions?

Reply 16 of 28, by scorp

User metadata
Rank Member
Rank
Member

Hi Pickle. Any 5V USB power supply is definitely enough, the whole thing with max232, arduino and mouse doesn't take to much power. First of all, I would fire up the serial monitor in the Arduino IDE (or whatever you use) and see, if the initialization happens. Every time you start the driver (f.e. ctmouse), it toggles RTS pin and arduino gets reset. Then it goes through setup routine again and sends the initialization bits to the max232. You should see the related messages on the serial monitor. The code in my project is for Arduino Mini, you have to double check, that the pin IDs are right, when you use it with Nano. Double check the pin numbers in the beginning of the code and adapt them accordingly to your setup. So first step is to make sure, that RTS signal comes through to the Arduino. DTS is not really used in my solution, just ignore it. If you clearly can see that RTS comes through to Arduino and triggers a reset, then you can go back step by step from arduino back to max232 and see, if the signals are going in there. If you have logic analyzer, it can help to figure out the issues, but please don't connect it on the other side of max232. Between PC port and max232 you'll get up to +/- 12V, this will fry your logic analyzer. Probe your data only between PS/2 Mouse and max232.

My Youtube channel Necroware

Reply 17 of 28, by Deksor

User metadata
Rank l33t
Rank
l33t

I'm not super talented with Arduino but I may have some ideas to make a "low power" version of this which could work from the serial port's power.

Using some low level code, you can put the Arduino to sleep which can limit the power usage. Next you can also use just a bare chip (ATTiny ? Atmega ?) with nothing else. They have a internal oscillator which should be good enough for such usage (1-8mhz iirc).

With both combinated, you might be able to lower the consumption low enough to get the mouse working without an extra power ? ^^

I might try this someday ...

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 18 of 28, by scorp

User metadata
Rank Member
Rank
Member

Hi @Deksor I already have one in the work here. PCB is already done and is based around ATTiny. The software is also already modified, but it doesn't work yet, the power draw seems to be still to high. I'm investigating though....

My Youtube channel Necroware

Reply 19 of 28, by Deksor

User metadata
Rank l33t
Rank
l33t

The power issue may be related to the mouse used itself. PS/2 can supply up to 100/200Ma iirc
When I read about how to get power from the serial port here https://www.epanorama.net/circuits/rspower.html, it seems to be way lower. Maybe a PS/2 mouse from the era (which could have existed with a serial port) could be used to just test this scenario ?

I can read in many places online that the attiny85/45/25 at 1Mhz draws less than 1Ma

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative