2007年2月27日星期二

[tc]NAND Flash BackUP 2.1

继上次备份NAND Flash以来,由于Linux核心升级到2.6的缘故,[tc]决心重新写一个备份程序。这块NAND Flash型号是Samsung K9F1208U0M 64MB,和上次一样,用串口通讯。

虽说是模仿GHOST,其实没有针对文件系统,只是将Flash中的二进制数据保存下来而已。

为确保正确性,[tc]作了以下两件事:
1、设定了一个简单的信令,由计算机向开发板发送数据请求信号,保证了超时、桢同步错误可以断点续传
2、写了一个简单的MD5算法校验程序

实际情况表明,断点续传作用明显,由于种种原因,通讯有时会中断,在超时程序的帮助下,可以找回正在传输的部分,继续传输。但是,信令带来了额外的传输开销。实际的输出速度为10 KB/s,64MB的Flash共用将近2小时传输。

好在下载这些备份不需要这么慢,可以用USB接口,大约有500KB/s。

2007年2月24日星期六

[选译]关于随机函数发生器的简单讨论

([tc]不是翻译人员,这篇包含个人感情的东西仅供参考)

  今天有幸看到DONALD E. KNUTH先生的《THE ART OF COMPUTER PROGRAMMING》SECOND EDITION,第2卷:Seminumerical Algorithms,第1部分论述的是随机函数。揭示了[tc]几天前用到的自定义随机函数。
  其中最简单的函数莫过于Linear Congruential Method,以下译为“线性余数法”。

  线性余数法1949年发明于D. H. Lehmer,定义了下面的迭代函数,产生一个序列,用于简单的计算机(伪)随机序列:
  Xn+1 = (aXn + c) mod m,n>=0
  其中X0为“种子”。对于常数X0,a,c,m的选取,原作进行了详细的讨论,选译如下。

  定义b=a-1
  可证a>=2, b>=1时
  X n+k = (a^k Xn + (a^k - l)c/b) mod m, k >= 0, n >= 0,

定理A:当且仅当m,a,c,X0满足下列条件时,具有长度为m的周期:
1、c与m为互质数
2、b=a-1是p的倍数,p为m的一切质因子
3、如果m是4的倍数,那么b也是
证明稿据说起源于100年前的定理,M.Greenberger将之推广到m=2^e。证明过程反正我也没看懂就不译了。

定理B:令λ(p^e) = (p-1) p^(e-1) , p>2
当c=0时能达到的最大周期是λ(m)。该周期满足下列条件时可以达到。
1、X0与m为互质数
2、a是模m的素元([tc]:素元是指整环R中的非零非可逆元素。如果p能整除R中某两个元素的乘积(如ab),则必整除其中一个(如p|a或p|b))

问题在于:如何寻找模m的素元?于是:
定理C:满足下列条件之一时,数a是模p^e的素元
1、p^e=2,a为奇数;或者p^e=4,a mod 4=3;或者p^e=8,a mod 8=3,5,7;或者p=2,e>=4,a mod 8=3,5
2、p为奇数,e=1,a<>0(mod p),a^(p-1)<>1(mod p)
3、p为奇数,e>1,a满足第二条,a^(p-1)<>1(mod p^2)
正定理可用于计算机中较大的p的试验

定理D:如果m=10^e,e>=5,c=0,X0不是2或5的倍数,线性余数法周期为5*10^(e-2)。当且仅当a mod 200=下列数之一:
3,11,13,19,21,27,29,37,53,59,61,67,69,77,83,91,109,117,123,131,133,139,141,147,163,131,173,179,181,187,189,197

小结:
  满足上述要求的a=z^k+1,2<=k<=e
  若取c=1,则:Xn+1=((z^k+1)Xn+1)mod z^e
([tc]:这一部分的论述,我认为原作所用的计算方法已经过时了,没有摘抄)

若设X0=0,那么再次出现0可认为是一个周期,所以有
  Xn=((a^n-1)*c/b) mod m
并且,用二项式展开式展开a^n-1=(b+1)^n-1,化简得:
Xn=c(n+[n,2]b+...+[n,s]b^(s-1))mod m
([tc]:其中比b^s更高阶的项由于是m的整数倍,被忽略了。式中的[n,2]是排列组合公式)。
(1)基数为1:a=1。Xn=cn(mod m),显然不随机
(2)基数为2:Xn=cn+cb (n,2),也不够随机。
(Xn, X(n+1), X(n+2))总是依赖于d+m,d-m,d,d-2m四个位面
(3)基数为3:序列开始比较随机,但是在Xn, X(n+1), X(n+2)中存在高阶相关性。试验表明序列效果一般
总之,基数到达5,看起来才足够随机。

  例如:m=2^35,a=2^k+1。那么b=2^k。此时k>=18时b^2=2^(2k)是m的倍数,基数为2。如果k=17,16,...,12,基数为3。基数为4时k=11,10,9。因此k<=8,即a<=257.
稍后将会看到,小的乘积因子有可能被忽略。这样我们就排除了所有的成绩因子的取值。

  假设w是计算机字长,m=w+1或w-1,那么基本上m不可能是质数的大的倍数,较高的基数也是不可能的。因此最大的周期是无法达到的。这就是为什么(当初会提出)c=0。
另外值得强调的是,大的基数也不是必要的。

-----------------------------------------
看到这里,来分析一下[tc]用过的随机函数。
(1)VC++(VS 2005)
  X0=0, a=214013/(2^17)=3.266, c=2531011/(2^17)=38.620, m=0x7fff=32767
  这个,OTL,居然是小数,不知道怎么分析。

(2)VB6
  X0=327680, a=0x43fd43fd=1140671485, c=0xc39ec3=12820163, m=0xffffff+1=16777216
  
应用定理A:
(1)
12820163的因子为:1, 2293, 5591, 12820163
16777216的因子为:1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216
的确互质。
(2)
1140671485-1的质因子为:2
满足条件。

应用定理B:
327680的因子为:1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 256, 320, 512, 640, 1024, 1280, 2048, 2560, 4096, 5120, 8192, 10240, 16384, 20480, 32768, 40960, 65536, 81920, 163840, 327680
可见X0与m不互质,不过这个不影响。

m=2^24
p=2
e=24
1140671485 mod 8 =5
满足素元要求。

所以这组数据可以满足随机函数要求。

2007年2月23日星期五

浏览器内嵌播放器错误(勉强解决,供参考)

  [tc]电脑上的浏览器最近出了奇怪的问题,访问某些包含音乐播放器的网站时会出现Windows的错误提示,并关闭浏览器。以至于[tc]自己的Blog都无法访问的严重后果。今天[tc]忍无可忍,奋战一刻钟,勉强解决问题,下面是过程。

[谁在作怪]
  第一反应是IE不稳定,跑去从镜像里抠出以前的IE,不行。用FF2试了一下,不行。
  第二反应是暴风影音,换了老版本(其实还不够老),不行。
  第三反应,mpc的Bug,换了一个mpc以前的主程序,不行。又卸载暴风影音,用WMP 10居然好了!这样不算解决问题!又把暴风影音装回来(废话!当然是不一样的版本!)也OK!

[什么毛病]
  满心欢喜。其实这是凌晨发生的事。现在是同一天的晚上,问题又来了,现象一样。
  OK,耐下心,凌晨和现在什么区别?访问的文件不同![tc]遂想起这一版的暴风影音有个毛病:文件格式不支持的时候会异常退出。
  接下来的几分钟十分无聊,就不写了。

[祭出必杀]
  [tc]的必杀技是会用调试器。于是在问题再一次发生时,用Visual Studio自带的调试器打断,发现是一处除数为零错误。
  03DBBB98 div eax,ecx
  此时ecx=0。经查发现03DBBB98属于SHNTrans.ax。
  一阵google,净是些菜鸟抱怨系统不稳定的帖子,无聊。

[再靠自己]
  把SHNTrans.ax打开一看,发现是个DLL文件。打开之,字符串列表中有一行:Shorter Compressed Audio。放到暴风影音的滤镜列表中一看,叫做SHN to wave Filter。
  第一反应,又没有新版本?无果。
  第二反应,不要行不行?我又不听SHN文件,这个滤镜用不上。
  删除该文件,问题解决。

[结论]
  DirectShow好奇怪……

2007年2月21日星期三

欢迎来到NHK

http://www.kadokawa.co.jp/hikky/

NHK=日本家里蹲协会

  由泷本龙彦原作小说改编的漫画改编的动画,讲述大学退学的 佐藤达广 在学弟 山崎薫 的影响下成为半个Otaku,同时面对女生 中原岬 的故事。大体上包括相识、签约、跟踪、约会、制作、孤岛、网游(Ultimate Fantasy 诸神的黄昏)、传销、回家、绝望、结局。

  主角 佐藤君 的家里蹲史n起n落,令人忍俊不禁。而所谓的“巨大组织的阴谋”、所谓的“罚款100万”(后来变成1000万、1亿万了)、所谓的Purupuru Pururin Rin,都令这部动画增色不少!薫 的GAL Game(不是ACG来的吗?)相关内容,大体上也能反映一些Otaku的现状吧。不过网游受害者这个角色,似乎渲染得比较过分了,有点恐怖。~~囧~~

  小林沙苗 配音的 柏瞳(学姐),也是值得关注。中原岬 再一次让[tc]深深感觉到,牧野由依 的声音比较单调(跟单纯不一样),还要再努力一把!总的说来,NHK是一部成功的作品!




TrueWorld~真実のセカイ~

这个游戏,[tc]我花了一个小时来玩。OTL,剧中的设定在哪里啊~~~~

[tc]Puru Puru Rin
http://webdisk.cech.com.cn/download/file_share_2914802.html





2007年2月15日星期四

[tc]Lost My Music

受到某同人网站的一首音乐的影响,花了几个小时吧《凉宫》里的《Lost My Music》从摇滚改成现在这种风格。本来想要加大提琴再抒情一点的,时间有限,只能用钢琴独奏了。

音乐大体上可以反映[tc]的意图,但是许多细节都不尽人意。[tc]我也是工作到今天凌晨三点才搞定的。[tc]搞音乐一向虎头蛇尾,大家就忍了吧。

今天为了上传音乐化了点功夫。结果还使用了网盘。

文件在这里:
[tc]Lost My Music.mp3

两种uC线程切换不同的实现方法

到底发生了什么
——两种uC线程切换不同的实现方法


一、前言
  [tc]在VC上移植的uC/OS前些天遇到了许多奇怪的问题:不同的uC线程顺序的使用VC提供的rand()随机函数得到了相同的结果;另一方面,VC版在检查堆栈的使用情况OSTaskStkChk时,总是返回一致的结果。为什么?到底发生了什么?[tc]的移植存在问题吗?


二、两种任务切换方法
  即将讨论的方法显然不是任务切换仅有的方法,只是[tc]只亲生经历过这两种方法。
1、法一:标准方法
  即在任务切换时,挂起该任务(在这种方法中,CPU只有一个,实际上调度开始时只要暂停中断即可),保存所有寄存器的内容(EAX、EBX……)到该任务的ptos指示堆栈中,更新OS_TCB。
2、法二:Windows切换
  而[tc]采用的不是上面的方法,Windows有自己的一套线程调度算法,我只是在VC上实现一些功能而以,何必认真呢?于是每当OSTaskCreate发生时,实际上是调用CreateThread来生成一个线程。与Win32程序不同的是,为了让uC来做调度,不得不挂起这些线程SuspendThread,直到调度方生时恢复之ResumeThread。


三、后果如何
  实际的效果是,[tc]的uC更加稳定。由于用了M$的函数,可以避免Win下的复杂环境,许多操作实际上Win会帮你完成。而跟踪“标准方法”的某个程序之后,不难发现在复杂的中断发生时,该方法的uC很难保证稳定性。[tc]曾见过文佳同志的uC(我对此人并无恶意,只是就事论事),在控制台属性变化时,系统崩溃。原因大概是uC进入临界代码时无法真正的屏蔽一切中断,结果寄存器遭到修改。
  缺点也是很明显的。由于实现方法的不同,许多行为与uC的原作者的意愿相背离了。这就是开头所述的问题的起源。


四、解释一下前言中的两个问题
1、随机函数
  本人接触过的各种编译器所提供的随机函数使用的都是线性迭代法(这名字是[tc]瞎起的,听起来还挺专业……)。即:r(0)=种子,r(n)=(A*r(n-1)+B)/C Mod D,其中A、B、C是常数,C一般取2的幂次以回避除法,D是最大值。我猜想原作者使用的BC4.5也是这样做的。
  随机函数不具有可重入性这是显而易见的。因此作者建议使用信号量来解决。但是遗憾的是,现在的编译器已经自带了所谓的信号量机制。比如下面是VS 2005的一段东西:
  _ptiddata ptd = _getptd();
  也就是说,VS会自动负责区分不同的线程。对于每个线程而言,rand函数是独立的。这就是为什么,[tc]的若干个任务(现在是Windows线程了),虽然顺序的调用随机函数,却不能达到随机的目的的原因。
  看起来要想解决这个问题有两种方法:(1)写个线程,用来给其他线程提供随机函数(真是有病);(2)自己写个随机函数,为了装B,可以用华丽的[tc]正态分布函数……


2、不同的线程被认为堆栈使用量相同
  uC的计算方法大概是,循环遍历整个堆栈,找出已经使用的部分。那么不同的线程,如果算法不同,理应占用不同大小的堆栈。
  当一个决定性的证据出现——所有线程总是只占用22个字节的堆栈——时,[tc]恍然大悟!
  道理很简单,由于调用了CreateThread,实际上,线程的堆栈是由Windows分配的,而不是uC。那22个字节是用来保存任务特征的一个数据结构的大小。


五、后记
  作为uC的初学者就能分析到这一步,佩服自己……

夜明け前より瑠璃色な

Carillon Harmonia
Yoakena

  “斯菲阿国”公主 菲娜·法姆·阿修莱特 到男主角 朝雾达哉 家后宫的故事。音效欠火候,没气氛,音乐还不错。故事对政治问题分析得很不严肃。以上。

2007年2月13日星期二

凉宫春日的忧郁 TV 版 ED 舞步演示

凉宫春日的忧郁 TV 版 ED 舞步演示
http://www.tg777.com/levelup/user/zwei/sos-ed.avi
谁敢不支持团长大人?

2007年2月12日星期一

让基于uC/OS的ARM程序在VC上调试

  明眼人看标题就知道其实这是一个操作系统移植的简单问题。在不同的平台上,只要接口一致,主程序就能互相通用。

1、主题
  ARM的调试工具已经十分强大了,但是在M$面前还是如同孩子一般幼稚。如果能在Microsoft Visual Studio 2005中建立一个通用的框架,那么ARM平台的程序就可以在x86下设计、调试。完成后拷贝到ADS中编译。

2、移植
  当然,要让uC/OS能在VC中使用,首先需要将uC/OS移植到PC上。下面的方案我是在参考了一些代码的基础上总结出来的,难称原创,而且估计有不少错误……
  原作者是在BC4.5上编写uC/OS的。Windows有其特殊的变成风格,比如uC的系统定时器、新进程的启动、中断的允许等问题,完全应该交由Windows完成,而进程调度还是得由uC完成。这里面的矛盾只需要让Windows产生的线程处于睡眠状态就可以轻松搞定。
  另外中断屏蔽需要用到互斥对象(Mutex),需要时用WaitForSingleObject保持互斥状态,直到进程调度结束。
  最不好理解的问题莫过于恢复线程状态,这个[tc]我也不是很懂,还要再研究研究。

3、框架
  完成uC之后,需要分别为ARM和PC设定一个编程框架。[tc]选用的是昨天移植好的ARM的框架。大意如下:

(1)首先是低级初始化
[ARM]
  还是那些老东西,恢复到“重启”状态、时钟、重入
[PC]
  什么都不做,x86就是好啊……

(2)Console级
[ARM]
  2410这东西不能使用stdio.h,所以把各种功能函数定义在这里。
[PC]
  #include ,x86通用性……
  为了让各种2410功能也能运行于PC,应该在这里设计各种各样的函数。

(3)FrameWork级
[ARM]
  设定了分频比、初始化IRQ。但是时钟中断不要修改!初始化MMU。
[PC]
  基本上,又是什么都不做。x86,我爱你……

(4)Application级-OSinit
[ARM]
  创建两个基本进程。将看门狗中断定义为系统时钟OSTimeTick()(此前用的是Timer4,但是看门狗更适合。)
[PC]
  创建两个基本线程,创建时钟线程调用OSTimeTick(),设定Windows线程优先级

  从这里开始两个平台已经完全一样了。

4、调试
  这件事情滞后考虑。[tc]眼下想把uC/FS搞来移植,uC/TCPIP就免了,太复杂。其实哪个文件系统已经很复杂了……

[tc]XP补丁包3、4,今日打包

每年两次的[tc]对XP补丁的打包工作今天结束。此次打包的文件有以下两个:
  [tc]XP补丁包3 2006.8-2007.1.exe
  [tc]XP补丁包4 正版用户补丁 2005-2007.1.exe

  从大小来看,此次的补丁包3的50 MB比以往的补丁要小一些。应该是巧合吧,每次的补丁包是一次比一次小。给人一种“XP问题越来越少”的错觉。

  与以往不同,今天还打包了一个“包4”,这是自微软Windows Update启用正版用户验证以来,从2005年至今的,仅针对正版用户的Windows补丁。[tc]我的获得途径有两条:一是其它网站,二是某些网站公布的微软网站实际的下载地址(即绕过了正版验证)。

  不过这些“正版补丁”也大都是一些无关紧要的东西,比如:某国家自某日起时钟改为夏令计时、Windows某软件新增了几个小功能(比如msconfig新增了一页、远程桌面连接增加了身份验证)、AMD双核需要一些补丁修正电源效率问题等等。不装也罢。

  需要补丁的小朋友发邮件。

现视研相关

-1签-
现视研
第一季动画一共12集
漫画一共八卷共50话

  现视研(げんしけん)= 现代视觉文化研究会

  笹原完士 在进入大学之后,致力于理解“漫画·动画·游戏”的新体验。于是认识了包括 高坂真琴 在内的一票Otaku,自己也朝这个道路前进。另一方面出现在现视研的一直恋慕着高坂的 春日部咲 和cosplay的 大野 等各种人也以现视研为舞台展开了许多有趣的生活。
  木尾士目原作的漫画,描写大学生御宅族生活的《现视研》,一开播反响就很大,今天看到这部作品,果然非常有趣,每一集(特别是接近尾声的时候)等能引人大笑一阵。虽然[tc]不是Otaku,但是似乎能从剧情中找到自己的影子。

-2签-
不公正抽签
OVA 3话

  除了现视研出现的一些镜头以外,不用问还有其他内容。回过头来看,《现视研》中对《不签》的评论可以说十分到位了。几乎可以说,由于有现视研的评论在先,《不签》才显得格外出色,几乎成为完美的特别适合Otaku看的动画。
  不同于一般的校园恋爱、恶搞动画,《不签》的全部内容都是围绕“对决”展开的(照理说是指对候补学生会的认同仪式),剧中,蘑菇料理对决、网页点击对决、在三温热里冷得不能再冷的笑话、诱惑的军训、全世界都要崩溃的卡拉OK、拖延时间的外星人游泳(务必请与TV版的外星人联系起来看!)、高度运气的麻将、可以通PHS电话的骷髅地下室。无一不堪称经典!

-3签-
不公正抽签
TV 12话

  TV版讲述的是 千寻 一行人从抽签入学到当上次界立桥院学生会的过程。不过改变了“原作”的不少设定。比如把 夏本 千寻 设定为缺钙正太会长(应该是书记),秋山 时乃 变成了青梅竹马的副会长(应该是会长),律子变成某丰满女(CV居然是 小清水亚美,汗)。唯一值得期待的罗莉会计 朝雾小雪 是个超能力人(应该是会计的浩浩闹闹的一家子中最小的一个),她姐,眼睛女 朝雾忍,人如其名,是个忍者(应该是 朝雾 小牧,会计)、橘泉美 是个反叛的R3S学生会暴力部门领导者(原作是副会长),上石神井莲子 原作是一个半路冒出来的大嘴女、现在居然是书记……这个世界是不真实的。T_T
  这次的人物关系变换,以时尚动画来说的确更适合一些,不过以Otaku的眼光恐怕并不是这样认同的。
  另外,上届学生会副会长 如月 香橙 的CV是 野上 ゆかな,泰莎的配音。[tc]一直到最后一集才听出来,失败。
  从画风角度上说,TV版不如OVA这么卡哇,而且人物经常变型。虽然制作上不受[tc]认同,但是常常在瞬间中产生的暴笑镜头,还是能让本人狂笑不止。特别是外星人的相关内容……

-4签-
现视研2
???
  虽然《现视研2》似乎是理所当然应该出现的,不过制作计划却夭折了。可惜!

2007年2月11日星期日

μc/OS-II在S3C2410上的移植小记

  μc/OS(下称“uC/OS”)是完成可以进程调度的可剥夺式操作系统。在经历了40小时之后终于能在本人的ST2410上运行了。然而此次移植的主要贡献仍然是uC/OS的原作者:Michael Anburaj。而[tc]由于智商方面的原因只完成了一些简单的工作。

  uC/OS移植的要点,在[tc]看来主要是两方面:
1、编写任务切换程序
2、实现系统Tick(这是实现可剥夺的关键)

  前者很简单,备份当前程序的状态,取回下一任务的状态即可。后者主要是利用定时中断的4号定时器完成。4号定时器是一个内部定时器,从200MHz时钟4分频后(分频比应该在初始化系统时间时设定PLL),经过预分频、分频得到适当的定时长度,然后指定pISR_TIMER4的指针,运行服务程序,最终调用OSTimeTick(),就完成了一次调度过程

  这个看似简单的过程实际实施起来却异常艰难。
  首先,使用定时中断需要MMU帮忙,然而[tc]配的MMU单独运行时没问题,使用定时中断也没问题,但是加上uC就不能工作。
  其次,初始化程序不大稳定,有时不硬件复位就会自动软复位。
  总之,[tc]智商不够,最后用了官方的SMDK2410的演示程序为样本,适当修改,这才得以工作。

  接下来还要调试uC/OS的其它功能,如消息队列、进程同步、死锁、邮箱等等。而进一步的要求,如文件系统、TCPIP等,看来只能等到开学以后了。
  累!

2007年2月9日星期五

RightMark CPU Clock Utility

  今天发现一款不错的CPU超/降频软件:RightMark CPU Clock Utility。
  此前还见过一款界面不错的软件:Notebook Hardware Control(也是非常优秀的!),只是那款的未注册版本限制比较多。

  该软件主要实现按照不同的策略设置CPU频率。如图所示,设置为“最大性能”时,CPU工作在200M X 10 = 2GHz下,而“省电”模式下工作在800MHz下,温度是23摄氏度,按照[tc]在主板BIOS中的设定,风扇停转,十分安静([tc]的电源风扇也是静音的)!
  之所以能发现这款软件,完全是因为Gigabyte附送的调整软件不好用,[tc]差一点自己写这样的软件的说。


Photobucket - Video and Image Hosting Photobucket - Video and Image Hosting

2007年2月7日星期三

一个不错的模拟低通滤波器

对于用模拟电路实现比较理想的低通滤波,[tc]一直以为是非常困难的。相比之下,高通似乎比较容易。中午的时候无聊,居然人品爆发,实现了一个不错的低通滤波器,遂拿出来秀秀。



下面是模型。

2007年2月6日星期二

忘却的旋律

The Melody Of Oblivion
GAINAX J.C.STAFF 2004
www.tbs.co.jp/boukyaku/
TV 23话

  20世纪人类和Monster(怪物)之间发生了一场很大的战争,以Monster一方的胜利告终。新世纪,人们忘记了旋律。直到 博卡 遇见了 黑船 先生,成为 旋律战士,开始了一场“寻找传说中的女神”的旅途。全篇除了一头一尾以外,以地点为分界线,分为 白夜岬、鼠讲谷、猿人湾、迷宫岛、幸运河、东京站、圈外圈 等数篇。博卡 和 小夜子……算是在旅行的吧,每到一处,博卡 就放不下那里的居民,在一句“燃烧吧,我的小宇宙”式的“奏响吧,我的旋律”之后,在居民的唾骂声中离开。与《翼·年代记》的回娘家型不同,《忘》是打怪练级型。

  GAINAX负责的这部TV动画的制作,制作人员包括了贞本义行。声优阵容也是一如既往的豪华。Bocca·Selenady:桑岛法子、月之森小夜子:浅野真澄、忘却的旋律:能登麻美子、远音:小林沙苗 、スカイブルー:保志总一朗、ホル:森久保祥太郎。非常吸引[tc]的眼球。

  制作上看,除了个别明显偷工减料的镜头以外,着色艳丽,叙事完整。适当的时候,对人类趋向软弱的本能做出了深刻的反省。而故事的设定决定了不少英雄的无奈的悲剧的循环。恶魔与人类的矛盾、人类不同国家意识的不同步、人类短浅的目光,在动画中一一展现,十分有趣。

  奇怪的是,这一部内涵严肃的作品,到了尾声《圈外圈》篇时,出现了大量OTL画面设计,令人哭笑不得的舞台剧、时不时插进来的奶牛牧场、怪物联盟成员矫揉造作的表演,着实令《忘》增添了几分恶搞的色彩!

2007年2月5日星期一

《[tc]魔兽3 1.21内存修改器》V3

前几天才完成的修改器,今天发现已经有1.21的补丁了,先前的修改不能再用,需要更新。

好在基本的代码不用动,因此花了两个小时来改程序。

还是老样子,改英雄的经验、三围、攻速、移动这几项。突然发现钱、木等也是可以改的(怎么才发现……),不过操作起来比较麻烦,我就不写了。

要修改器的同志发邮件。