Bios Mods -The Best BIOS Update and Modification Source

Full Version: M2NPV-VM to support Phenom II & Athlon II?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12
(03-26-2010, 07:42 AM)Ace Wrote: [ -> ]@ free radical

hi we have successfully integrated an updated agesa and this allows any cpus upto 940BE to work and be detected properly. But any AM3 cpus with dual power plane still have incorrected multiplier detection and default to x4 multiplier.

we need to look into somehow overriding this detection bit somewhere in the bios, if you have any ideas?

Code:
;---------------------------------------------------------------------------------
;---------------------------------PCI ROM Header----------------------------------
;------------------------------ M2NPV-VM 1001 BIOS ---------------------------

    ROM_SIZE_IN_BLOCK = 16        ; 1 means ROM size is 1 block (512 bytes)
    ROM_SIZE_IN_BYTE = ROM_SIZE_IN_BLOCK * 512

    VENDOR_ID    equ 10DEh    ; PCI Vendor ID (must match your ethernet vendor id)
                    ; exp: 10DEh = ????
    DEVICE_ID    equ 0269h    ; PCI Device ID (must match your ethernet devicie id)
                    ; exp: 0269h = M2NPV-VM NIC

ROMStart:
    db 0x055, 0x0AA         ; ROM Header 55,AA -> Bootable rom
    db (ROMEnd - ROMStart)/512    ; ROM Size in 512byte
    jmp MAIN

    db    0            ; checksum, to be filled in later
    TIMES    18h-($-$$) DB 0     ; padding zeros to offset 18h
    DW    PCIHDR            ; pointer to PCI Header
    DW    PNPHDR            ; pointer to PnP Expansion Header

PCIHDR: DB    'PCIR'            ; PCI data structure signature
    DW    VENDOR_ID        ; vendor ID                     (must match real PCI device)
    DW    DEVICE_ID        ; device ID                     (must match real PCI device)
    DW    0            ; pointer to vital product data (0=none)
    DW    24            ; PCI data structure length     [B]
    DB    0            ; PCI data structure revision   (0=PCI 2.1)
    DB    2,0,0            ; PCI device class code         (2=network ctrlr,0=eth.)
    DW    ROM_SIZE_IN_BLOCK    ; ROM size in 512B blocks
    DW    0            ; revision level of code
    DB    0            ; code type                     (0=x86 compitable)
    DB    80h            ; last image indicator
    DW    0            ; reserved

PNPHDR: DB    '$PnP'            ; PnP data structure signature
    DB    1            ; PnP structure revision
    DB    2            ; PnP structure length          (in 16B blocks)
    DW    0            ; offset to next header         (0-none)
    DB    0            ; reserved
    DB    33h            ; PnP structure checksum
    DD    0            ; device identifier
    DW    0            ; pointer to manufacturer string
    DW    0            ; pointer to productname string
    DB    2,0,0            ; device class code    (2=network ctrlr,0=eth.)
    DB    64h            ; device indicators (64h - shadowable,cacheable,not
                    ; only for boot,IPL device)
    DW    0            ; boot connection vector        (0-none)
    DW    0            ; disconnect vector             (0-none)
    DW    0            ; bootstrap entry vector        (0-none)
    DW    0            ; reserved
    DW    0            ; static resource info vector   (0-none)



MAIN:
    pushad                ;push all general registers
    pushfd                ;Push Flags Register onto the Stack (use 32)



;Set HTT Link Speed - M2NPV-VM 1001 BIOS

    mov ebx,000000400h        ; HTT multi:
                    ; 0h-1x; 1h-res; 2h-2x; 3h-res;
                    ; 4h-3x; 5h-4x; 6h-5x;

    mov eax,08000C088h        ; LDT0 Frequency Register
    mov dx,0CF8h            ; set port address
    out dx,eax            ; send address through the port
    mov dx,0CFCh            ; set port data
    in eax,dx            ; fetch data
    and eax,0FFFFF8FFh        ; set data in eax
    or eax,ebx            ; increase data
    out dx,eax            ; send data through port data  

    popfd                ; Pop Stack into  Eflags Register
    popad                ; Pop all general Register
    retf                ; Return Far from Procedure

    times (ROM_SIZE_IN_BYTE-$) db 0 ; use 00h as the padding bytes until we
                    ;reach the ROM size

    ; The last byte (512th) will be the patch_byte for the checksum
    ; patch_byte is calculated and automagically inserted below
    PREV_CHKSUM = 0
    repeat $
    load CHKSUM byte from %-1
    CHKSUM = (PREV_CHKSUM + CHKSUM) mod 0x100
    PREV_CHKSUM = CHKSUM
    end repeat
    store byte (0x100 - CHKSUM) at ($-1)  ; store the patch_byte
ROMEnd:

Polygon from therebelshaven wrote me that PCI rom code for forcing the HTT multiplier to a set value (edit the HTT multiplier hex with the multiplier you want).

Compile it using fasm and replace your LAN boot rom.

This multiplier will take effect every time you start up your computer.

unfortunately in my case this had an undesirable effect of trouble shutting down or restarting and I had to shut down manually and start from a cold boot. ymmv
So close! Keep up the good work guys...
Hey considering you have the same mobo as me, would really appreciate if you could test too Smile
I don't have any flasher / bios recovery tool either.
Ok, here's to get you started.

This is a 100% working 1401 BIOS (tested) with only the cpucode updates and the original AGESA.

http://downloads.erodov.com/a/s/u/ASUS M...CPU_FR.zip
(05-29-2010, 09:16 AM)TheWiz Wrote: [ -> ]Anyways, did we try a 3.7.0.0 AGESA from ASUS yet?

Chris

Ok. I tried again with the AGESA v3.3.2.7 from the M2N-SLI-Deluxe-5001 BIOS.

Same issue.

Ditto with an older AGESA v3.1.9.1 donated from M2N-E BIOS 1703 Sad

No change with cmos resets / disabling virtualization etc.
I still have to disable ACPI to boot into the OS.

Under a hex editor, I noticed that the headers from the AGESA version in the original BIOS and the new ones are a bit different.

Original :
Code:
U....AMD!GESA... f=IRTSu
New :
Code:
U....AMD!GESA... !!AGESA V3.1.9.1.f=IRTSu
Code:
U....AMD!GESA... !!AGESA V3.3.2.7.f=IRTSu
Hmmmm.... its beena while since I looked but if there is no MEMINIT in the original BIOS that may explain why these agesas you are ading are not working.
any way around this?
Well im assuming that answer means there is no meminit which means that there really isn't a way around it because all those later AGESAs require MEMINIT which can't be added unless its already there. What you could try to do is we can go on a hunt for a same spec board use its bios, test it, and reimport important ASUS roms like raid etc. That's what we did for my OEM board and Im pleased as could be Smile

TheWiz
I expected that answer
I guess this mobo is a lost cause.

big risk crossflashing Sad
especially since I have no flasher and the bios chip is soldered

Besides, this was a one of its kind mobo for its time so its unlikely that I find a similar one.
I don't think the M2N-E SLI deluxe has much in common with it.
Unfortunatly no. I will see if I can't make headway in your AGESA version and see if there is any shot, but I think you have Crash Free BIOS right?
Pages: 1 2 3 4 5 6 7 8 9 10 11 12