VOGONS


First post, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

So I've got this nice MSI motherboard, an MSI 4134 AL1.
http://www.win3x.org/uh19/motherboard/show/3613

Officially this is a 5v only, but with an interposer any 3,3v DX2 or DX4 will work flawlessly. Mine currently runs an AM486 DX4-100 (33x3).

The interposer can be set to support a Cx5x86 or Am5x86 by jumper. For the DX4 it's set to the Am5x86 setting.

Now I've got a nice Am5x86 CPU as well, but the board refuses to boot with it. The CPU works on my Aquarius MB4DUV board so it's ok.
That Aquarius board usually runs a Cx5x86-100 CPU.

Since the Am5x86 does not work on this board but the dx4 does, I guess it's a BIOS limit.
Is it possible to hack the BIOS to support either one of these 5x86 CPUs? Or both?

And where should I start? I literally have zero experience with that kind of stuff, but I do have some unused bios chips and a programmer. I'll figure out a way to erase these chips somehow later on.

Stuck at 10MHz...

Reply 1 of 16, by Chkcpu

User metadata
Rank Member
Rank
Member

That AL1 is a nice looking 486VLB/PCI board indeed!
But with CPU support that maxes out at 486DX2, I'm amazed it even runs a DX4. I assume you are running a 1993/1994 AMI BIOS now so yes, I agree that lack of Am5x86 support is a BIOS issue.

I did a lot of BIOS patching back in the day, mainly adding K6plus support to socket 7 BIOSes.
I worked on a few 486 BIOSes as well, but these were all Award BIOSes. So patching a 486 AMI BIOS is new to me, but I will try to help here.

Can you make an image of your present BIOS and attach it here ?
I will check if I can do anything with it...

Note that analyzing a BIOS will take some time. Each BIOS is different and its always a surprice what you'll find!
I start to disassemble a BIOS image with the help of the Sourcer disassembler from V Communications. This is the most time consuming part. 😉

Most simple disassemblers only produce a RAW listing when you feed them a BIOS image. No differentiation between code and data, no indications for start and end of subroutines or interrupt handlers, no x-ref for jump locations and subroutines, no explanations or remarks, ect... 😉)
This makes reading and understanding such a listing very hard.

To get a meaningful listing of the BIOS code, Sourcer uses a definition file to define data areas and structures, external entry points, text-string positions, and how code and data pointers are resolved. It also allows to name all the (sub)routines, labels, and entry points.
As a BIOS is a very unstructured collection of routines, you may understand that making that definition file for a particular BIOS is a lot of work. 😉
But the result is a good readable listing and although Sourcer is an expensive program, I couldn't have done all the BIOS patching without it and its still one of the best tools I've ever bought. 😀
And of course a little experience with assembly language comes in handy...

The actual patching is done with a hexeditor directly in machine language to avoid introducing errors due relocated routines during re-assembly.
And after the patching, I have to recalculate the BIOS checksum and correct the checksum bytes.

So this BIOS patching I do is pure handwork and most knowledge of how to do that I had to learn along the way. But it helped that Award Software Inc. wrote nice and understandable code. 😉

Cheers, Jan.

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 3 of 16, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

I don't have a post card at the moment. I had one some time ago but gave it away to a friend a while back. So I can't say what's going on with it.

However I've got the BIOS dump attached. It's a 64kB image.

In the code there's the dx4 mentioned (overdrive I guess), as well as a Pentium (pod I guess). Also the file mentions the date 5/23/1994.

On uh19 there's another BIOS. It seems to have the same post code but it's twice as big. Maybe that one already contains some bonus code with 5x86 code?

To be honest: I've got zero experience with the assembler code. A little basic python is the only thing I've been working with 😜
So doing it myself would be a bit hard I guess

Attachments

  • Filename
    MS-4134.7z
    File size
    36.82 KiB
    Downloads
    38 downloads
    File comment
    bios
    File license
    Public domain

Stuck at 10MHz...

Reply 7 of 16, by Chkcpu

User metadata
Rank Member
Rank
Member

It looks like this BIOS image is a copy from shadow RAM.
Did you make it via software on the AL1 board?

The best way is to take the BIOS chip out of the motherboard and put it in your Eprom programmer. Then let the programmer dump the EPROM contents in a file.
Also check if the BIOS EPROM chip is a 27C512 (64KB) or a 27C010 (128KB) or equivalent.

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 8 of 16, by PD2JK

User metadata
Rank Oldbie
Rank
Oldbie

Hey waterbeast 😉
I have a programmer at work, but it will be next week I'll get there.

i386 16 ⇒ i486 DX4 100 ⇒ Pentium MMX 200 ⇒ Athlon Orion 700 | TB 1000 ⇒ AthlonXP 1700+ ⇒ Opteron 165 ⇒ Dual Opteron 856

Reply 9 of 16, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

Well, yes I dumped it with software. I'll look into getting my programmer to work later this week then. I have two of them and I know where to get the software for them. All least ones should work 😀
If not, I'll get back to you @PD2JK, tnx for the offer! 😀

And I'll see what size chip it is exactly.

(Right now my family needs my time 😀 )

Stuck at 10MHz...

Reply 10 of 16, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
waterbeesje wrote on 2021-07-28, 16:43:

The interposer can be set to support a Cx5x86 or Am5x86 by jumper. For the DX4 it's set to the Am5x86 setting.

Can you post a picture of your interposer please?
Sometimes it has to do with the other jumpers on the interposers, like clock multiplier.
Try to play with these options. The Am 5x86 does not post in some settings.

Reply 11 of 16, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie
Disruptor wrote on 2021-08-02, 20:57:
Can you post a picture of your interposer please? Sometimes it has to do with the other jumpers on the interposers, like clock m […]
Show full quote
waterbeesje wrote on 2021-07-28, 16:43:

The interposer can be set to support a Cx5x86 or Am5x86 by jumper. For the DX4 it's set to the Am5x86 setting.

Can you post a picture of your interposer please?
Sometimes it has to do with the other jumpers on the interposers, like clock multiplier.
Try to play with these options. The Am 5x86 does not post in some settings.

I'll get it out and make some pics!

Stuck at 10MHz...

Reply 12 of 16, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

Part of the reason for the bios dump is because PCem appears to be able to emulate your chipset so we'd all be able to play with the BIOS without having matching hardware, including simulating different CPUIDs.
There might be different dumping/flashing software that can dump your bios chip even through software.

Reply 13 of 16, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

Ok, I've got the photos from the interposer.
Front and back, and they say how to jumper it. There's only one jumper ( J1 ) and the usage is printed on the back.
As you can see, for DX4 the multiplier should be "3x" so pins 3-4 are connected. For the 5x86 the multiplier should be "4x" so pins 2-3 should be connected.

As for the bios chip: I couldn't get the sticker off without damaging it too much, but the motherboard had "27010" printed. So until I'll get the EPROM into a reader, I think that's the thing to go for now. And yes I know: that does not match the dump file size.

I haven't yet got into the EPROM reader, do that is gonna be one for the next time.

IMG_20210808_224304.jpg
Filename
IMG_20210808_224304.jpg
File size
1.25 MiB
Views
727 views
File license
Fair use/fair dealing exception

Attachments

Stuck at 10MHz...

Reply 15 of 16, by waterbeesje

User metadata
Rank Oldbie
Rank
Oldbie

It's an A80486DX4-100 V8T (without N or S in front of the V)

And by the way the BIOS don't seem to support wb for L1, I haven't found an option to set that (or may that be sutosense?)

Thinking of that: Could L1 wt/wb support be the problem? I always thought all WB CPU could run in wt mode as well...

Stuck at 10MHz...

Reply 16 of 16, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Ah, that's it.
You think you easily can replace your DX4 with the 5x86, but they have different jumper layout.

Let me explain:
The T stands for Write-Through.
AMD has changed the jumper layout for clock multiplier between Write-Through Am486DX4 and the Write-Back ones.
The WB ones have same layout as Intel DX4.
So the Am486DX4-B has the same jumper layout as the Am5x86 but 2x/3x instead of 4x/3x.

But I'm still wondering how you got the Am486DX4-T to run at all in that interposer.

What you can do is:
Get a port 80 post card. If there are no post codes at all, processor does not work or is jumpered wrong.
Try all possible jumper settings including the no jumper setting.

Does the board support Write Back L1 at all or just with the old Cyrix layout?