爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
楼主: comerose
收起左侧

增加MP3音量调整的级数

[复制链接]
发表于 2006-2-6 16:41:30 | 显示全部楼层
移植改进版吧:
解决了这个bug,即直接play键拨放没声音,要增大或减小音量才正常。现在,直接play键拨放有声音了!

;*** MVE28. Mp3 Volume Ext28 v0.2 ***
; Firmware: SLIKv56
; Author: seklth, abomin
; Change the volume range from 10 to 28
; >>> bugfix: When MP3 starts there was silence until
; you change volume. Now you can hear immediately.

0x3BA0E6: 47FC0900 47FC1C00
0x305BF8: F7F4B42F CC00CC00

0x305C5C: 0900FD01E192E6003200CC00 1C00FD02E7F21C00D7403200
0x305CE6: D740C102D44C F04CF198DB00
回复 支持 反对

使用道具 举报

发表于 2006-2-6 16:45:24 | 显示全部楼层
28级太多了吧,至少我的耳朵没有这么灵敏,调到16级差不多了吧!
回复 支持 反对

使用道具 举报

发表于 2006-2-6 23:36:26 | 显示全部楼层
用原来的9级音量就已经很好了!
回复 支持 反对

使用道具 举报

发表于 2006-2-7 09:25:43 | 显示全部楼层
Path use ALL levels, which possible, with step 2
10-12-....-54-56 (max)

61楼的补丁采用了音量调整的所有可能级别(10-12-....-54-56:56最大),每次递增2级

希望高手改为每次递增3级,28档音量太多了。
回复 支持 反对

使用道具 举报

发表于 2006-2-7 20:20:21 | 显示全部楼层
我特别喜欢这个补丁。

不过我在5508的基础上刷

刷楼主的到是有效果,可是后台不能控制增大mo3的音量,减小到是可以。

[ 本帖最后由 05220621 于 2006-2-8 14:33 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-2-7 21:01:40 | 显示全部楼层
我刷时显示强刷!!!和我的模拟时钟有冲突!!!我把模拟时钟卸了!!!
回复 支持 反对

使用道具 举报

发表于 2006-2-7 21:53:03 | 显示全部楼层
我特别喜欢这个补丁。

不过我在5508的基础上刷

56的没有移植,你强刷???提示强刷,而且没有效果??????????
看也不看
回复 支持 反对

使用道具 举报

发表于 2006-2-7 22:24:09 | 显示全部楼层

回复 #67 dxl 的帖子

登喜路兄可以参照顶楼的补丁,移植一下v0.2的,其中1C换算16进制以后是28,如果要改这个1C的话,补丁中有三个地方需要同时改动。最好是音量级数为双数。

期待啊!!!!!我要刷刷:)

[ 本帖最后由 我爱绿茶 于 2006-2-7 22:25 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-2-7 22:35:24 | 显示全部楼层
呵呵
茶兄好

同期待dxl兄弟移植修正版。。。
回复 支持 反对

使用道具 举报

发表于 2006-2-7 22:54:16 | 显示全部楼层

回复 #69 JunFeng 的帖子

JunFeng兄新年好:)
回复 支持 反对

使用道具 举报

发表于 2006-2-8 14:35:35 | 显示全部楼层
原帖由 dxl 于 2006-2-7 21:53 发表
我特别喜欢这个补丁。

不过我在5508的基础上刷

56的没有移植,你强刷???提示强刷,而且没有效果??????????
看也不看



谢谢提示.不好意思,犯这么低级的错误.呵呵.
回复 支持 反对

使用道具 举报

发表于 2006-2-8 19:35:22 | 显示全部楼层
原帖由 我爱绿茶 于 2006-2-7 22:24 发表
登喜路兄可以参照顶楼的补丁,移植一下v0.2的,其中1C换算16进制以后是28,如果要改这个1C的话,补丁中有三个地方需要同时改动。最好是音量级数为双数。

期待啊!!!!!我要刷刷:)

^_^ 接受绿茶的考试和提示,现在苏州,明天搞搞.^_^
回复 支持 反对

使用道具 举报

发表于 2006-2-8 20:47:26 | 显示全部楼层
原帖由 Xinshou 于 2006-2-6 16:41 发表
移植改进版吧:
解决了这个bug,即直接play键拨放没声音,要增大或减小音量才正常。现在,直接play键拨放有声音了!

;*** MVE28. Mp3 Volume Ext28 v0.2 ***
; Firmware: SLIKv56
; Author: seklth, abomin ...




0x305CE6: D740C102D44C 不对吧?
应该是0x305cd7:D740C102D44C F04CF198DB00

大家搞进手机里看看,对不对?

18级音量

我现在没有条件搞测试。

0x36C11C: 47FC0900 47FC1200
0x2A1B02: F7F4842F CC00CC00
0x2A1B62: 0900FD01E192E6003200CC00 1200FD02E7F21200D7403200

上面照抄;P;P;P

0x2A1BF0:D7402803D44C F04CF198DB00

希望 绿茶  JunFeng   Xinshou 指点。

可能有问题,没有明白Xinshou 下面的话
‘61楼的补丁采用了音量调整的所有可能级别(10-12-....-54-56:56最大),每次递增2级’
^_^;P;P;P
回复 支持 反对

使用道具 举报

发表于 2006-2-9 08:54:31 | 显示全部楼层
Mp3的音量是从10最小音开始至56最大音,这个10-12-14....-54-56就是调整音量时每次递增2级,
可修改补丁使之每次递增3级或4级,从而变成18档或14档音量调整级别。
回复 支持 反对

使用道具 举报

发表于 2006-2-9 10:43:08 | 显示全部楼层
Xinshou ,那上面我搞的有错误吗?
回复 支持 反对

使用道具 举报

发表于 2006-2-9 19:11:40 | 显示全部楼层
原帖由 Xinshou 于 2006-2-9 08:54 发表
Mp3的音量是从10最小音开始至56最大音,这个10-12-14....-54-56就是调整音量时每次递增2级,
可修改补丁使之每次递增3级或4级,从而变成18档或14档音量调整级别。


;v0.2 dxl 移植版 与两个修改版

;;28级音量,min00--max56
;0x36C11C: 47FC0900 47FC1C00
;0x2A1B02: F7F4842F CC00CC00
;0x2A1B66: 0900FD01E192E6003200CC00 1C00FD02E7F21C00D7403200
;0x2A1BF0: D7402803D44C F04CF198DB00


;18级音量,min00--max54
0x36C11C: 47FC0900 47FC1200
0x2A1B02: F7F4842F CC00CC00
0x2A1B66: 0900FD01E192E6003200CC00 1200FD02E7F21200D7403200
0x2A1BEE: 5C1CD7402803D44C7E1C F04C5C1C004CF198DB00


;;14级音量,min00--max56
;0x36C11C: 47FC0900 47FC0E00
;0x2A1B02: F7F4842F CC00CC00
;0x2A1B66: 0900FD01E192E6003200CC00 0E00FD02E7F20E00D7403200
;0x2A1BF0: D7402803D44C7E1C 5C1CF04CF198DB00


[ 本帖最后由 fukandahai 于 2006-2-15 09:09 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-2-9 23:42:46 | 显示全部楼层

回复 #76 fukandahai 的帖子

呵呵
兄弟好快
以我理解从汇编角度解释下
seg0CA:1B62 MP3_SaveVolumeSetting:                  ; CODE XREF: seg0D6:C164P
seg0CA:1B62                 mov     r1, r12
seg0CA:1B64                 cmpb    rl1, #9
seg0CA:1B68                 jmpr    cc_ULE, loc_CA1B6C            小于9就跳
seg0CA:1B6A                 movb    rl1, #9             否则向r1的低位写入09,也就是说最大只为09
seg0CA:1B6C
seg0CA:1B6C loc_CA1B6C:                           
seg0CA:1B6C                 mov     DPP0, #32h ; '2'              当前页是32h
seg0CA:1B70                 nop
seg0CA:1B72                 movb    VolValue, rl1                    把rl1的数写入系统mp3音量ram
seg0CA:1B76                 calls   0CAh, Get_Vol_Value         得到音量值,也就是下面的程序


seg0CA:1BE4                 mov     DPP0, #32h ; '2'                   DPP0,当前页
seg0CA:1BE8                 nop
seg0CA:1BEA                 movbz   r12, VolValue                     同上,由volvalue字节扩展到 r12
seg0CA:1BEE                 shl     r12, #1                                  r12的数左移1位
seg0CA:1BF0                 extp    #328h, #1                         临时切换到328页,有效指令1条
seg0CA:1BF4                 mov     r4, [r12+VolTable]      音量表地址处的数据加r12,复制到r4,注意这里,[r12+VolTable] ,带中括号表示数据地址
seg0CA:1BF8                 rets                                             返回


再看修改
seg0CA:1B62                 mov     r1, r12                                   r12到r1
seg0CA:1B64                 cmpb    rl1, #12h                              比较r1的低位是否是12
seg0CA:1B68                 jmpr    cc_ULE, loc_CA1B6E              小于就跳
seg0CA:1B6A                 movb    rl1, #12h                               否则将12写入rl1
seg0CA:1B6E
seg0CA:1B6E loc_CA1B6E:                           
seg0CA:1B6E                 extp    #32h, #1 ; '2'                          切换到32页,指令一条
seg0CA:1B72                 movb    VolValue, rl1                           将rl1写入当前音量值
seg0CA:1B76                 calls   0CAh, Get_Vol_Value                 取得音量值函数,如下


seg0CA:1BE4                 mov     DPP0, #32h ; '2'                      定义 当前页为32
seg0CA:1BE8                 nop
seg0CA:1BEA                 movbz   r12, VolValue                   当前音量值(字节)复制到r12
seg0CA:1BEE                 mov     r4, r12                                  r12到r4
seg0CA:1BF0                 shl     r12, #1                                  r12数左移1位
seg0CA:1BF2                 add     r4, r12                                  r12加r4
seg0CA:1BF4                 movb    rh4, rl4                               rl4复制到rh4(字节),也就是形如我们mp3音量补丁的1e1e,1f1f,2323
seg0CA:1BF6                 rets

至于0x36C11C: 47FC0900 47FC1200这句意思也是限制最大音量


由上可知,此补丁修改了取得音量的方式,音量数据直接在运行中动态生成,而不是由音量表读取。。。。。

所以可以改成很多级。。。。

呵呵,不过不说了,想看的自己用ida学习。。。。

sfe,ida是flash修改之两大利器,有意者必备

是不是很简单?一般的补丁移植。。。。
回复 支持 反对

使用道具 举报

发表于 2006-2-9 23:50:11 | 显示全部楼层

回复 #77 JunFeng 的帖子

呵呵
忘了说了,以上是根据fukandahai 兄弟移植18级的解释。。。

感谢移植。。。
回复 支持 反对

使用道具 举报

发表于 2006-2-10 08:44:53 | 显示全部楼层
原帖由 JunFeng 于 2006-2-9 23:42 发表
呵呵
兄弟好快
以我理解从汇编角度解释下
由上可知,此补丁修改了取得音量的方式,音量数据直接在运行中动态生成,而不是由音量表读取。。。。。

所以可以改成很多级。。。。

呵呵,不过不说了,想看的自己用ida学习。。。。

sfe,ida是flash修改之两大利器,有意者必备
...

是不是说无需以下的“MP3音量调整”的数据了?
2A1C7E:1B1B1E1E2121242427272A2A2D2D2F2F31313333 01011212151518181B1B1E1E2121242427272A2A
回复 支持 反对

使用道具 举报

发表于 2006-2-10 08:48:48 | 显示全部楼层
原帖由 Xinshou 于 2006-2-10 08:44 发表

是不是说无需以下的“MP3音量调整”的数据了?
2A1C7E:1B1B1E1E2121242427272A2A2D2D2F2F31313333 01011212151518181B1B1E1E2121242427272A2A

是的。不去读取这里的数据了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-3 08:19

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表