VOGONS


Reply 520 of 554, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2024-03-12, 10:11:
An interesting consequence of trying to reuse the thin Arduino pins was that I accidentally inserted one of the leads rotated 90 […]
Show full quote

An interesting consequence of trying to reuse the thin Arduino pins was that I accidentally inserted one of the leads rotated 90 degrees. Oops! I pulled the lead out, but the spring in the DIP socket did not restore to its home position:
A-Spring_deflection_0.54mm.JPG

The flat thickness of the Arduino lead is 0.35 mm, while the wide side is 0.54 mm. It was the 0.54 mm that stretched out the spring. Thus, I would gather that machine pins of width 0.54 mm & 0.64 mm, and square pins of width 0.64 mm are not suited for DIP sockets, that is at least, if you ever intend to insert something with smaller pins into the socket at a later time:
B-Spring_deflection_0.54mm.JPG

Next, using a new DIP socket, I inserted the smaller round machine pin of diameter 0.45 mm, but it too showed permanent deflection:
C-Spring_deflection_0.45mm.JPG

I went on to see how much deflection the 0.35 mm flat Arduino pin caused:
D-Spring_deflection_0.35mm.JPG

Then compared it with the smallest machine pin here:
E-Spring_deflection_0.45mm_and_0.35mm.JPG

While the 0.35 mm Arduino pin showed the least permanent deflection, the spring did not entirely restore either.

My conclusion would be to use leads with the smallest thickness, down to perhaps 0.25 mm, especially if you ever intend to later install another device with thinner leads, or to put the original keyboard controller chip back. The range of thicknesses for DIP leads on keyboard controllers that I measured were from 0.26 - 0.30 mm. After inserting and removing a 0.26 mm thick chip into a DIP-40 socket, one which had previously been stretched out by 0.45 mm machine pins, it felt noticeably less tight.

As the lead thicknesses of my prototype PS2-KBC adaptors are only 0.16 mm, I am going to be especially mindful of what I stick into keyboard controller sockets on my various motherboards. Luckily, my proto-PS2-KBC units still worked after having used 0.35 mm pins in the DIP socket, however the fitment is vastly looser 🙁

Ideally, we'd be using leads of about 0.25 mm thick on these adaptors to preserve our socket's spring force. The flat plate 0.35 mm Arduino pins were the best I could find that would be easy to install. But even if 0.25-0.30 mm thick machine pins are available, you'd still be mating a flat plate socket to a round rod, thus the mating surface area is reduced compared to a thin rectangular lead.

EDIT: If you are like me, you probably have some rare motherboards you don't want to ruin by stretching out their keyboard sockets. I was considering abandoning the max adaptor because even the thin Arduino headers can cause some permanent socket deflection. However, it occurred to me that if you have not yet stretched out your motherboard's KBC socket, you can use a spare DIP-40 socket as a sacrificial mating layer in the middle. It really just depends on everyone's personal threshold for hardware preservation and reversibility.

Ok I guess I was wrong about there being no permanent deformation, but I have tested reinstalling DIP ICs back into sockets which were previously holding the 0.45mm machine pins and they still hold plenty tightly enough for my comfort.

Reply 521 of 554, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
maxtherabbit wrote on 2024-03-12, 13:55:
feipoa wrote on 2024-03-12, 02:53:

It would be greatly appreciated if you could edit out some of the emotion from your responses before submitting. I continue to see snappy, somewhat agitated replies from you; it is not just me, but other members have also PM'ed me about some of your abrasive replies as well. There are more neutral ways of wording sentences which portray the same underlying message.

Bro you're seeing something that isn't there, there was no emotion in that post

Feipoa I remember one time long ago where I actually did have an emotional response to you and we argued about my distaste for your attitude toward the hobby at that time. I feel like ever since then you've thought I had it out for you or something but I really don't. There is no bad blood on my end

Reply 522 of 554, by feipoa

User metadata
Rank l33t++
Rank
l33t++

It is not any one post I am referencing, rather a collective of posts over the past several years. I never thought that you were targeting me because I have also noticed it in interactions with others. As a few other members have PM'ed me over the years about your sometimes uncordial or confrontational replies, I'm not the only one who has taken notice. I realise it may not intentional, so I thought you should be aware. Politer sentences could be constructed to convey an identical message, yet be better received.

...

Today I decided it would be really simple to shorten the adaptors I already have on hand. I took a belt sander to the cantilevered end for about 25 seconds, then re-routed CLK, and moved IRQ12. In all, probably took 25 minutes, including cleanup. Then I found some smaller format 8.8 uH inductors off of an old IDE HDD controller board. Now I am able to get the max adaptor into my PEM-4030Y motherboard and not interfere with the ISA slot. With the short inductors, I can also insert the PS2-KBC into a keyboard socket which already has DIPs inside. I am still using a single blank DIP-40 socket as a sacrificial layer though.

The attachment 24-Max_adaptor_shave_down.JPG is no longer available
The attachment 25-Max_adaptor_shave_down.JPG is no longer available
The attachment 26-Max_adaptor_shave_down.JPG is no longer available
The attachment 27-Max_adaptor_shave_down.JPG is no longer available
The attachment 28-Max_adaptor_shave_down.JPG is no longer available

To get down to 0.25 mm, I suppose I could also take the belt sander to the flat Arduino pins, but it would remove the gold layer and likely expose copper, which tarnishes more readily. I thought about pulling the pins off of some DIP IC's and use those, but the leads aren't long enough. Maybe something else will turn up in the years ahead. For time being, I'll continue to use the flat plate Arduino pins with an empty socket between.

...

Regarding the outstretched DIP sockets and 0.45 mm machine pins -- yes, if you put an entire DIP KBC back into the entire [stretched out] DIP socket, the unit as a whole seems 'tight enough', but what struck me was when I took just a single DIP pin lead and placed it into one DIP socket; it felt overly loose. Obviously, there's probably some DIP-40 sockets which have a better restoring force on them than others, but with the units I tested the other day, I was horrified. Now try placing a DIP-40 socket (0.16 mm thick leads) into the same stretched out DIP socket, it feels like a gaping hole.

Plan your life wisely, you'll be dead before you know it.

Reply 523 of 554, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2024-03-14, 10:50:

It is not any one post I am referencing, rather a collective of posts over the past several years. I never thought that you were targeting me because I have also noticed it in interactions with others. As a few other members have PM'ed me over the years about your sometimes uncordial or confrontational replies, I'm not the only one who has taken notice. I realise it may not intentional, so I thought you should be aware. Politer sentences could be constructed to convey an identical message, yet be better received.

Well I can't speak to these "anonymous sources" but the fact is I do sometimes make confrontational replies, intentionally. I have not made any toward you in this thread to my recollection.

I am well aware that my terse and matter-of-fact writing style *can* be read as snappy or aggressive, but once you have prejudiced your mind you might start seeing that even when there is nothing inherent in the text to warrant it.

If I mean to be confrontational, you will know. 😉

Reply 524 of 554, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2024-03-14, 10:50:

Today I decided it would be really simple to shorten the adaptors I already have on hand. I

If you'd like to redesign it I'll be happy to share the kicad source with you

Reply 525 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

Hi all,

I'm trying this as well, I built the interposer as per maxtherabbit's design.

* Motherboard is an ABIT PW4 with the Winbond Symphony Wagner chipset
* Original KBC is a Winbond 83C42.
* I replaced the KBC with a HT6542 from a dead board
* I have wired up IRQ12 to the ISA slot
* I have used MODBIN to enable PS/2 support in the BIOS

Here's my symptom:

* If I try any mouse driver, it does not find the mouse. (Tried a whole bunch from Cutemouse 2.1/1.9 via MOUSE.COM to some Logitech versions)
* If I have the mouse plugged in at boot and run PS2SUPPC, it says "PS/2 mouse support is already enabled. Program aborted!".
Then If I try any mouse driver, it does not find the mouse either.
* If I have the mouse NOT plugged in at boot, then plug it in and run PS2SUPPC, it says "Can't find PS/2 mouse", even though I see activity on DATA/CLK lines on the oscilloscope...

Any ideas? I'm really stumped on this one. It looks like it should just work now, but it doesn't 😐

Reply 526 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

Interesting developments:

* Built another mod pcb with a MEGAKEY2.
* Same symptom.

* Tried this PCB on antoher board (SOYO 025L) + DX4-100
* Without BIOS mod + PS2SUPPC: Can't find mouse and hangs afterwards
* Without BIOS mod + PS2SUPPC + slowed down CPU (no cache): PS/2 support enabled, CTMouse finds mouse, mouse works!!!
* WITH BIOS mod (MODBIN Enable PS/2 support): Drivers can't find mouse

So it seems that on AWARD, even with the flag set, BIOS support is incomplete?!

Also, confirms that @Thermalwrong was right, PS2SUPPC does produce faults on a faster machine.

Just to clarify, setting "PS/2 mouse support" to enabled in MODBIN is all I need to do on AWARD, right??

Reply 527 of 554, by Paar

User metadata
Rank Member
Rank
Member

I was told that in some BIOSes there two settings for PS2 functionality and both of them must be set otherwise the mouse won't work. The second one should be in the CMOS section and has to be set in modbin too.

Reply 528 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

I'm not sure what you're referring to -- a bit in the CMOS memory or what do you mean?

Reply 529 of 554, by Paar

User metadata
Rank Member
Rank
Member

I'm not sure either, just heard about it. I would advice to check the BIOS with modbin again and look for some additional hidden option regarding PS2 mouse functionality.

Reply 530 of 554, by rasz_pl

User metadata
Rank l33t
Rank
l33t

What does PS2SUPPC.COM do in the first place? is there a source code somewhere? quick look in BinaryNinja makes me think this is just an INT16 BIOS support for PS2 mouse and doesnt do any magic to the controller itself.
Afaik there shouldnt be anything extra required from the BIOS for the appropriate controller with PS2 mouse support to be detected by ctmouse.

AT&T Globalyst/FIC 486-GAC-2 Cache Module reproduction
Zenith Data Systems (ZDS) ZBIOS 'MFM-300 Monitor' reverse engineering

Reply 531 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

I've thrown the BIOS in IDA and I think I found the int15h handler for it, and part of it looks like this:

image.png?ex=6611a703&is=65ff3203&hm=6604330d11c3defc8d3eb00201da95466eb559c55228b391fa051668b3e14bec&

It has the check for C1 and C2, but they point to the same location:

image.png?ex=6611a71a&is=65ff321a&hm=73b1558bfb9f0d24cf72c30b21965e96631c9cb03323b4dfed018a29a968a7c6&

It does nothing and jumps back to the next check in the int15 handler. Grrrr.

TRW is currently undergoing maintenance so I cannot find AWARD 4.50G bioses with PS/2 support to copy the int15h code from, sadly.

I will check if there is perhaps unused code that handles it properly but I somehow doubt it.

Reply 532 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

I've found a BIOS that has it and I've also checked the leaked AWARD source code, confirming my suspicion:

image.png?ex=6611c20f&is=65ff4d0f&hm=e76bcccd96dcb52c7f466ed5d20162bddba32bd2db023557d1218fdc3b605cfe&

The BIOS was probably assembled with NO_PS2_MOUSE_SUPPORT. Bummer.

Reply 533 of 554, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Oerg866 wrote on 2024-03-23, 21:43:

I've found a BIOS that has it

this is only BIOS Int mouse support handler, but something like cutemouse should be able to talk to raw keyboard controller (0x60/0x64) and clever enough to enable second PS2 port (command 0xa8).

Oerg866 wrote on 2024-03-23, 21:43:

and I've also checked the leaked AWARD source code

I read about this leak supposedly 10 years ago, but could never find it 🙁

AT&T Globalyst/FIC 486-GAC-2 Cache Module reproduction
Zenith Data Systems (ZDS) ZBIOS 'MFM-300 Monitor' reverse engineering

Reply 534 of 554, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Oerg866, I don't have much experience testing the PS2 adaption on AWARD 4.50G BIOSes. I also don't have much a lot of experience with max's PCB. Most of my testing was done with my variant of the adaptor.

For AWARD, the lowest BIOS version I've tested successfully was 4.50PG. I remember trying a motherboard with AWARD 4.20, but could not get the PS/2 mouse working. Other than this one case, every 386 board I tried with an AMI BIOS of 6/6/1992 or older worked fine, as did all 486 boards with AWARD 4.50PG or 4.51PG.

For AMI BIOSes, I follow the guide provided by jakethompson1 here: AMI Color BIOS (1993 and earlier) modification in hex editor

For AWARD 4.50PG+, I use use modbin 4.50.83.

After Jake's guide, I no longer have any systems setup to use ps2suppc.

In the rare case that I cannot get native ps/2 mice working, I use Rio444's ISA ps2-serial emulator card.

Oerg866 wrote on 2024-03-23, 20:40:

...find AWARD 4.50G bioses with PS/2 support to copy the int15h code from...

Oerg866 wrote on 2024-03-23, 21:43:

I've found a BIOS that has it and I've also checked the leaked AWARD source code, confirming my suspicion:
The BIOS was probably assembled with NO_PS2_MOUSE_SUPPORT. Bummer.

Does the "P" in AWARD 4.50PG stand for ps/2?

You can probably locate a BIOS from another motherboard which is based on the same chipset as yours and use it instead.

Have anyone else tried Rio444's PS2-KBC adaptor PCB? If so, you'd want to use as thin of a PCB as possible. I felt that his variant offered the smallest possible package. I ordered my PCB's many years back from oshpark, which, at the time, only had one thickness of PCB's - I think 1.6 mm. I always thought the thickness of the PCB was limiting lead mating distances, being the reason I could not get his unit working. Thus, a few days ago, I thought I'd extend the leads before giving up on this board. I extended the leads, but still could not get his unit working.

The attachment Rio444_PS2-KBC_longer_pins_1.JPG is no longer available
The attachment Rio444_PS2-KBC_longer_pins_2.JPG is no longer available
The attachment Rio444_PS2-KBC_longer_pins_3.JPG is no longer available

Anyone else try Rio's PCB? Not even the keyboard works when I use his adaptor.

Plan your life wisely, you'll be dead before you know it.

Reply 535 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

You can probably locate a BIOS from another motherboard which is based on the same chipset as yours and use it instead.

Slight problem: The PW4 is one of two known motherboards to use the Winbond Symphony Wagner chipset, the other one being a DataExpert LPX board for which there is no BIOS dump 😁

Reply 536 of 554, by Paar

User metadata
Rank Member
Rank
Member

There is this guy, who compared several 486 boards, one of them having the Winbond chipset. You could try to reach him out.
Or contact someone on TheRetroWeb Discord channel

Reply 537 of 554, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I think the 'P' is for PnP

Reply 538 of 554, by Oerg866

User metadata
Rank Member
Rank
Member

image.png?ex=66137275&is=6600fd75&hm=e2b3119015ac25f2abb336a0cb890472a14845c100301c993f57aca7a862ea88&
image.png?ex=6613715b&is=6600fc5b&hm=4c59a0f74610b0ce9dde2b187aa9fa22f76b2d1be4f18425ee557253cbd2f2d7&

I managed to port back all of the PS/2 code including the INT15h and the IRQ12 handler and whatever else belongs to it. First picture shows SOFT-ICE debugger showing that the "new" IRQ12 handler gets triggered.

It was crashing in the handler initially because the BIOS shadows itself and overwrites some of the area I thought was blank and used for patching. Had to modify the code to make it smaller so that it sort-of fits.

It's definitely not ideal because the IRQ handler now has an additional jump in it to jump over that hole. So eventually I'd like to move the code around a bit to eliminate that extra jump :\