Sie sind auf Seite 1von 6

Howtoguide:AddaSLP2.0SLICandSLP1.

0stringtoVirtualPC2007
Toolsused:

ResourceHackerhttp://angusj.com/resourcehacker/
AMIMMToolv2.22.1Beta
HexEditor(forexampleWinHex,likeiusedinthisguide)

Whatelsedoyouneed:
MicrosoftVirtualPC2007
http://www.microsoft.com/downloads/details.aspx?FamilyId=04D26402319948A3AFA2
2DC0B40A73B6&displaylang=en
ValidXPoembiosfileset(ASUSinthisguidecase)http://www.oembios.net
'f000','c000','3fff','ASUS_FLASH'
ValidVistaSLP2.0SLICtable(InthisguideiusetheASUSslic)

1. FirstthingwehavetodoistoextracttheBIOSfilefromtheVirtualPC2007executable.
OpenVirtualPC.exewiththeResourceHacker,SelectBIOSfromthetreeviewontheleftside,
rightclickwithyourmouseandchooseSave[BIOS]resources...

Fourfilesareextractedtothedirectoryyouspecifiedtosavetheresourcesto,eg:*.rc,
Data_1.bin,Data_3.binandData_3.bin.WeonlyneedData_1.binsoyoucandeletetheothers.

RenameData_1.bin,InthisguideirenamedittoBIOS.ROM.

2. StartMMTool,opentheBIOS.ROMyoujustextractedandclickthePowerMMToolbutton.
ClicktheExtracttab,selectthe1Bmoduleandextract.

3. OkwewillstartbyaddingtheSLP2.0Slictable.
StartyourHexEditor,openthe1B.ROMfileyoujustextractedandsavedusingMMTool.
Findthefollowingtextstring:AMIBIOS0800
Ok,onceyouhavefoundityouwillseeitislocatedatoffset:137FD

ThisAMIBIOS0800stringisquiteuniqueasitisalwaysremappedto000FF400hmemoryaddress
inyourrunningbios.
KnowingthiswecanaddtheSLP2.0Slictablehere,andmakeitsoitwillalsoberemappedtoa
fixedaddressinyourbiosmemory.
StarttheCalculator,ChooseScientificview,nowtaketheoffsetwefoundtheAMIBIOS0800
stringminus200h,eg:137FD200=135FD
BydoingthiswenowknowforsuretheSlicaddresswillberemappedto000FF200hmemory
adrress(000FF400h200h=000FF200h)

NowopentheASUSSlicintheHexEditor,Selectall(Ctrl+a)>ClickEdit>CopyBlock>Hex
Valuesandwriteit(Edit>ClipboardData>Write)inthe1B.ROMatoffset135FDfoundabove.

IntheHexEditorsearchstring:RSDT(Shouldbefoundatoffset2882C)

RaisetheRSDTtablelengthbycounting+4htoit,eg:taketheHEXvaluerightaftertheRSDT
string,inthiscase28+4=2C

ReplaceAMIOEMRSDTwith_ASUS_Notebook
FromtheRcharacterofRSDTstringcount40bytesupandinsert000FF200hinreverseorder,eg:
00F20F00

RepeataboveactionfortheXSDTtable,raisetheXSDTtablelengthwith+8h(2C=8=34)
ReplaceAMIOEMRSDTwith_ASUS_Notebook
Andlastcount44bytes(40+4asits4byteslongernow)uptotheXcharacteroftheXSDT
string.

4. AddingtheSLP1.0String

NOTE:SLP1.0requirementscanbeachievedforabout90%oftheOEMpartnersbysimply
addingthedesiredSLP1.0stringtoyourcomputersDMItable.
Thereareexceptiontothis,forexamplethe'ASUS_FLASH'stringshouldbelocatedimmemory
priortotheDMItable.

Whatis'f000','c000','3fff','ASUS_FLASH'?

- F000,C000 -> Start Address (0x000FC000) of the SLP Address


- 3FFF -> Address range in bytes (in hex)
- ASUS_FLASH -> SLP 1.0 String which must be placed in the address range

Todeterminewheretheslp1.0stringshouldbelocatedrunHWDirectonaVirtualPCinstalled
OS,SelectMemoryDumpinprogramleftsidetreeview.
Type:000FC000asPhysicaladdress,3FFFasLength,ClickDumpbutton.
Findastringyoucanfindbackinthe1B.ROMmodule,scrollabitdownintheHWDirectdump
andyouwillfindaIBMCOMPATIBLE...string

In1B.ROMstillopenintheHexEditorfindstring:IBM,makesureyouattheexactsamelocation
asshownabove,NowyoucaninserttheASUS_FLASHstring.
Makesure,youdontoverwriteanythingthatmightcorrupttheVirtualPCBIOS,normallyempty
space000000000000canbeusedwithoutrisk,inthisexampleiwrotethestringatoffset:
123FD(Notexactlyemptyblockhere,butthatdoesntmatterinthiscase)

5. Savechangesto1b.ROM,SwithbacktoMMToolInthereplaceTabreplace1BModulewithour
newone,savetheBIOS.ROMfile.
InResourceHacker,replaceBIOS>13500>1033Filewithournewbiosfile,andsavethenew
VirtualPC.exe

6. Done!
YoucannowuseASUSVistaOEMCertifcatetopreactivateVistaonthisVirtualPC,futhermore
youalsocanuseASUSXPoembiosfilestopreactivateXPOEMmediaonthisVirtualPC

Das könnte Ihnen auch gefallen