as模拟器不联网_“圆梦”之旅 —— 在模拟器中体验PDA的年代(WM6)

杂谈

90年代中后期,PDA(当时被称作“掌上电脑”)在国内并没有引起太大的市场反响, 毕竟光是价格就让人望而却步。而在2000年之后,国内PDA有了一定发展,其价格也在逐渐下降,一些本土企业也开始生产掌上电脑设备。联想就生产过一系列的PDA,还记得联想天玑系列的PDA吗。虽说PDA价格一直在下跌,但即便到了2006年左右,一台Windows Mobile的PDA仍需要两三千元(更高端的型号甚至更贵)。加上这类设备的功能有限,换句话说是未发掘出所有的可能性,因此它们在百姓中间也没能普及开。PDA在商业客户中还有一定的保有量的。

Windows Mobile是当年PDA中较为流行的系统,微软把这些设备叫做Pocket PC。(“口袋电脑”?)此外还有带电话功能的Pocket PC Phone也是Windows Mobile系统。虽说除了Windows Mobile,还有其他的PDA操作系统,但并没有给我留下多少印象。

我还记得当年见过某个土豪朋友玩Windows Mobile掌上电脑,运行的系统是2003版,还能用IE上网。煞是眼馋。当然我也曾梦想着拥有一台这样的设备,…… 多年后在模拟器中“圆梦”了。

当然,现在这类PDA的价格早已经跌到了几十到几百元,现在入手一部也是个不错的选择。只是,现在还能用它们做什么呢,MP3、电子词典还是扫码机?(2000到2008年这段时间,PDA的另一种存在是各类掌上学习机和学生电脑,只是它们少有WM系统的,更多的是厂家自己的系统,当时也有CE系统的。这类学习机当年的市场也甚是火爆,背后的是广大学生群体的学(yv)习(le)需求。)

当年关于Windows Mobile和Windows CE模拟器的文章早已烂大街。这里只是记录自己这次“圆梦”之旅中的一些心得。

模拟器

说到模拟器,微软相当良心,提供了完整的开发工具和模拟器,即使不是开发者也能体验。在模拟器中可以运行大多数当年成品的软件。虽然iOS和Symbian的SDK也有模拟器,但却不能运行现存的成品应用,因此几乎仅供开发者使用。(因为这些模拟器里的OS也是x86的,而最终发行的软件多为ARM的。)至于Palm OS的模拟器,这个倒是更多了,覆盖了更多平台(当年塞班上都有),只是我当时也没接触过Palm OS。

微软网站的下载中心有不少老资源失踪了,不过目前“Windows Mobile 6 Localized Emulator Images”还能获取,这是单独的Windows Mobile 6.0模拟器,需要的只是其中的Windows Mobile 6 Professional Images (CHS).msi,即简体中文版Windows Mobile 6.0镜像包。

曾经还有过5.0和6.1中文版本的镜像下载,只是现在难以寻觅。此外,也建议在安装完WM6 SDK包后安装Microsoft Device Emulator 3.0中文版,把WM6 SDK自带的v1版模拟器更新到v3版。

至于为什么不用Windows Mobile 6.5.x,当然是因为这个版本太过手机化了,缺失了太多PDA味儿。(虽然Windows Mobile设备加上电话功能确实就是一部手机,Pocket PC 2002就是如此。)

这套模拟器的功能齐全,不仅能较完整地模拟整个系统,连PDA外观也能模拟,还能“插”PCMCIA接口的有线网卡。这台PDA还能通过“底座”连接到主机系统,就像真机一样。如果是模拟Windows Mobile手机,连2G/3G基站都能“建”一个。以上功能的列表版:

  • 较完整模拟Windows Mobile
  • 模拟PDA设备外观
  • 可通过模拟器中的PCMCIA网卡联网(需要VirtualPC 2007的虚拟网卡驱动,不兼容Windows 8.1/10)
  • 可模拟底座连接PC
  • 可模拟电话网络 (只兼容32位Windows,需要先安装VC++2005运行库)

要使用上面说的所有功能,主机系统最好是32位Windows XP/2003,32位的Vista和Win7也不错。只是需要的PC端连接工具不同,XP和2003只能用ActiveSync,而Vista和Win7需要Windows Mobile设备中心。如果是64位Windows Vista和7,那就不能建基站了,但仍能够“插”有线网卡和连接PC。如果是Windows 8/10系统,可能只能通过“底座”连接PC了,(不过我在64位Win10 1809版中连Windows Mobile设备中心都打不开)。

4ec58751d35cf2b092e6f1e03e790824.png
Pocket PC手机的模拟效果(此手机号码纯属虚构,如有雷同纯属巧合)

安装

先安装Windows Mobile 6 SDK镜像包,里面带了v1版的模拟器程序和系统镜像。

4fa4c8af3a0211956cd57beb92e9b9d2.png

再安装Device Emulator v3就差不多了完成了。

c35685869858f7b35e51d3e3ec271b77.png

此外,还可以安装Windows Mobile设备中心(Vista/7)或ActiveSync(XP/2003),VC++2005运行库(Microsoft Visual C++ 2005 Redistributable),Virtual PC 2007(或专门提取出网卡驱动来安装)等软件来完善体验。

b47e31b7db6fe32132129e25d8c7860e.png

使用

安装完成之后即可在开始菜单中启动模拟器程序。注意其中的Classic版本是不带电话功能的纯PDA版本(Pocket PC),Professional版本是带电话功能的版本(Pocket PC Phone),这两个型号都是240x320 16位色的。如果安装了Standard版本,则模拟的是不带触屏的Smartphone版本(功能机造型+传统T9键盘的“智能机”),这个版本不在本文讨论范围之内。其他的,如Professional Suqare这几个则是较大“正方形”屏幕的,而Professional VGA是480x640分辨率的。分辨率如下:

  • Classic/Professional 240x320 16位色
  • Professional Square 240x240 16位色
  • Professional Square QVGA 320x320 16位色
  • Professional Square VGA 480x480 16位色
  • Professional VGA 480x640 16位色

一般选用Classic即可模拟一部PDA,或者选Professional来模拟手机。至于VGA屏幕的,不太建议,因为系统的宋体字在这些设备上渲染得十分难看,而320x240屏幕上则是清晰的点阵字体。

d09ff96c7ad144372e66cab93ea6284b.png
Professional VGA,字体渲染如图

启动PDA或手机模拟器之后,如需与主机交换数据,可以选择模拟存储卡。 直接将主机上的文件夹模拟成存储卡。

578a0777cb0a16791d36f3b8a62862d9.png

当然,这个仿真程序属性还有更多可以设置的,比如电池状态等等。

连接

如果需要联网,有三种方法。

第一种方法是模拟PCMCIA有线网卡。需要安装了Virtual PC 2007网卡驱动才行。这种方法相当于桥接到主机的有线网卡上(也必须是有线网卡),与主机处在同一个网段中,如果主机连接在路由器且有DHCP,模拟器则无需手动设置网络。

d3bfdecec3b19efde536729400def7cd.png

7d79c96991efae0af77b654a1b983ef7.png
一般自动会连接上,也可以在设置中手动对网卡进行设置。

不过配有PCMCIA接口的WM6掌上电脑几乎不存在,再说模拟的还是NE2000这种上古网卡。这种设备在现实中即使存在也可能是专门用途的,因此使用这种方法联网,其真实性还是要打折扣的。更新:经评论区蓬岸大佬的指正,一些PDA设备的网卡和CF卡还是走内部的16位PCMCIA的,而NE2000兼容型网卡也有一定的应用。

第二种方法是将PDA通过“底座”连接到电脑。运行模拟器后,打开仿真设备管理器(Tools里的Device Emulator Manager),在右键菜单中将当前的模拟器设备插入底座。再打开Windows Mobile设备中心(或ActiveSync),设置连接方式为DMA,并勾选“当连接到PC时,允许在设备上建立数据连接”。

bd4e88018dfbd672f7d63442af167770.png
一番设置

a7322f5e751d520231b39e54ff991e2b.png
PDA自动建立连接

使用这种方法还能用PC端的工具来同步PDA,就像当年真机一样。

第三种方法则仅限于Pocket PC手机(Professional)。Pocket PC的PDA(Classic)没有电话功能因此不能使用这种方法。这种方法便是使用Cellular Emulator工具来模拟一个基站。设置起来也复杂一些,但能解锁模拟器的电话功能。但是Cellular Emulator只能兼容32位系统,因为它依赖的XPVCOM虚拟串口驱动只支持32位系统,不能在64位系统下使用

0f78144e0ff7ef8a1f81d531699bab17.png
在64位系统中运行Cellular Emulator

Cellular Emulator还依赖VC++ 2005运行库,也需要先安装,否则会出现以下错误。

364dad15999f5e8766f04b95ae09d8ee.png
没有安装VC++ 2005运行库而报错

如果确实是32位系统,但也出现XPVCOM报错,则需要手动安装XPVCOM驱动,可以运行Program FilesWindows Mobile 6 SDKToolsCellular Emulator中的InstallXPVCom.exe来安装此驱动。

如果能正常运行Cellular Emulator,它的窗口右下角会显示“DE:COM3”的字样,COM3指的是虚拟COM3端口,实际也可能是别的值。在仿真器属性的“外围设备”中将“串行端口 0”填写为COM3(如果是其他端口则按实际填写)。

83b4afe9316706ca38303bccb4a3741b.png

设置完成之后还需要重置模拟器,点击PDA听筒旁边的电源按钮即可重置,也可在文件菜单中重置,选择硬重置。在重置之后,可以观察到模拟器的系统状态栏中出现了信号图标,还分配了一个手机号码。

9bfd9fdc297104cceb69e059bb3789c3.png

此时已经可以打电话发短信了,但还并不能连接到互联网。还记得当年的cmnet/cmwap和uninet/uniwap吗,这些是当年上网时使用的接入点。

在“设置”的“连接”选项卡中找到“连接”图标,在“Internet 设置”中点击“添加新调制解调器连接”,只需要注意新建连接时“选择调制解调器”时选“电话线路(GPRS)”,其余的都可以随便填写。

359f522efd8228c1e854b0f0d0be6a27.png

设置完成后就能使用移动数据来访问互联网了。

如果需要浏览Web,可以用当年流行的UC浏览器,最后兼容的版本是8.2版;需要完整的Web浏览器则可以选择Opera Mobile 10。

不多说,体验去。那些常用软件,还记得吗?

高级设置

在探索过模拟器之后,发现之前出现的Classic和Professional快捷方式都是指向DeviceEmulator.exe,这个程序正是设备模拟器的主程序。直接运行会列出它的一些参数:

ca3de4485a06705e9c6ac9733ed63098.png

此时可以修改Professional或Classic的快捷方式,加入一些高级点的功能。

f7ee839a3fe6eb79ce91312f04fc3cab.png

例如将/memsize从128改为256(最大就是256了)从而让内存大小翻倍。也可以加上/cpucore armv5 /vfp true将CPU类型改为ARMv5并启用硬件浮点单元。设置了这些之后必须在模拟器中“清除保存的状态”再重新启动模拟器才会生效。

这些快捷方式都有自己的标识符(/vmid),并且设置了/defaultsave即每次退出时默认将当前模拟器状态保存到用户目录的AppDataRoamingMicrosoftDevice Emulator文件夹中,以设置的/vmid为名进行保存,扩展名为.dess。

49ab9b4951dd03c72819fa61e7ea4e91.png

这种状态保存文件是可以直接使用设备仿真管理器(Device Emulator Manager)打开的,而且即使连ROM(.bin)被删除后都还能正常还原模拟器保存的状态。这种格式还是比较适合分发的。

如果需要修改显示颜色的数量(颜色深度),可以删掉/skin相关参数,直接指定/video参数,例如/video 240x320x32 (中间为小写字母x),这样会直接创建一个不带皮肤的模拟器窗口,240x320分辨率,32位色。如果需要显示皮肤,同时要使用32位色,可以修改皮肤文件,修改Program FilesWindows Mobile 6 SDKPocketPCDeviceemulation中相应设备的皮肤文件夹中的xml文件,将displayDepth="16"中的“16”改为“32”再保存。

需要注意的是,模拟器的framebuffer(“显存”)只有1MB,修改时需要计算 240(横向分辨率)x240(纵向分辨率)x32(颜色位数)/8/1024 ,计算出来后单位为KB, 看看数字是否超出了1024KB。模拟器可选的颜色位数有8位(256色),16位(65536色),24位(真彩色 约1677万色),32位(真彩色 约1677万色 + 8位Alpha通道)。

有兴趣开发WM应用程序的话,还可以安装Visual Studio 2005或2008,再安装完整的Windows Mobile开发套件。

后记

此次是多年后重温WM模拟器,隐约看见一些擦拭不掉的时代眼泪。

记得08年那次玩WM模拟器,搜罗了不少PocketPC软件,假装自己拥有一部WM手机/PDA。 当时也有不少软件站,像手机乐园等等,都在2014年陆续停止老设备的服务,有的站点还被历史无情抛弃。当年的软件开发者恐怕早已改行做iOS/Android开发,他们的老作品也早已封存,不再提供了。

虽说后来也收过两台HTC的WM6.1手机,但固件被HTC定制过,并不是原汁原味的体验,即使是第三方做的“原生”固件也没能带回当年的感觉。当时在选购这类设备时也陷入了一个怪圈,觉得手机至少能打电话能用移动数据于是就没选择PDA;另一方面还尽可能挑后期发布的手机,因为配置高一些,功能强一些,却忽略了固件被魔改过,即使是“原生”固件也带大量非原生的东西。不说了,希望能以合理价格入手一台高配的中文PDA吧。

现在看来,这类Pocket PC Phone算是现代智能手机的初期尝试吧,只是微软把PDA当电脑来做。手机与PDA的界限开始模糊。后来隐约觉得苹果的iPod touch与当年的那些纯粹的PDA有几分相似(不知道是不是我的幻觉),都不能打电话,都可以上网、管理日程、看文档、安装软件…… 只是一个以娱乐为主,一个以办公为主。后来想想这些智能设备不都殊途同归吗。

(歪个楼)当年那些CE系统的学习机是什么体验呢?用过的盆友请举手。(逃)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值