PPCGeeks (http://forum.ppcgeeks.com/)
-   HTC Vogue Development (http://forum.ppcgeeks.com/htc-vogue-development/)
-   -   How To's For Developing. (http://forum.ppcgeeks.com/htc-vogue-development/20550-how-tos-developing.html)

jakdillard 03-08-2008 07:41 PM

How To's For Developing.
First off I want to make a tutorial thread for potential rom developers.
I do not intend for this thread to become a question pot for noobs please if you are not familiar with rom creating or comfortable with the idea of royally messing up your phone please do not post here search first ...........

Fellow Developers if you have a tutorial that you want to share please post it here .........

Edit by: budney

Any post that is not tutorial will be deleted. ***Wideawake's post will stay to encourage all who can to contribute to this great thread!!!***

If you want to thank the person who helped you or who originally did the tutorial, please give them!!!

Questions about these tutorials can be asked in the link below. :)


jakdillard 03-08-2008 07:42 PM

Porting SYS
1 Attachment(s)
Alright this first lesson is how to port a SYS folder from another device

The tools you will need for this is G'reloc your kitchen OEM folder and SYS folder and SYS folder from other rom.

Ok Step 1
Decompile your donor rom in your kitchen so that you have a SYS folder OEM folder and Rom Folder. Once you have this done place the G'reloc tool in the kitchen folder, run G'reloc , what this tool does is relocates the modules in the SYS folder using the info from the .vm imageinfo.bin, there are three important slots that you will need to get the info from they are slot 0: slot 1: and size of rom . What you will need to do now is write down those numbers exactly how they look for each slot.

Step 2

Move your Donor SYS folder out of your kitchen to a safe place (ex C:\desktop\Kitchen move donor to C:\SYS) then you want to get your new SYS folder from other rom (ex Kaiser SYS) and place it in your kitchen . Run G'reloc again and this time fill in the slots metioned above with the values of the last G'reloc run (ex slot 0: from 1st run value 01F30000 replace with new value slot 0 : 01FDE0000) then on G'reloc press the "doit!" button let it run until its done . Now on to building, add your oems in your donor OEM folder then build............(in some cases device may not boot because the new SYS will need the WINCE_NLS folder from donor SYS)


"Device will not go past HTC screen "
You must make sure the the WINCE_NLS folder is in you new SYS folder ........

"Bluetooth does not work"
In your new SYS folder delete the Bluetooth folders the replace them with the donor Bluetooth folders

Wideawake 03-08-2008 08:29 PM

Re: JD's How To's
Dude I have so been waiting on someone to share this info with the community! You are the man. Hope we get alot more tutorials in this thread! Thanks for sharing and posting. :thumbleft:

jakdillard 03-13-2008 01:04 PM

How To Use a Radio From Another Device
1 Attachment(s)
This is a really easy task


Alright heres how its done

Using the NBHTOOL break down your donor nbh file (ex if you want to use a titan radio get a titan rom)

In NBH TOOL you will see 3 tabs

1st tab NBH TO NB .....
This is the option you want to use to break down your donor rom it will be broken down into NB files .... select a destination for you output folder (ex C:\rom\titannb) there you will find your nb files

Next what you want to do is after you have your rom broke down open the nbhtool and use the 2nd tab NB TO NBH you will find that is has spots for each part of the rom find the spot for the radio click the browse button next to the radio spot and find the radio.nb file ...... open it to that spot then in the device ID for a vogue you would type in VOGU100 for a titan TITA1000

Next type in what you want to call the rom (in the version box you can type titan_radio1.12) or whatever then press the generate button and WHAM your done .....


dereknjenny04 03-21-2008 12:06 PM

How To Change the Boot Splash Screens
1 Attachment(s)
This how to will allow you to change the boot splash screens.

Download the attached file and unzip to a folder ( assuming C:\splashtool for this tutorial )

There are 2 images you can change. The first image is displayed with all the versions, etc.. and then the second.

Find 2 image files that you want to use and resize them to 240w x 320h. I have done in both JPEG and BMP format.

1. ) Once you have those 2 files, copy them to the C:\SplashTool\ folder.

2. ) Open the tool nb_image_converter_859_418_826.exe and press the "Load..." button to select the first image from C:\splashtool\.

3. ) Click on the "Save to .nb" button and save the files as 01_MainSplash.nb. It should produce a 150Kb .nb file.
*** Files should be saved in the C:\Splashtool\ folder.

4. ) Repeat for second image, but name it 02_SubSplash.nb. If you forget to rename, you can always just rename later.

5. ) Run "MakeBootSplash.bat" This will generate a RUU_signed.nbh file that you can flash.

***** This will hard reset your device ******

I found the tool "nb_image_converter_859_418_826.exe" over in XDA. Not sure who developed it, but many thanks to whomever it was.

PapaDocta 04-02-2008 04:31 AM

How to use NBHextract.exe and NHBgen.exe
1 Attachment(s)
say you want to extract the OS from an official shipped released and then flash it to your phone (note your phone should be unlocked before flashing) here is the steps how to do it..

1. get NBHextract.exe and NBHgen.exe.
2. create a folder (anywhere you want) let's create one in C:\test_rom (any name you want)
3. download any shipped ROM you want (hutch, Sprint, Bell, or etc) and extract the content of the shipped rom. copy the RUU_signed.nbh file to the C:\test_rom folder.
4. open the command line (start menu>run>cmd) and go to the folder you create (cd C:\test_rom)
5. type NBHextract.exe RUU_signed.nbh it will now extract the content of the ruu_signed file into 4 parts ( 00_SPL.nb, 01_MainSplash.nb, 03_GSM.nb, 04_OS.nb) in this case we'll take the 04_OS.nb.
6. create a simple text file and type the following:
VOGU100 <=== model of the device
HTC__029 <=== CID
1.12.470.1 <=== version info
USA <==== Language
400,04_OS.nb <=== header info

now save the text file after you inserted the above info (without the <=== and text after it) and name it anything you want.. in this example i named it file.txt
7. still in the CMD (command prompt line) type NBHgen.exe file.txt and hit enter.. now it will convert the .nb to nbh and it's now ready to be flashed to your phone..

8. use http://rapidshare.com/files/88767429/RUU.zip.html and put the new nbh file to flash..

hope this helps and special thanks to ImCoKeMaN for his help. i have tried it on Bell's rom and flashed it to my phone without a problem.

i attached the files along with the file.txt.

p.s i haven't seen this posted anywhere here so i posted.. and also this would apply if you want to extract the radio by itself and flash it.. just change the last line in the text file from 400,04_OS.nb to 300,03_GSM.nb..

AceszHigh 05-17-2008 01:42 AM

Tutorial: Integrating Custom Registry Settings into a ROM w/ ProvXML - Lazy Man's Way
How to integrate custom registry settings into a ROM via a ProvXML file and OEMizer. No prior knowledge of coding required!


rstoyguy 05-24-2008 08:55 AM

Re: How To's For Developing.
The following are links to tutorials on Customizing Custom Rom's:

[TUT] Creating OEM's for your ROM
This tutorial will help you create OEM's for your Roms.

Creating Today Theme OEM's for your Custom Rom - Tutorial
This tutorial will allow you to include a custom Today Theme in your customized rom. Again, written to help the aspiring Chef of tommorrow!
PPCKitchen.org BuildOS Friendly!

Tutorial: Adding Registry Entries to your Rom (RGU Method)
This Tutorial will allow you to include your registry entries into your rom. I wrote this for the aspiring Chef of tomorrow! After all, Subtle Tweaks make all the Difference!
PPCKitchen.org BuildOS Friendly!

Customizing Rom Sounds - Sound Themes Tutorial
Have you ever wanted to customize the Sound Theme in your ROM? This tutorial will show you how to customize the Sounds in your Custom Rom!
PPCKitchen.org BuildOS Friendly!

Customize your StartMenu for PPCKitchen.org's - BuildOS - Tutorial
Have you ever wanted to customize the Start Menu in your ROM? This tutorial will show you how to customize the StartMenu, even those pesky ones like Help, Internet Explorer, Phone, Contacts, and Calendar that show up when you tap on the Start Menu!
PPCKitchen.org BuildOS Friendly!

Customizing Your Rom: Adding Personal Files & Other Stuff
Do you have certain files that you must have with a new flash or hard reset? Ringtones, Office templates for work, or others? Ones you can't lose if you have the dreaded "Corrupt Storage Card" issue, then this tutorial will show you how to insert your files into your rom and copy them where you want them so you will always have them!
PPCKitchen.org BuildOS Friendly!

How to Customize a Custom Rom: Adding/Removing Programs
Does your favorite Chef include files/programs that you don't use? This will show you how to delete those programs you don't use and insert the ones that you do use! (This method doesn't always work with a PPCKitchen.org custom rom).

If you enjoy my work...Donate!

mrgeoff 07-05-2008 11:48 AM

Re: How To's For Developing.
Here is a link to a thread for Provxml reference:


gguruusa 08-10-2008 09:54 PM

Re: How To's For Developing.
I wrote this for a thread over at XDA-Developers, but no reason for them to have all the glory! (LennySh is translating a chinese tutorial that has pictures, if this isn't detailed enough for you)

How to Port a XIP

Your steps should look something like this :
NOTE: This does not cover more advanced topics. This is the BARE MINIMUM of steps to reliably get a working ported xip from a reasonably similar device.

If you don't know how to use a hex editor, don't know how to do hex arithmetic, or don't know how to put your phone in bootloader STOP NOW.

1) get your base rom (preferably an original and not someone's frankenrom)
2) get your donor rom (preferably an original and not someone's frankenrom)
3) cut the xip section out of each rom using a hex editor. XIP sections start with ECEC and end with a bunch of FFFFFs (there are two XIP sections, you usually want the 2nd one starting at x31000 or x32000 and ending at the the start of IMGFS)
4) use xipport (there are two versions, make sure you get the later version) to dump your base xip (if you end up missing imageinfo.txt files, you are using the wrong xipport version)
5) use xipport to "Make Maps" of your base xip
6) use xipport to "make pkgs" of your base xip
7) rename the base xip out dir to out.base
8) use xipport to dump your donor xip
9) use xipport to "make maps" of your donor xip
10) use xipport to "make pkgs" of your donor xip
11) rename the donor xip out dir to out.donor
12) copy out.base to out (or dump your base xip and make pkgs again)

at this point, you should have out.base, out.donor, and out (a copy of out.base)

13) delete the MSXipKernel and MSXIPKernelLTK folders from files and modules in your out dir
14) copy the MSXipKernel and MSXIPKernelLTK folders from files and modules in your out.donor dir to the same locations in your out dir

You are done with out.base and out.donor. Everything from here on is done in out.

Make some space for your new, bigger xip by deleteing the following:
15) delete hd.dll and hd.dll.txt from modules/MSXIPKernel
16) delete osaxst0.dll and osaxst0.dll.txt from modules/MSXIPKernel
(Moving WinCEnls from XIP to SYS is a good way to get a bunch of space)

Use M'reloc to relocate the V(irtual base) and D(ata) sections of all your donor modules donor modules are the ones in modules/MSXipKernel and moules/MSXipKernelLTK
17) Use the Map.txt file to identify your base address
18) Use M'reloc to move the modules so they are contiguous. (you hex calculator can help you here...adress of prior module+length of prior module = start of next module)
19) update the (module)/imageinfo.txt file v= and d= entries with the new values you used in M'reloc
20) repeat 18)-19) for each donor modue, being careful to remove any overlaps.

DO NOT MOVE nk.exe. If you really must move it, you have to use M'reloc-nk.
Personally, I recommend against moving any of the OEMXIPkernel modules, but to each his own.

20) use xipport to "Undo" (this undoes the "Make Pkgs")
If xipport fails, you botched your directory structure up. Delete OUT and start again from step 12)

21) use xipport to "Make Maps"
If xipport fails, you botched your m'reloc assignments. Start again from 17)

22) search map.txt for !!!!!!! in first two sections (data and virtual base)
if you find any, go back to 17) to resolve.

At this point, you should have no !!!!!! in the first 2 sections of map.txt

23) Use xipport to ReAlloc P
24) use xipport to "Make Maps"
25) search map.txt for !!!!!!
if you find any, you need advanced help.

You have now "ported" your donor xip (assuming it works!).

26) use xipport to "Build XIP out.bin"
27) use xipport to "Insert XIP" into your base rom at the XIP address you cut the base xip from in step 3)

28) flash your rom.
If it boots, check settings/system/about version numbers for your donor xip build number.

If the build number does not match the donor rom, you screwed up 14), 26), or 27)
If it won't boot, you either screwed something up or your donor xip is not compatible. Try again or seek advanced help. Once you understand the technique, steps 21)-27) can be done while m'relocing to test your changes incrementally.

All times are GMT -4. The time now is 07:16 AM.

Powered by vBulletin® ©2000 - 2019, Jelsoft Enterprises Ltd.
©2012 - PPCGeeks.com

Content Relevant URLs by vBSEO 3.6.0