IBM Thinkpad 600E bios mod for processor update

Don't ask how to hack password. (BIOS Passwords)
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

I got rid of the memory stability problem by disabling the 32M PC66 memeory that is built in the motherboard. I found out that byte 2B of CMOS controls the SDRAM banks. Bit b0 disables internal 32M memory. By changing the content from 80 -> 81 the 32M is disabled.

Now I have two 128 Sodimms working fine. No need more to seek for cas3.
ajzchips
El cheapo dude
Posts: 3048
Joined: Sat Mar 23, 2002 12:41 pm
Location: Madrid, Spain

Sharedoc, if I were you, I'd publish a site dedicated to that laptop and all of the stuff you've been working on.
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

I am back in searching a way to put the memory in CAS3 mode. The reason is that I am trying to use 133MHz bus speed. I can run 133 with one 128M PC100 SODIMM memory but not with two memories installed. On the other hand, I have checked with several PC133 memories but then the bios does not even post but beeps. So my need is to slow down the memory bus by forcing to insert cas3 setting.

Sofar, I have dumped the bios binary code from the memory with bios1351-utility. I have studied the binary code with disassembler and searched all references to BX chipset registers 0CFC and 0CF8. I know from BX chipset datasheet that Cas2/Cas3 bit is in 0CFC+offset 76, where bios now writes 04, and I should find a way to put there 00 during the BX chipset initialization phase. Additionally I have found out that CMOS holds partial copy of BX initialization data. Although I can change the BX initialization data in CMOS, it seems to be overwritten during post, so my changes do not seem to have any effect.

My problem is that looking at the bios code parts that reference BX registers it doesn't seem to write anywhere near to offset 76, it only goes up to to 66. My eyes are now sore for several evenings eyeballing the disassembled code. Does anyone know how bios is dealing with the BX chipset, where to look for the proper place in the code.

Any help will he appreciated.
pkiff
BIOS Newbie
Posts: 16
Joined: Mon Jun 28, 2004 7:29 am

Sharedoc (and anyone else who can help!):

I am trying to use your information to edit a ThinkPad 770Z CMOS in order to eliminate the 127 error on boot in that machine. Like you, I have replaced the original PII with a PIII, and I get a 127 error on boot. By pressing ESC, then F1, I can bypass the error and the OS will boot up fine. The L2 cache is not enabled at this point, but using a cache utility such as the PowerLeap utility you identified, I can enable the L2 cache and everything seems to work fine from that point on. So basically, I'm in almost the same situation as you were when you were working on this back in August 2003.

Unlike the 600E, however, the base memory on the motherboard of the 770Z is replaceable. I have replaced the original 64MB 66MHz memory chip with a 128MB 100MHz chip. This new, PC100 memory seems to work fine, BIOS tests on the memory indicate it is "OK", and monitoring utilities indicate it is running at 100MHz.

I don't know how far you got with your efforts to upgrade your 600E, but ALL I want to do is to eliminate the boot 127 error. If I can get rid of that, I think the 770Z will run just great. (It runs just great now, except that it displays that 127 error on boot up, so you have to type those extra keystrokes, but other than that everything appears to work as it should).

I see that I can get into a CMOS editing mode on my ThinkPad through the Easy-Setup Config, but I am leary of making edits to my CMOS. Indeed, I probably shouldn't be in this forum at all, as I barely understand the difference between bits and bytes. Nevertheless, I think that the 600E and the 770Z are actually pretty similar machines, and I am considering trying to edit my Base 128 CMOS the same way you edited yours in order to remove the 127 error.

What exactly should be my process for this? Once I make the change to the CMOS, do I need to use the "Initialize" function from the Config menu? Before rebooting? Do I need to make some other change so that the CMOS checksum is the same after I edit the CMOS as it is now? Do I need to make the identical changes in the Base 114 CMOS copy that is also available through the Config hex editor?

And how exactly do I figure out which byte to change? In the System Configuration Edit Utility for the Base 128 CMOS, I see a grid like this:
--- 0 1 2 3 4 5 6 7 8 9 A B C D E F
00
10
20 *
30
40
50
60
70

There are two hexadecimal entries in each spot. Those are each bytes, with each set of two characters representing a series of 7 or 8 off/on bits, is that right? The value of the byte at the location marked with an asterisk is currently "02". From what I can gather out of my ignorance, I figure that is byte 20, and since I currently have the same value as you originally had, I am guessing that if I change that byte to 0A, then I might have a vague, distant hope of disabling the L2 cache or something so that the POST won't issue the 127 error any longer.

That small change seems like even I could do it, but then what else do I need to do before rebooting?

Any advice or warnings you have to offer would be greatly appreciated.

Phil.
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

I don't know if your machine has the same bios than mine 600E. Anyway, this is how I do in my 600E.

When you boot, you get bios post error 127. Then you shoud do the following:

Choose "test", choose "exit", choose "config", hit "ctrl-d", opens
bios hex-editor. Take cursor to position 20, key "02" -> "0A", hit "F2", hit "esc", choose "exit", choose "ok", and reboot.

Next boot should go without error-127

The hex-editor calculates the checksum automatically.

In case you edit the bios data and the machine doesn't boot correctly, you can always reset the CMOS data by taking out the bios cmos battery for 30 seconds. After that the next boot will preset it to initial values (you have to set the time also).

Hope this helps. Let me know if it worked.
pkiff
BIOS Newbie
Posts: 16
Joined: Mon Jun 28, 2004 7:29 am

OMIGAWD! You cannot believe how much you ROCK!

I couldn't wait for all the normal safety precautions that anyone with a brain would have made before making the edit, so I just went ahead and did it as you described.

The 770Z Boots clean!

Haven't tested everything yet, but I think THAT is EXACTLY what I needed, and nothing more.

Thank you so much for your prompt and clear assistance.

FYI, I will be posting results and further info on two ThinkPad mailing lists:
ThinkPad Mailing List
Thinkpads.com Forum - 770Z CPU Upgrade Problems - PIII 500, 100MHz Mem, 127 Error

Phil.
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

Kippis - Cheers - Prosit
icbm2000
New visitors - please read the rules.
Posts: 1
Joined: Wed Jul 14, 2004 7:46 am

Great Info sharedoc,

So while exploring the bios, have you found a way to allow for two 512 memory chips? Also if I buy a p3 800 cpu, the only thing I will have to do is do the l2 tweek?

I love to tinker. My 600e used to be a 600.

Let me know,

Ken
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

Nope. Two 256M SODIMM memory units are supported by 600E.

Yes. MMC2-PIII-800MHz should run ok with the cache tweaks.
Pera
New visitors - please read the rules.
Posts: 3
Joined: Sun Sep 26, 2004 1:32 pm

Would the MMC2-PIII-800Mhz run at 800Mhz?
I read that the 600e doesnt support speedstep and that the PIII-800Mhz would run at max. 500Mhz... Is that true?


/sry 4 my english -->from germany
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

Yes, it is possible. I have found out a mod how the Speedstep circuit can be bypassed and processor force started with the higher speed. The mod requires soldering, though.

I haven't published the mod yet. Anyone interested? Hehe...
Pera
New visitors - please read the rules.
Posts: 3
Joined: Sun Sep 26, 2004 1:32 pm

THX for the fast answer :)
I'm very interested :lol:
What do I have to solder? Something on the Motherboard or on the CPU?
I have a PIII 750Mhz, at what speed would it run now(would it run at all??)
On a TP600e 2645-4A0
...so many questions.....
Thx again for your help :!:
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

As far as I remember PIII-750 will run 600MHz if you install it.

Soldering is required to the processor module to bypass Speedstep circuit.

I need to take a photograph of the mod. Otherwise it is difficult to explain.

Come back later do describe the mod.

Bypassing Speedstep has some unwanted side effects, though. I will explain them also later, hehe ...
Pera
New visitors - please read the rules.
Posts: 3
Joined: Sun Sep 26, 2004 1:32 pm

The CPU runs at 600Mhz right now. I've also put 2x 256MB PC100 Kingston CL2 RAM in. Everything works fine till now :D
Can't wait to see how the mod works.
Sharedoc
Notebook Genius
Posts: 679
Joined: Mon Aug 18, 2003 8:46 pm
Location: Finland

By the way, I have also found a way to set the FSB bus frequecy to 108MHz and thus overclock the processor 8%, ie in above case to ~650MHz or with SpeedStep bypassed to 810MHz. This mod requires also small soldering on the motherboard under the processor module. This is very clean overclock, everything works, it has no negative side-effects.

I'll post that mod as well (propably next Sunday, when I have enough time to open the 600E).
Post Reply