Link to home
Start Free TrialLog in
Avatar of chris_a
chris_a

asked on

How do I disable parity check in AMI bios

My mobo only accepts parity ram and there is no option in the bios setup to change this. It is an ami bios (1.00.18.BI0) I need to know where in the bios image file are stored the default values written into the PCI registers to control this.

Then I can change the defaults and reflash the board.

PS My mobo is an intel altserver if that helps.
Avatar of jhance
jhance

This may be hard to find but I can suggest one trick I've used in the past.  The parity error is signaled to the CPU via the NMI (non-maskable interrupt) line.  You can trace this signal back from the CPU socket to one of the chipset devices.  You can cut this line and parity will not be a problem anymore.
Avatar of chris_a

ASKER

Good point, as an electronic eng I should have thought of that. However it is a multi-layer dual pentium board and I shall leave cutting it to a last resort.

There must be a simple software answer to this, I have a bios file and I can even work out which PCI registers need to change. I just need some sort of confirmation of bytes to hack in the image file as if I get it wrong I doubt that it will reflash properly.

Thanks for the idea

(Sorry to give it an F, i'd call it a B but then the question is closed if I understand the way this site works)
No problem...  
By the way, how are you at disassembling X86 code?   The location of the register that controls the parity logic is documented (at least for "standard" PC motherboards).  I doubt that there is a general answer to your question of "where is the code in the ROM" but I suspect that the basic code is very similar and somewhere must to an OUT to the port address.  You could search for this instruction and see if that's the one you are looking for.
To disable the NMI logic on an IBM compatible PC, you write a 0x80 (decimal 128) to IO location 0x70 (decimal 112).  While there are many actual instructions that could do this in your BIOS, I'd look for an OUT 0x70, AL as the most likely.  The HEX code would be E6 70 for this.
Avatar of chris_a

ASKER

Thanks for the comments

I found an a program from IBM and a bios tweak program that access the PCI registers. By cross referencing them I got a consistent register to change to disable parity. I can do this from the command line.

The problem is if I put in non-parity ram, I can't get to the command line.

I figure that the ami bios has a table of values that are copied into the registers on startup (any change I make is overwritten). If I can find this table in the bios image file, then I can change it, checksums permitting.

Chris
OK, at this point I see the following:
- your BIOS accepts only parity RAM (pRAM)
- you can't insert non-parity RAM (npRAM)
- you found some tweaking program
- software not works (no command line) with npRAM
- tweaking while you have pRAM make no sense

I'm afraid that only way is "hardware" way: you need to change
your BIOS. Here two options:
1) flash new BIOS (if motherboard accepts this)
2) replace BIOS chip and try it out.

You can identify your motherboard by BIOS number (if you don't know
who manufacturer is).
This URL:
http://www.ping.be/bios/
is a great homepage where you can do this and take flash BIOS
upgrade (again, if your motherboard accepts this).

This is my AFAIK. If I told you nothing new, feel free to reject my
answer.

Ian
Avatar of chris_a

ASKER

Sorry Busuka, I have tried that. I have no problem with getting and flashing a new bios, they come straight from the intel FTP server, I have the latest bios now.

What I want to do is hack the bios image and then flash this *custom* bios into my PC.

I would just hack away if it had a socketed bios chip, however as it is surface mounted it has to be correct first time. I have never tried to recover the bios from a floppy but I wouldn't bet my mobo on it!

Anybody know where I can get the AMI BIOS configuration program? I think it is called BCP.

This is turning out to be a harder question than I thought so I have upped the points to 200.


It seems like you've come full circle.  YOu rejected this one earlier but we can try it again.  If you are intent on patching your BIOS, you will need to do a bit of detective work and searching through the code.

To disable the NMI logic on an IBM compatible PC, you write a 0x80 (decimal 128) to IO location 0x70 (decimal 112). While there are many actual instructions that could do this in your BIOS, I'd look for an OUT 0x70, AL as the most likely. The HEX code would be E6 70 for this.
Avatar of chris_a

ASKER

I don't want to disable the NMI line of the PC, I want to change the initial state of the PCI register that controls whether parity errors are reported
ASKER CERTIFIED SOLUTION
Avatar of jhance
jhance

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
chris,

did you ever solve this problem as i to have a complete altserver with no memory - what did you use in the end is EDO possible ?

hope you can help

regards
Avatar of chris_a

ASKER

No, I had to use parity RAM. This only happened after I updated the BIOS, if you can find the an early BIOS it can use any ram.

I was thinking of putting my old altserver as a linux box, is that what you use it for?

Good luck

Chris
hi chris

thanks for your reply
 
linux was what i was thinking of using it for, but i also have nt4 server edition and was going to see what that ran like first.

what version of linux would you recomend
i have twin p5 166 processors installed but as i say no memory at present - how much do you think i need

do you have any of the disks that went with the system as all i was just given the CPU box and contents

what do you mean by early bios - an early version of altserver bios or an early bios from another intel board - i have loads of these

regards
Funny. 2 years passed ... and dead conversation came alive :)
Avatar of chris_a

ASKER

Perhaps linux can revive many old pentiums.

When I first got it, bare bones salvage from a skip, it had BIOS 1.00.01.BI0. You can/could download all the EISA config utils and cfg files from intel. Mine had a RAID card too and all the files for that are available and come with drivers for 95.

I put some ordinary 70 ns ram into it, not even edo. And all was fine, then in a fiddling fit I upgraded it to 1.00.18 from the intel site and it no longer booted until I found some parity ram to swap at work.

With 32 MB ram and twin 133's it ram Win95 OK, WinNT4 smoothly (one processor for the mouse and one for work!). Never tried linux, I got as far reading that you only had to download the kernel source, change a few lines and recompile...

I understand redhat supports SMP now. If I get a permenant cable connection sometime I was going to configure the old server to be a firewall/proxy/cache.

As an electronics engineer I never throw stuff away.

ive got a contact at intel so maybe i can get the old bios as a download from them. they nolonger directly support the altserver and put me in contact with inbus (who only deal with units that have servive contracts on them)- and they are in the US.

this is my fist dabbling with nt and smp so we shall see how it goes

my altserver has no raid card but 6 hotswap scsi bays in the base which i gather is unusual.

its strange about engineers being attracted to these things - just to fiddle and get it working.....

i too am an engineer- in an itv tv station working in transmission and program production and always tinkering with some piece of redundant equipment - our it dept treats my car like a skip, allen will use that odd looking item for something ..... even if to prop the door open

anyway hope to speak to you soon,ive got to pickup the altserver from work tomorrow so her indoors wont be impressed ( again ) i will try edo ram as i have loads at the moment and scour the intel site for the config utils

regards
Avatar of chris_a

ASKER

I find her indoors doesn't fully understand that the spare bedroom is in fact designed as the place to store the unix worstation monitors, spare power supplies, wierd scsi devices etc...

Do you get the last laugh at work when they realise they have thrown away something usefull, and have to ask for it back.

A few weeks ago our MD decided we only use CDs now and threw away all the original floppy disks in the fire safe, they never learn.

I will see what files I still have for the altserver, I will try and zip them up and put them up on my  site for you pick up.

Chris
well ive got it fired up it had bios 1.00.18 but i found 2 x 4 mb sticks of parity in a box of EDO i had,and put an old 50mb ide drive on with dos installed. my next task is to aquire a scsi drive and some more ram for it then try nt4

thanks for the offer of drivers if you find them i would be grateful, let me know your homepage addr.

How do i rate you on this site?

and as for work they never ask they buy new ! for example we are spending more on hiring a piece of kit for a month for more than it would cost to buy new !
( and i bet they hire it for 6 months )
what a bunch of ........s

anyway speak to you soon

regards
hi chris

my email has been down for a couple of days - i have now changed my server, so please email me your site address to :- altexpert@genisis.clara.net

i am now looking for som sca drives to complete the system !

regards allen
Avatar of chris_a

ASKER

Allen

I have put the files I could find on floppies onto my site at the following addresses:

http://www.sirocco.f9.co.uk/bios17.zip
http://www.sirocco.f9.co.uk/bios18.zip
http://www.sirocco.f9.co.uk/scu308.zip
http://www.sirocco.f9.co.uk/scu331.zip
http://www.sirocco.f9.co.uk/scu340.zip

The scu disks allow you to configure the EISA bios and SCSI adapter.

You may need to make up bootable disks for these.

Good luck

Chris