2010年5月27日星期四

Windows NT 3.51 in Anex86

一直以来都认为PC98的模拟器(QEMU-9821除外,那个连Win2000都能跑)跑不了WINNT系的系统,但是今天的尝试证明这是错的。。
首先,必须使用ANEX86。NP21的SASI,WINNT不支持。T98NEXT 启动NT3.51内核出错。Anex86呢?先把扩充内存加到最大14MB


然后建个大小至少350M的HDI文件


格了HDI,装个DOS,用anxdiet把NT3.51 日文版光盘里的PC98目录拷进HDI,运行winnt /b,进入免软盘安装




然后重启,进WINNT内核


在这个画面,键盘没有识别出来,选那个106 键盘吧,虽然这个待会问题会很大


等文件复制完,重启,可以看到NT内核的启动画面


这里得注意了,最好少按几下键,因为不知为什么,多按了键,会死机,“蓝屏”(其实PC98的NT的STOP 错误是黑底白字)


下面能用鼠标的尽量用鼠标,如果运气好中间没有死机,就能到这个画面,等它完成,否则得从头开始了。。(PC98 NT的安装程序不会保留MSDOS启动,只有重新sys a:开始。。)


正式进入系统,记得先在Anex86设置里把graph键MAP到没用的按键(我是map到F11),否则登录时的ctrl+alt+del是没法按的。因为和开机时一样,随便按键都可能导致STOP错误,因此这个系统没实际作用(如果FM BOARD选86音源,声音还能自认)。



Windows NT在90年代前期可谓是x86 PC上最为复杂庞大的OS,为玩那些老游戏而生的PC98模拟器不能完美模拟也是情有可原。现在这个系统因为不能方便地使用键盘,没有任何实用价值。。。

2010年5月20日星期四

VP8 正式开源发布及我的支持VP8编码的ffmpeg编译版

年初Google正式收购了On2公司,关于On2的VP系列视频编码器将实现开源的说法就被广泛地提出来。On2大概在08年底就放出了关于VP8的几篇王婆卖瓜的文章,但是一直都没有放出任何一个能压制VP8的软件。直到昨天(5月19日),也就是Google完成On2收购后的整整3个月,Google终于发布了其新WebM项目(http://www.webmproject.org/),而其中最重要的部分就是libvpx,也就是一个开源的VP8编码解码器。另外,Google在MKV格式的基础上,为libvpx开发了一个新的专用封包格式WebM。但是经过实际测试,VP8不仅同样支持普通的MKV封包格式,甚至也能支持老的AVI封包格式(目前来看VP8不支持B帧,因此比xvid、x264之类广泛使用B帧的编码器更兼容AVI)。
libvpx通过一个专门制定的、类似BSD协议的WebM协议发布,目前开源社区对它的态度尚没有完全确定的迹象,在一星期内对libvpx的支持应该不会正式进入ffmpeg和mplayer的源码树。Google官方发布了libvpx的源码及ffmpeg/mplayer支持libvpx、以及通过修改已有的MKV支持来支持WebM的patch(http://code.google.com/p/webm/downloads/list)。

我今天下午在MinGW 4.3.3 TDM-1平台成功编译了libvpx和支持libvpx、WebM的ffmpeg、mplayer。ffmpeg 使用vp8压制视频的参数为-vcodec libvpx_vp8, 标准的-b、 -g参数可用,其他可用参数可以参考vp8的四个preset(我一起打在压缩包中了),如果用ffmpeg
默认设置,一定要加上-qmax 51,默认的qmax(31)对于VP8来说Q值无法满足码率控制的需求。libvpx_vp8支持的封装格式据我实际测试,至少包括webm、mkv、mov和avi。至于mencoder,因为困扰了很长时间的mingw gcc生成SSE指令不稳定的问题,我只能在禁用了SSE的mencoder中成功输出VP8视频部分的AVI文件,而且qmax不能大于31(这应该还是mencoder的问题)。

Photobucket
ffmpeg 2pass 输出webm文件

Photobucket
mencoder 1pass输出VP8编码的AVI文件

Photobucket
mplayer 播放VP8编码的AVI

Photobucket
目前能下到的非开源VP8压缩程序Wildform Flix WebM,问题很多。

我的支持libvpx与WebM的ffmpeg、mplayer:http://cid-66b9967ec9d22dd4.skydrive.live.com/self.aspx/.Public/yksoft1-ffmplayervp8.7z

我试编码的VP8测试文件(可能不会存活很长时间,占空间较大):
http://cid-66b9967ec9d22dd4.skydrive.live.com/browse.aspx/.Public/VP8-Tests

我粗略编码了一些文件,粗略觉得VP8比flv1、vp6和xvid都强,和frameref=1,关闭bframe和所有main、high profile功能的simple
H264完全可以一拼,但是和main、high的H264相比可能还有点差距。这是第一个发布版,也许在彻底开源化后开源社区可以让它和Theora一样最终脱胎换骨,打败H264。

如果需要使用DirectShow框架的播放器播放WebM文件和VP8编码的AVI文件,请安装Google的VP8 Directshow解码器vp8decoder.dll、WebM分离器webmsplit.dll、WebM源筛选器webmsource.dll。可以从http://code.google.com/p/webm/downloads/list中下载 webmdshow-0.9.5.0-20100518.zip,然后手工安装。

Update 5.29:发现ffmpeg的libvorbis 支持会导致如果文件开始时有100%静音,静音的vorbis包会被丢弃。。改了下,顺便升级了libvorbis
http://cid-66b9967ec9d22dd4.skydrive.live.com/self.aspx/.Public/ffmpeg-libvpx-vp8-yksoft1-u.7z

Update 6.6:ffmpeg已经官方支持通过libvpx的VP8编码、解码和webm格式,需要git的最新libvpx trunk,vcodec名改为libvpx,官方暂时不支持vp8的高级选项和配置(比如自动替代参考帧altref之类),需要使用-qmax 51实现码率控制。
mplayer也支持了libvpx的解码,mencoder还不行。
我的编译版(用w32threads了。。似乎用pthreads,使用libvpx就会出错。。其他没问题)
http://cid-66b9967ec9d22dd4.skydrive.live.com/self.aspx/.Public/ffmpeg-mplayer-libvpx-vp8-yksoft1-0606.7z

Update 6.21: ffmpeg在6月9日后对libvpx的更多参数提供了支持。前几天libvpx正式升级到0.9.1,我继续编译了带有新版本libvpx的ffmpeg和mplayer(遗憾的是mencoder仍然没有官方支持libvpx)。
下载:http://cid-66b9967ec9d22dd4.office.live.com/self.aspx/.Public/yk-ffmpeg-mplayer-vp0.91.7z
另外,开发者rbultje和yuvi制作了ffmpeg原生vp8解码器,其ffmpeg分支的git源码树在git://github.com/yuvi/ffmpeg/tree/vp8中,我也编译了(不是基于最新的ffmpeg主干):
http://cid-66b9967ec9d22dd4.office.live.com/self.aspx/.Public/ffmpeg-yuvi-vp8dec.7z