- 积分
- 61
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
先前bryan2k4大侠发了移动 palette.dll 到C,非完美版!,现在又发现了FCA00000大侠的最新版。
此版本可以使用6个调色板:
3 in Z:自带的palette.dll前三个调色板
3 in C:自己修改的palette4.dll前三个调色板
; *** FCAPalette 1.5 ***
; *** Allows palette on C: drive ***
; Author: fca00000 , fca00000-at-yahoo-dot-es
; Date: 2006.01.06 v1.0
; Date: 2006.01.14 v1.1 autostarting
; Date: 2006.01.22 v1.2 autostarting after 1 second
; Date: 2006.03.24 v1.5 up to 3 palettes
; Firmware: Siemens-SX1 Possibly all versions. Tested on Iberia15.2 and O2-14
; Omap: Core-Img (Z1)
;
; This patch allows the colour palette on C: drive. But needs to be reloaded every time phone switches on.
; 1- Copy z:\system\libs\palette.dll into your PC and rename as palette4.dll
; 2- Run program FCAPalette.exe . This will output a patch
; 需要先在电脑上运行程序产生补丁字符串
; 我试下来简体中文15版的补丁为
replace:05480068012809D0012813DD022809D003280BD00EE000000030075800480AE0:0548006802B407210840800003490918086802BC7047000000300758086C2950686C29506880295068942950043007580444075804580758
; If replaced string can not be found, send me your z:\system\libs\palette.dll
; 3- In mobile, copy z:\system\libs\palette.dll into c:\palette4.dll .
; Do not forget to append number '4' at the end of name. File must use exactly 21,256 bytes
; 4- If you have c:\palette.dll then delete it or phone will crash. Only solution is to re-flash Lffs
; 注意文件名为palette4.dll,如为palette.dll将死机需要格机
; 5- Apply the patch generated in step 2.
; 6- Install patch which allows using 6 palettes需要格机才能显示
; 也可以使用PaletteExtender打开被关闭的2个调色板,使之成为6个(推荐)
; 7- Apply patch FCAMem v0.3
; 8- Start phone.
; 9- Install file FCAPalette.sis
; 10- Run program FCAPalette. It will exit after 1 second.
; 11- Choose Setup->Settings->Phone->Display->Colour Palette->Any palette
; 12- If needed, modify palette 2, 3 and 4 using PaletteTool, by Alezz. Great program !
; 13- No step 13
; 14- Transfer modified palette to mobile. Be sure to name to c:\palette4.dll
; 15- Go to step 10
; 16- As probably you want to load the palette every time phone restarts, EzBoot makes this.
; 使用了EzBoot每次开机自动调用FCAPalette,已包含在FCAPalette.sis里自动安装。
; 17- There is a bug: any picture loaded before FCAPalette will have wrong colours. No fix for this.
; 18- palettes extracted from z:\system\libs\palette.dll are: Blue Sky, Beach, City
; 19- palettes extracted from c:\palette4.dll are: Magenta, Palette5, Palette6
; 20- Magenta=second palette in c:\palette4.dll
; 21- Palette5=third palette in c:\palette4.dll
; 22- Palette6=fourth palette in c:\palette4.dll
;
; I know it is complicated. If anyone wants details about why I did it this way, source code is included.
;
;
; As far as I know, nothing is broken. But I decline all responsability, of course.
; Anyway, here it is. Enjoy
;
This is a small application that loads a colour palette for mobiles SX1.
You need the patch called FCAPalette.sxp and FCAMem.sxp
It is almost the same as FCAMem.sis because it reads and writes the memory.
The whole process works this way:
In original file palette.dll there is a routine called
DefaultColor256Util
which takes an integer as a parameter.
Then it returns an address for that particular PaletteID, from 1 to 4
The address is hardcoded, because the palette.dll is in ROM, therefore always the same address.
For version 14, these addresses are:
palette1: 0x50296728
palette2: 0x50297B28
palette3: 0x50298F28
palette4: 0x5029A328
The patch changes the address for palette4 from 0x5029A328 to 0x58073004
Also changes the routine to allow using palette5 at 0x58074404 and palette6 at 0x58075804.
I have choosen that address because it is in RAM, and no other process uses it.
Now we need a program that writes the palette4 from c: drive into that address.
This is what FCAPalette.app does
On start, opens file c:\palette4.dll
Then skips the first 0x3D18-0x1400*3 bytes, which belongs to palette1.
Now copies the remanent bytes (0x1400*3) into 0x58073004
To do this, it uses patch FCAMem v0.3
And exits.
When the user chooses palette4-6 (Magenta-???) the address points to our new data.
There is a problem, though. When the mobile is switched on, the program FCAPalette hasn't been executed, and
the memory from 0x58073004 contains initialized data.
The solution is to start FCAPalette as soon as possible.
The program EzBoot is used for this purpose.
In short, it allows loadiing programs when phone starts.
I include a modified version: time to start is 1 second.
More information about EzBoot in www.newlc.com/article.php3?id_article=152
[ 本帖最后由 jeff_ding 于 2006-4-8 11:16 编辑 ] |
评分
-
查看全部评分
|