VOGONS


First post, by Paar

User metadata
Rank Member
Rank
Member

I'm currently in the process of studying an Octek Hippo 10 motherboard (rev 1.21, but a revision 1.01 is on the way to me too) with UMC UM8498/8496 chipset. This board is quite a beauty and screams high-end so I've decided to try to unlock it's full potential. At the same time Octek boards are often badly documented, especially this one. Fortunately I managed to obtain scans of the manual for revision 1.2.
The thing I want to do with the board now is figure out how to enable PS2 support. There is an excellent thread about modding Shuttle HOT-433 which uses newer version of the chipset with PCI support. Still, I'm pretty sure a lot of the things about the integrated controller can be applied to the older chipset too. For example, CS enable pin share the same pin on the UM8498 for keyboard controller and BIOS ROM. There's a problem though - on this particular motherboard, there is not configurable resistor network. There is no pull-down or pull-up resistor anywhere on the trace.
With that I'd like to ask if any Vogoners here has a board with this chipset which has a jumper for enabling/disabling internal keyboard controller? I'm interested to know how it is wired, if there are any differences to the newer PCI chipset.

Last edited by Paar on 2024-03-15, 08:50. Edited 1 time in total.

Reply 3 of 20, by Paar

User metadata
Rank Member
Rank
Member

After some more digging, experimentation and consultations with other members in the community (thanks to BrowseMan on the RetroWeb Discord channel and fellow Vogoner mkarcher) I have successfully managed to disable internal keyboard controller on the UM8498F chipset and was able to install an external one with PS2 mouse support, at least on my motherboard Octek Hippo 10.

The internal KBC itself is integrated into the UM8498F chip but there is some logic in the smaller UM8496F which needs to be addressed too. Let's start with pinouts.

UM8498F
pin 119 --> internal KBC enabled/disabled (pull-down disabled, pull-up enabled)
pin 165 --> chip enabled signal for external KBC and BIOS ROM in both modes
pin 166 --> KB data signal in internal mode; direct connection to CPU reset pin in external mode
pin 167 --> KB clock in internal mode; keyboard controller clock output in the external mode

UM8496F
pin 4 --> internal/external KBC mode (the same rules as pin 119 on UM8498F)
pin 20 --> inverter 1A (MSDO on my board)
pin 21 --> inverter 1Y (MSDI)
pin 22 --> inverter 2A (MSCO)
pin 23 --> inverter 2Y (KBDI/MSCI)
pin 26 --> inverter 3A (KBCO)
pin 27 --> inverter 3Y (KBCI)
pin 28 --> inverter 4A (KBDO)
pin 30 --> inverter 4Y (KBDI in PS2 mode)
pin 44 --> A20 signal in
pin 45 --> RESET signal in

On many boards there is a jumper that should be set/unset in dependency on the chosen KBC mode. On my board, it connected KEYLOCK frontpanel pin to UM8496F pin 45. This jumper should be removed when external KBC is being used (pin 45 may have a different function in internal KBC mode).

I hope this will be helpful for anyone wanting to mod UM8498F/UM8496F motherboard for PS2 mouse support.

Reply 4 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-15, 08:49:

After some more digging, experimentation and consultations with other members in the community (thanks to BrowseMan on the RetroWeb Discord channel and fellow Vogoner mkarcher) I have successfully managed to disable internal keyboard controller on the UM8498F chipset and was able to install an external one with PS2 mouse support, at least on my motherboard Octek Hippo 10.

Great work, congratulations! So I simple run bodge wires from the UM8496F to the KBC socket?

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 5 of 20, by Paar

User metadata
Rank Member
Rank
Member
mockingbird wrote on 2024-03-15, 14:45:

So I simple run bodge wires from the UM8496F to the KBC socket?

In the worst case scenario, yes. But most (if not all) boards with external KBC socket/footprint should be prepared for disabling of the internal KBC.

On my board, I had to move some 0 Ohm resistors around as switches (and move one 1k from pull-up position to pull-down), and add some to empty footprints which connected external KBC's KBCI and MSCI to UM8496F inverter, remove one jumper and that was all. And of course solder in new KBC socket with 0,1uH filtering capacitor. So no bodge wires, everything looks clean.

Reply 6 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-15, 15:25:

On my board, I had to move some 0 Ohm resistors around as switches (and move one 1k from pull-up position to pull-down), and add some to empty footprints which connected external KBC's KBCI and MSCI to UM8496F inverter, remove one jumper and that was all. And of course solder in new KBC socket with 0,1uH filtering capacitor. So no bodge wires, everything looks clean.

On the ECS UM4980, the external KBC controller works fine with the jumper moved to the external KBC controller setting... The issue is that when the interposer is installed, even with only the external KBC connected to it it goes haywire...

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 7 of 20, by Paar

User metadata
Rank Member
Rank
Member

Who knows what's going on with your board. But I would be surprised if only one jumper is enough to disable internal KBC.

We may do some tests... Please check pin 1 on the KBC socket for connectivity with pin 167 on the UM8498F. Check continuity with both the jumper on and off. If there is continuity in both cases, you will have to do more work than just set this jumper.

EDIT: Checking a photo on RetroWeb, there is pull-up resistor R57 between both UMC chips and there is a footprint R56 which probably is connected to the ground. You would have to move this resistor to disable internal keyboard, at minimum.

EDIT2: Next, it seems you have to move R65 to R64 and R66 to R68, presuming those resistors connect to pin 166 and 167 of UM8498F. After that you should check for connections to external KBC. Check there is connectivity to UM8496F internal inverter for KBCI/KBDI and KBCO/KBDO.

Reply 8 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-15, 19:41:

We may do some tests... Please check pin 1 on the KBC socket for connectivity with pin 167 on the UM8498F. Check continuity with both the jumper on and off. If there is continuity in both cases, you will have to do more work than just set this jumper.

Sorry for the late reply... Yes, pin 167 is connected to KBC pin 1 with both JP3 shorted and open.

EDIT: Checking a photo on RetroWeb, there is pull-up resistor R57 between both UMC chips and there is a footprint R56 which probably is connected to the ground. You would have to move this resistor to disable internal keyboard, at minimum.

...

EDIT2: Next, it seems you have to move R65 to R64 and R66 to R68, presuming those resistors connect to pin 166 and 167 of UM8498F. After that you should check for connections to external KBC. Check there is connectivity to UM8496F internal inverter for KBCI/KBDI and KBCO/KBDO.

Thanks, I will move R57 to R56 (correct, it is connected to ground), R65 to R64, and R66 to R68 and report back.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 10 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-18, 11:34:

Please be sure the resistors connect to proper pins, I just guessed it by looking at a photo.

Unfortunately, I was not successful... Moving R57 to R56 results in a stuck POST at error "22 1C" on my POST card.

I initially moved R65 and R66 as you suggested but then moved them back because I think that disconnects pins 1 and 39 (KBCI KBDI) from the UMC IC.

I think this is beyond my capabilities of diagnosing any further... Maybe someday someone will come up with something... The UM4980 is a nice board but it does need PS/2 to be considered for any meaningful use. I'll stick with my Asus VLB board for now.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 11 of 20, by Paar

User metadata
Rank Member
Rank
Member
mockingbird wrote:

Unfortunately, I was not successful... Moving R57 to R56 results in a stuck POST at error "22 1C" on my POST card.

With Phoenix BIOS (which this board should use), it means keyboard controller test was unsuccessful. You have disabled internal KBC but didn't connect external one properly.

mockingbird wrote:

I initially moved R65 and R66 as you suggested but then moved them back because I think that disconnects pins 1 and 39 (KBCI KBDI) from the UMC IC.

But that's the whole point. You have to disconnect UMC chipset from pin 1 and 39 of the KBC so you can supply those signal with external IC. When you switch those resistors, the connection should go from UMC chipset to KBC pin 3 and CPU RESET pin (in the socket) instead.

It's pretty easy mod, especially since the board should be more or less prepared for it. Just move some resistors around, disable one jumper and you're done.

Reply 12 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-19, 14:17:
... With Phoenix BIOS (which this board should use), it means keyboard controller test was unsuccessful. You have disabled inter […]
Show full quote

...
With Phoenix BIOS (which this board should use), it means keyboard controller test was unsuccessful. You have disabled internal KBC but didn't connect external one properly.
...
But that's the whole point. You have to disconnect UMC chipset from pin 1 and 39 of the KBC so you can supply those signal with external IC. When you switch those resistors, the connection should go from UMC chipset to KBC pin 3 and CPU RESET pin (in the socket) instead.

It's pretty easy mod, especially since the board should be more or less prepared for it. Just move some resistors around, disable one jumper and you're done.

Thanks. I'm going to give it another shot. I printed your post and will try to figure things out more diligently with my multimeter.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 13 of 20, by Paar

User metadata
Rank Member
Rank
Member

I'm sure you'll manage. If you need any assistance, just ask!

Steps you should reproduce:
1. Move resistors I have mentioned before and make sure that pin 167 of the UM8498F is connected to pin 3 of the external KBC.
2. Remove KBC jumper (JP3?).
3. Make sure pin 1 and 39 (KBCI and KBDI) of the external KBC are connected to an inverter, perhaps the intergrated one in UM8496F. There may be unpopulated footprints on the board for 0 Ohm resistors for that. Check with multimeter.
4. Check the same for pins 37 and 38 of the external KBC (KBCO and KBDO).

After that you should be able to run the board with external KBC without any issue.

Reply 14 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2024-03-19, 19:47:

I'm sure you'll manage. If you need any assistance, just ask!<snip>

Evreka! It's working!

If you look at the later revision of this board, there are more empty spots for jumper resistors (R100 and R101):

ecs-um4980-front-5f05f8c9c7098923794328.jpg
Filename
ecs-um4980-front-5f05f8c9c7098923794328.jpg
File size
43.75 KiB
Views
358 views
File license
Public domain

I installed two 0 Ohm (0805) resistors in those spots and after that (along with the other resistors you specified), I had KBDO/KBCO/KBDI/KBCI all connected to the inverter pins on the UMC chip.

I proceeded to turn the system on but was still getting a "22 1C" post code like before, so I swapped the VIA VT82C42N with a Mega-HP 'F'. Now, the system still wouldn't post, but the post code changed to "38 3A" (Shadow system BIOS ROM/Autosize cache). This post code has nothing to do with the KBC so I decided to swap the phoenix BIOS for the Award BIOS. Now, the system posted, so feeling encouraged, I tried to open the BIOS file in MODBIN to enable PS/2 support. Unfortunately, MODBIN complained of a checksum file error and refused to open it. Looking at the BIOS string (2C4X6H01), I found a correlation with the PCChips M912 (the boards are almost identical). This BIOS opened and I was able to enable PS/2 with ease.

Next, feeling encouraged, I proceeded to install the VT82C42N back into the board without the interposer, and the keyboard worked perfectly fine (so KBC compatibility seems to be BIOS-related rather than something else). Then I installed the interposer and booted the system from a floppy. CTMOUSE installed right away in PS/2 mode. I fired up EDIT.COM which is what I use to test the mouse functionality, and I sat there dumbfounded as the keyboard stopped responding (and not to mention, the mouse wasn't working either).

Walking around befuddled by my misfortune, it dawned upon me that I was a big dummy and I forgot to connected the IRQ jumper wire I had already soldered and had sitting there disconnected from the interposer. I connected it, booted the system, and everything worked.

Thanks for your encouragement and support Paar. Great work, cheers!

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 16 of 20, by Paar

User metadata
Rank Member
Rank
Member
mockingbird wrote on 2024-03-22, 21:01:

Evreka! It's working!

Happy to know it's working for you! So with that we have to successfully modified motherboards 😀. Hopefully more will come!

mockingbird wrote on 2024-03-22, 21:01:

If you look at the later revision of this board, there are more empty spots for jumper resistors (R100 and R101)

For curiosity sake, what those resistors connected to?

Reply 18 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Well, unfortunately either something is wrong with my board or there's some other issue with this setup, but HDD functionality isn't working... I was able to obtain a copy of the UM4980 Award BIOS that can be opened with MODBIN and enabled PS/2, so maybe it will be useful for someone in the future with the same issue. The issue is that although the HDD autodetects in the BIOS, the boot always gets stuck after the memory count and then shows a hard disk code 10 failure -- but this issue is beyond the scope of this thread. Either way, I am attaching the BIOS here.

Filename
UM4980_PS2.zip
File size
44.19 KiB
Downloads
4 downloads
File license
Public domain

EDIT (3/25/2024): I can confirm that it is in fact the Award BIOS which causes the issue with INT13h and the ECS UM4980... With the mod reversed and with the original phoenix/ami BIOS, it boots from the HDD without issue... So the PCChips M912 BIOS posted on TheRetroWeb is in fact NOT fully compatible with the UM4980 (or at least no the revision 2.1). I also tried many other Award BIOS from similar boards, but to no avail.

One workaround would be to use XT-IDE, but I think I'll pursue a different route for now... Maybe someone will find a fix for this issue in the future. Otherwise, a very nice board if not for this fatal flaw.

Last edited by mockingbird on 2024-03-25, 20:49. Edited 1 time in total.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 19 of 20, by rasz_pl

User metadata
Rank l33t
Rank
l33t

I still dont understand the need for any bios mods to enable PS2. Some bioses expect exact keyboard controller model/firmware version, but afaik there is nothing special about ps2 ports.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction