Computer Hardware

Moderators: None (Apply to moderate this forum)
Number of threads: 711
Number of posts: 1421

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Bios/CMOS Registers? Posted by maex on 9 Apr 2004 at 1:05 PM
Hello;
i'm trying to write a programm that slows down the CPU-Frequenz by manipulating rthe CMOS-Registers, like you can do in the Bios-Setup.
It would work, but i need the exact Information about the CMOS Memory-Layout (the Registers 0x70...).
There are only very old Information/ CMOS-References which do not exactly inform about the extended Checksums.
The german 'BIOS-Kompendium' for example is not complete enough.

By the way; it's an AMI-Bios.

Thanks, Maex
Report
Re: Bios/CMOS Registers? Posted by jeffleyda on 19 Apr 2004 at 7:06 AM
: Hello;
: i'm trying to write a programm that slows down the CPU-Frequenz by manipulating rthe CMOS-Registers, like you can do in the Bios-Setup.
: It would work, but i need the exact Information about the CMOS Memory-Layout (the Registers 0x70...).
: There are only very old Information/ CMOS-References which do not exactly inform about the extended Checksums.
: The german 'BIOS-Kompendium' for example is not complete enough.
:
: By the way; it's an AMI-Bios.
:
: Thanks, Maex
:

Aside from the date/time, floppy drive types and a few other bits and pieces, there is no standard layout for CMOS memory. It is entirely vendor specific, so the only way to get a map of CMOS would be to ask AMI for it. This map will likely change between BIOS revisions and different platforms as well.

However, you can find what you're looking for a different way.
Find (or write) a program to save the contents of CMOS to a file, then change the CPU frequency by 1, then dump CMOS again and compare the 2 files. You should see the change in frequency show a different value in CMOS, along with a CMOS checksum byte that changes. From there, you should be able to deduct where the frequencies are stored and know what values are for each. It'll take some work, but you can get it.

Some things to be aware of:
a) the checksum for CMOS may not be the last byte of the CMOS map.
b) the frequency tables might be stored in the 2nd bank of CMOS memory. You would use ports 72 and 73h to access this bank.

let me know if you need help getting access to CMOS.

-jeff!
Report
Re: Bios/CMOS Registers? Posted by danderson00 on 5 Feb 2009 at 5:27 AM
Hi Jeff,

I know this post is a little old, but I'm interested in writing an app that records bios settings such as FSB frequencies and voltages automatically. Does your method of reading the CMOS settings still work?

I recognise the effort involved in mapping out the CMOS (probably for each and every different motherboard, but I'd like to investigate how difficult this is.

I can see considerable value in a reusable open source library for doing this!

Do you have some code that will do the trick?

Cheers!
Dale Anderson



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.