经过数次在天堂3.0与5508原版之间来回的比较测试,天堂3.0版终于能正常使用周期闹钟。可以按周期的要求响闹,该响闹的那天就响,不响闹那天就不响,方便极了。但不响闹那天还是会响0.2秒左右(就像防火墙拒接电话时一样),经测试在5508原版也是如此。不过对于这个不算bug的bug我的解决方法是:编一个前0.2秒为没有声音的铃声就能解决了。
哈哈,是不是在mid文件中加上0.2秒的空声啊?
请问楼主,刷那个补丁?
可否帖上来?
引用:
原文由 seacore 发表于 2005-5-8 16:03:48 :请问楼主,刷那个补丁?
可否帖上来?
否但要修改一下才能起作用。补丁如下:
【Flash修改】新的任意周期任意时间重要记事V4(3.31更新)
;名称:任意周期任意时间重要记事V4
;作者:Harbor
;日期:2005.3.31
;说明:V3版修正了V2在关机下失效的Bug.
; V4版解决了须用户每月设置月首日的繁琐.
; V2版前的用户需要undo。
;
; 这两天对以前版本进行了大加工,加进一个计算两个日期精确间隔的函数,这样在95年内
; 就不用设置月首日了。^_^
; 同时应comerose等机油的要求,精简了指令.
; 有两种指令 1: 以PA开头。假设要执行一个以6天为周期闹铃,第2、3、5天响铃
; 在X年Y月Z日曾经执行该周期的第一天。那么就设置一个文本格式
; 的每日闹铃,闹铃的年月日分别设置为XYZ,闹铃的名字为PA011010
; 0表示不响铃,非0表示该天响铃,程序根据"A"后面的字母个数来
; 计算该闹铃的周期,然后计算X年Y月Z日到今天过去了多少天,最后算
; 出今天响不响铃.
; 注意,如果采取PA开头的格式,闹铃的名字就不能再加任何字符了,否则
; 计算周期时会出错.
; 2:以PB开头. 一般格式为Bmn.其中m和n分别表示响铃的天数和不响铃的天数,
; 它们可以是单个数字,也可以是单个大写英文字母,A表示10,B表示11...一直
; 到Z.同时闹铃的年月日必须也是闹铃周期的第一天,比如从X年Y月Z日开始
; 响1天铃关13天(X年Y月Z日响,后13天不响),闹铃设置为PB1D,这种格式下
; 闹铃后面可以加自己的字符.
; 另外,这个程序里有一个计算精确日期间隔的子程序,欢迎各位机油调用,地址是0xBF6166.
; 使用了R1~R4,R12~R15共8个寄存器,R13,R14,R15,R2,R3,R4是传入参数分别传入新日期的年,
; 新日期的月,新日期的日,旧日期的年,月,日;新日期就是将来方向的日期,旧日期是过去方向
; 的日期.新旧日期绝不可颠倒,否则会出错.
; 计算得出新旧日期相隔的天数,保存在R1中返回.
; 记得曾经有一个补丁是倒计时的,按每月30天计算,会有误差,哪位有兴趣可以把我的这个函数
; 加进去.个人认为它有的地方写的还是很精彩的,呵呵.不过计算闰年时,年能被100整除时没有
; 再考虑能不能被400整除.就算您能活到2100年,小8也活不到那时候吧.^_^
00338670: DAD32A84 FABFA060
00380520: DAB43E93 FABFB460
001F60A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DABFCA6048103D02FAD39886DAD32A84
001F60B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FAD37486DAB43E930802DABFCA604810
001F60C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3D02FAD87204FAD8260588208830D740
001F60D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3600F2F1DE0B46F150003D41E6F1E025
001F60E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7600D0098F198E1A8D1E6F1CC0BD760
001F60F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 360098219831A841DABF6661E6FD3600
001F6100: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC4DF2FCE00B46FC41003D0FDC4DF2FC
001F6110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC0B28C2201C9DFE001C001106F1E20B
001F6120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC4DA81126F130000D1B46FC42003D17
001F6130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC5DF2FCE40BF2FDE20B9AFC016028C7
001F6140: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 26FC30009AFD016028D726FD300000CD
001F6150: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 201C9DFE001C401D8D02E0010D01E011
001F6160: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 98309820DB00E001403E3D02402D2D14
001F6170: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 48323D052812F0C268C33D01081106F1
001F6180: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1E00F0C37AFCFC309AFC0100081180C3
001F6190: FFFFFFFFFFFFFFFFFFFFFFFFFFFF 8DEBE01308210DE820F4001FDB00
///////////////////////
我的第一个补丁V3版,献给大家,嘿嘿
如果您刷过别人的集成flash,请先检查地址有无冲突;
刷过V2版的需要undo。
;名称:任意周期任意时间重要记事V3
;作者:Harbor(在Pinky的V2版基础上修改)
;日期:2005.3.27
;说明:需要undo以前版本。
; 修正了V2版在关机状态下补丁会失效的bug,
; 另外,原版本在处理不响闹铃时等待用户长
; 按红键干预,个人不喜欢这点,改掉了。
00338670: DAD32A84 FABFA060
00380520: DAB43E93 FABFB460
001F60A0: FFFFFFFF DABFCA60
001F60A4: FFFF 4811
001F60A6: FFFF 2D02
001F60A8: FFFFFFFF FAD39886
001F60AC: FFFFFFFF DAD32A84
001F60B0: FFFFFFFF FAD37486
001F60B4: FFFFFFFF DAB43E93
001F60B8: FFFF 0802
001F60BA: FFFFFFFF DABFCA60
001F60BE: FFFF 4811
001F60C0: FFFF 2D02
001F60C2: FFFFFFFF FAD87204
001F60C6: FFFFFFFF FAD82605
001F60CA: FFFF 8830
001F60CC: FFFF 8840
001F60CE: FFFF 8850
001F60D0: FFFF E015
001F60D2: FFFFFFFF E6FEDE0B
001F60D6: FFFFFFFF D7403600
001F60DA: FFFF A92E
001F60DC: FFFFFFFF 47F25000
001F60E0: FFFF 3D33
001F60E2: FFFF 08E2
001F60E4: FFFFFFFF D7403600
001F60E8: FFFF A92E
001F60EA: FFFFFFFF 47F24100
001F60EE: FFFF 3D14
001F60F0: FFFF 08E2
001F60F2: FFFFFFFF DABF5261
001F60F6: FFFF F162
001F60F8: FFFF 08E4
001F60FA: FFFFFFFF DABF5261
001F60FE: FFFF F182
001F6100: FFFFFFFF DABF8461
001F6104: FFFF 00FF
001F6106: FFFF 08E4
001F6108: FFFF 00EF
001F610A: FFFFFFFF D7403600
001F610E: FFFF A92E
001F6110: FFFFFFFF 47F23000
001F6114: FFFF 3D19
001F6116: FFFF 0D17
001F6118: FFFFFFFF 47F24200
001F611C: FFFF 3D15
001F611E: FFFF 08E2
001F6120: FFFFFFFF DABF6261
001F6124: FFFF F162
001F6126: FFFF 08E6
001F6128: FFFFFFFF DABF6261
001F612C: FFFF F172
001F612E: FFFF 08E6
001F6130: FFFFFFFF DABF6261
001F6134: FFFF F192
001F6136: FFFF F187
001F6138: FFFF 0189
001F613A: FFFFFFFF DABF8461
001F613E: FFFF F04F
001F6140: FFFF 0981
001F6142: FFFF 4187
001F6144: FFFF FD01
001F6146: FFFF E005
001F6148: FFFF F015
001F614A: FFFF 9850
001F614C: FFFF 9840
001F614E: FFFF 9830
001F6150: FFFF DB00
001F6152: FFFFFFFF D7403600
001F6156: FFFF A92E
001F6158: FFFFFFFF 27F23000
001F615C: FFFFFFFF F3F30000
001F6160: FFFF DB00
001F6162: FFFFFFFF D7503600
001F6166: FFFF A93E
001F6168: FFFFFFFF F42E0200
001F616C: FFFFFFFF 27F23000
001F6170: FFFFFFFF 27F33000
001F6174: FFFF 0133
001F6176: FFFF 0123
001F6178: FFFF 0133
001F617A: FFFF 0133
001F617C: FFFF 0123
001F617E: FFFFFFFF F3F30000
001F6182: FFFF DB00
001F6184: FFFFFFFF D7400D00
001F6188: FFFFFFFF F2F1E025
001F618C: FFFF 0126
001F618E: FFFF 2922
001F6190: FFFF 2128
001F6192: FFFF 9DFE
001F6194: FFFF 0128
001F6196: FFFFFFFF F3F30000
001F619A: FFFF F0F1
001F619C: FFFF DB00
需要在重要记事的说明文字中按指定格式写好执行计划,指定格式为:PAi#n#bbbb..bb 或 PBii#ee#dd
格式一:PAi#n#bbbb..bb
PA 为自定义时间表格式一的标识符,所有同类定义必须以这两个字母开头,注意要大写
i 一位整数,本月1日执行该时间表的第i天
n 一位整数,该时间表的周期为n天
bbb..b 共n位由0或1组成的字符串,分别表示周期内对应的那天是否开启闹铃
1表示开启闹铃并执行重要记事,0表示关闭闹铃并一直等待用户的响应
例如:PA1#7#1011110 表示为7天一个周期,周期内第2天和第7天不响铃,本月1日执行该时间表的第1天
PA3#8#11110000 表示为8天一个周期,周期内前4天响铃,后4天不响铃,本月1日执行该时间表的第3天
PA5#6#101010 表示为6天一个周期,每隔一天开一次闹铃,本月1日执行该时间表的第5天
注意:n最大值为9,即这种格式的最大周期为9天,,n值超出9后可能无法正常执行
格式二:PBii#ee#dd
PB 为自定义时间表格式二的标识符,所有同类定义必须以这两个字母开头,注意要大写
ii 两位整数,本月1日将从该时间表的第ii天开始执行
ee 两位整数,该时间表的前ee天开启闹铃并执行重要记事
dd 两位整数,该时间表的后dd天关闭闹铃并一直等待用户的响应
例如:PB01#13#01 表示响13天铃关1天铃,周期为14天(即两周提醒一次),本月1日执行该时间表的第1天
PB04#03#03 表示响3天铃关3天铃(适合3天一倒班的朋友),本月1日执行该时间表的第4天
PB12#15#05 表示响15天铃关5天铃(呵呵,倒20天班也没问题),本月1日执行该时间表的第12天
注意:
格式二的长度固定为10位,ii,ee,dd要写成两位整数,当值小于10时十位用0补齐,例如ii=5时要写成05,否则可能无法正常执行,另外该格式的周期为ee+dd,最大周期为31天。
两种格式互通,也可以互补灵活使用,例如:
PA1#6#111000等价于PB01#03#03,PA2#4#1010等价于PA2#2#10
具体的使用方法以上已经讲的比较明白,只要在重要记事的说明文字中写入给定格式的字符串就行了,这个字符串是有两种格式,分别以大写的“PA”与“PB”开头。
注意:
所有的执行方式都一定要设为“每日提醒”。
所有的时间表在每月1日都将重置执行状态并按给定格式重新执行,请注意在当天通过i值校对运行日期。