Link to home
Start Free TrialLog in
Avatar of Pancake_Effect
Pancake_EffectFlag for United States of America

asked on

Convert 8704MB into hex for me?

I'm working on a memory translation issues on my mobo.

I see an example that 0x1A0000000 = 6656MB.

I know my number is 8704MB. What would that be if converted into a hex memory address as shown above?

For reference on more details, this question was derived from this following EE post:
https://www.experts-exchange.com/questions/28233899/Can-someone-convert-memory-address-hex-into-MB-for-me.html?anchorAnswerId=39474787#a39474787


------------


Long Story, I have to do some memory mapping to fix a problem with a crappy foxconn mobo to accept my fermi motherboard haha. That is the hex number I got from my mobo, I just don't understand how to view that as a MB form.

This is the guide I'm following:



vladh4x0r wrote:
cjmc45321988, just wrote a walkthrough for you below -- beer appreciated :D. It is a manual process that involves memory address computations, and was never meant to be user-friendly -- blame your mainboard BIOS writers for having to clean up after them. If you get stuck somewhere, post the specific step (and the output of the commands), and we can try to help further. In the future, please provide the relevant hardware configuration - in this case at minimum the Windows version (and 32-bit vs 64-bit), amount of RAM installed, and exact mainboard model.

To summarize:

1) Boot into 64-bit Linux, run these commands, and save the output:
dmesg | grep e820
cat /proc/mtrr

2) Get the last memory address (from the first command). In the above example, it's 0x1AC000000 in hex, or 6848MB:
[ 0.000000] BIOS-e820: 0000000100000000 - 00000001ac000000 (usable)

3) Compute the last address covered by write-back MTRRs (from the second command). In the above example, it's 6144MB + 512MB = 6656MB or 0x1A0000000 in hex:
reg02: base=0x180000000 (6144MB), size= 512MB: write-back, count=1

3) If the sizes are the same, stop here - this is not the problem. If the sizes are different, the first number is expected to be larger than the second number. Take the smaller number. This is the top address of your cached memory. In the example above, it is 0x1A0000000 hex, or 6656MB.

4) Boot into Windows, and change the current Windows boot loader entry to truncate the memory at this lower address. Make a backup copy of the current loader entry first, in case of error. For Windows 7, the steps are (must run from a command prompt that has been "run as administrator"):
bcdedit /copy {current} /d "Windows 7 - copy"
bcdedit /set {current} truncatememory 0x1A0000000
ASKER CERTIFIED SOLUTION
Avatar of Joe Winograd
Joe Winograd
Flag of United States of America image

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
Avatar of Pancake_Effect

ASKER

Thanks again! After adding that information to my boot loader, my motherboard is now recognizing my memory. Thank you again! Saved me a few hundred dollars from replacing the mobo.
You're welcome again. Very glad to hear that you saved some serious money!