了解,从模拟器开始

数码与整机

前言:从1992年世界上第一台真正意义上的PDA(掌上电脑)──苹果公司的Newton发布算起,PDA今年正好10岁了,经过这么多年的发展,市场已经渐成规模。但是由于它的价格依然昂贵、人们对它的了解仍然不多。为此,我们准备了这个模拟器的系列文章。1.让口袋羞涩的朋友在台式电脑上也能领略PDA的魅力。2.使准备购买PDA的朋友对欲购机型的操作有个比较全面的了解。3.PDA应用程序的编程简单易学,使用广泛,人们普遍对它的前景看好,有志于此的朋友可以通过对PDA模拟器的了解开始你的编程之路。
当年的Newton已经从市场上消失了,取而代之的是功能更强的采用Palm OS、Windows CE以及Linux等开放式操作系统的PDA,它们拥有易于上手的操作界面,与台式机良好的通信能力,众多优秀的第三方软件,超长的使用时间以及强大的网络功能,这些优势使它们迅速获得了广大用户的认可。
PDA的用途:PDA能做的工作也是十分广泛的:处理Office文档、进行网络浏览、订阅报刊杂志、阅读电子书、视频回放、图片浏览、玩游戏、背单词学习语法、电子词典、与手机配合收发短信等。而且由于主流的PDA都采用开放的操作系统,编程人员可以为它开发各种应用程序,比如Palm OS PDA就拥有上万种应用程序,正是这些程序大大丰富了PDA的应用范围。不过这些应用程序大多都是国外人员开发的,国内涉足其中的编程人员相对很少。
PDA的系统:目前国内主流的PDA主要是采用Palm OS以及Windows CE Pocket PC系统的PDA,采用Linux系统的产品很少见到。由于PDA的价格比较高,所以目前还不是十分普及,但是如果没有实际操作经验是很难体会PDA给你生活所带来的变化的,为了解决这两者之间的矛盾,就出现了PDA模拟器。
PDA模拟器:这里所说的模拟器就是指在PC操作系统上模拟Palm OS或者Windows CE操作系统,下面我就以全球市场占有率第一的Palm OS操作系统为例,分两部分为大家详细介绍Palm模拟器(Palm OS Emulator也称为Pose)的发展历史以及使用方法,相信在阅读完这篇文章后你不但能够熟练使用Palm模拟器,并且能够通过对模拟器的使用真正体会到PDA的强大功能。说不定就因为这篇文章会使你对PDA发生兴趣,从而改变你的生活。

第一部分 Palm模拟器的历史

Palm模拟器的作用就是在PC上模拟出Palm的运行环境。与大家所熟悉的游戏机模拟器不同,Palm模拟器的主要功能是为了方便编程人员调试软件,所以功能十分强大,当然用它来熟悉Palm的基本操作更是完全没问题的。在介绍模拟器的具体使用之前先来说说它的历史。让你对它有个比较全面的了解。
最早的模拟器是Copilot(见(图1)),它并不是Palm.inc公司编写的,而是一个Palm爱好者出于个人喜好编写的。

图1
图1

这个爱好者就是大名鼎鼎的Greg Hewgill。1997年他出于个人的爱好开发了Copilot。Copilot是一个32位的程序,所以只能运行在Windows 95和Windows NT操作系统上。1997年6月10日发布了Copilot的Beta 9版本(这也是Copilot的最后版本)。这个版本的Copilot已经具有了当今模拟器各种主要的功能,支持模拟当时的PalmPilot,而且支持Personal和Professional两种机型的模拟 (那时的Palm还叫做PalmPilot),但是功能上还有很多欠缺:比如对触控笔事件的模拟不是很完美,查错工具Debugger的功能还有待完善等。
虽然Copilot的功能还不够完善,但是它毕竟做到了在Windows上的正常运行,所以一经推出就获得了广泛的关注,而且由于Copilot是开放源代码的,所以一些编程爱好者就将Copilot移植到了BeOS,Linux,Macintosh,OS/2等多种操作平台上,甚至还推出了Windows CE 的版本(目前Windows CE版本的模拟器也在不断完善中)!
在1998年6月8日, Palm公司与Greg取得了联系,希望能合作开发Copilot,Greg同意了他们的要求。不久之后Palm公司就推出了针对Windows和Macintosh的新版模拟器,并且将Copilot正式改名为Palm OS Emulator。新版的Palm OS Emulator的功能变得十分强大,最大的特点就是它具有十分完善的调试功能,所以Palm公司便将它作为Palm OS SDK(Palm OS程序开发套件)中的一部分提供给开发人员。除此之外,Palm OS Emulator依旧保持了免费和开放源代码的特性,所以一些获得Palm公司授权的第三方生产商比如SONY、Handspring、 HandEra等都开发了针对自己机型的模拟器,以方便编程人员使用。
除了Windows和Macintosh平台的模拟器外,还有一些编程爱好者将模拟器移植到了Linux等平台。
模拟器的功能十分强大但是使用并不复杂。在下载了模拟器之后,你还需要一个保存着Palm OS操作系统的ROM文件。

模拟器的安装

下面我就以Palm公司的模拟器,配合Palm公司推出的m505机型的ROM为例说明模拟器的使用方法(不同公司的模拟器与ROM文件必须配合使用,否则可能会导致模拟器无法运行)。
在开始之前你首先要下载模拟器以及相应的ROM文件。
模拟器下载地址:http://www.palmos.com/dev/tools/emulator
ROM文件下载地址:http://www.echoice.com.cn/software/index.asp?categoryid=004001
下载完毕后,模拟器与ROM文件都准备好了,下面就让我们开始与模拟器的亲密接触。
运行c:\emu\emulator.exe(假设你将模拟器装到了c:\emu目录下)会出现(图2)。其中“New”表示建立一个新的模拟线程,也就是建立一个具体的模拟。“Open” 表示打开一个已存在的线程 。所谓线程就是模拟器某个时间的状态,它可以忠实反映那个时候模拟器的运行状态,包括所安装的软件、正在运行哪个软件等信息。“Download”这项的功能就是将Palm硬件设备中的ROM文件下载到本地(我会在技巧部分介绍下载的方法),所下载的ROM和网上下载的ROM相同,如果你已经拥有了Palm硬件可以采用这种方式获得ROM文件。“Exit”一看就知道,就是退出模拟器了。

图2
图2

由于我们是第一次使用模拟器,所以点击“New”,出现(图3)
图3
图3

图中各选项的作用如下:
ROM File:这项用来告诉模拟器在哪里获得相应的ROM文件。我们选择Other然后选择刚才下载的m505的Palmos40-en-m5051.ROM就可以了(图4)
图4
图4

Device:用来设置要模拟的机种,本例中选择Palm m505。由于有些不同机型的Palm可能会使用相同的ROM文件,所以有时一个ROM可以模拟多款机型。
Skin:设定模拟器的外观。通过这项设置可以使模拟器的外观与所模拟的机型完全一致。通过这项设置可以让你对所模拟的机型有更加具体的认识。现在保持Generic即通用面板,稍后我会介绍如何更改外观。
RAM Size:在此设定模拟器内存的大小。因为m505是8MB的机种,所以选则8192KB,当然选择16,384KB也没有问题。将RAM Size 设大一些可以使你的模拟器能够安装更多的软件。
设置完成后点击“OK”按钮进行确认。终于看到Palm的样子了,心里好激动(虽然现在对它还一无所知)!第一次运行模拟器时,就好像第一次启动Palm设备一样,需要对屏幕进行校正,并进行一些基本的设置工作。
第一次运行时出现的欢迎界面(图5)
图5
图5

触控笔校对界面,用来对屏幕坐标进行定位。用鼠标点击准星的中心就可以了(图6)
图6
图6

一些基本的设置(包括时区,日期和时间)(图7)
图7
图7

在校对屏幕时需要用鼠标来模拟触控笔,由于Palm使用了触摸式液晶屏,模拟器忠实地模拟了这一点,所以直接在模拟器上点击相应的位置就可以了。在完成屏幕校对以及基本设置后就会进入Palm OS的主界面了。在这里列出Palm OS自带的所有程序(图8)
图8
图8

在使用模拟器之前我先为大家介绍一下Palm系列产品的基本操作。如果连按钮的作用都不知道,怎么使用模拟器呢?使用过Palm硬件的读者可略过此节。Palm的样子大家都看到了,下面我就按图为大家简要介绍Palm硬件的基本操作。

Palm的使用方法

Palm主要分为三大部分:

触摸屏

触摸屏(图9),就是Palm的液晶屏,是Palm直接与用户打交道的地方。Palm采用了触摸式液晶屏,所以你可以直接在屏幕上实现按钮的点击,滚动条的移动,下拉菜单的选择等操作。比如要执行一个程序直接在屏幕上点击它的图表就可以了。如果你用过Windows的话你会很快适应这种操作方式。

图9
图9

手写区

由于Palm没有键盘,所以输入文字的工作就交给手写区了(图10)0。手写区包括四个按钮:APPLICATIONS用于在程序分类中切换,MENU用来调出下拉菜单,CALCULATOR快速启动Palm自带的计算器,FIND启动查找功能。四个按钮之间就是文字输入区域了。这里又分为两部分,左半部分用来输入英文字母,右半部分输入数字。

图10
图10

注:所谓程序分类就是指一组类似的程序。Palm是通过对程序进行分类来提高工作效率的。比如你可以将所有的游戏归类到GAME分类下。这样在你要进行游戏的时候就可以直接切换到GAME分类下,这里只列出你系统中的游戏,这样就避免了在众多其他程序中寻找的麻烦。

硬件按钮

手写区下面就是Palm的硬件按钮了(图11)1,最左面那个绿色的按钮是用来打开或者关闭Palm的,按住一段时间之后会打开Palm的背光。左面的第二个按钮用来打开Date Book(约会)程序。Date Book的作用就是用来安排约会行程或者制定任何与日期、时间有关的活动行程。左面第三个按钮是 Address Book(地址本)。Address Book的作用是用来记录联系人的名字地址以及电话号码等相关信息。 中间的上下按钮是用来控制屏幕上下滚动的。上下按钮右面是“To Do List(代办事宜)”按钮,它可以管理你每日要进行的工作并且有提醒和排序功能。最右面的按钮是 Note Pad(记事板),它的作用是让你随手记录一些琐碎的事情,就好像便签纸一样。

图11
图11

要使用这些按钮你可以直接用鼠标点击,也可以用键盘的ESC、F1、F2、PageUp/PageDown、F3、F4来代替。另外要输入文字,除了在手写区输入外,也可以直接用键盘输入(推荐使用后者)。
Palm的基本使用就介绍到这里,现在你可以试着运行几个程序,点一点那些按钮,熟悉一下模拟器的基本操作。
现在我们已经对Palm的硬件基本操作有了认识,接下来让我们继续学习模拟器的使用。

模拟器菜单的用途

通过模拟器你可以方便地安装或者导出软件,当然还可以对程序进行跟踪、调试等工作。在模拟器上按右键会出现下面这个菜单(图12)2。

图12
图12

其中各选项功能如下:
Exit:退出模拟器
New:开启一个新的线程。
Open:开启已经存在硬盘里的模拟线程。
Close:结束目前的模拟。
Save:储存目前开启的线程。
Save As:保存目前的模拟状态。
Save Bound Emulator:把ROM文件和emulator打包在一起,下次就可以使用产生的emulator_bound.EXE执行模拟器了。
Save Screen:把目前的画面存成.bmp的图形文件。
Session Info:显示当前线程的信息,包括机型,内存大小等信息。
Install Application/DataBase:将应用程序或者数据文件安装到模拟器。这项很重要,必须掌握。
Export DataBase:将模拟器里面的程序或数据库另存成.prc或.pdb/格式的文件。
HotSync:用模拟器与DeskTop作同步。
Reset:就是将模拟器复位。
Transfer ROM :从一台Palm把ROM抓下来。
Gremlin:Gremlins是用来测试程序兼容性的工具,开发应用程序的使用者才会用到这个功能。
Profiling:这个功能可以帮助你监测程序执行时的一些状态或行为,并且可以把这些观察到的资料储存下来作为日后参考,开发人员才会使用到这个功能。
Settings:对模拟器进行设置。
About Palm OS Emulator:显示模拟器的版本信息。

常用功能介绍

1.Install Application/DataBase的使用

Palm最大的特点之一就是有丰富的应用程序,不多装几个程序怎么能体会出Palm的优势呢?
在模拟器上按鼠标右键然后选择“Install Application/DataBase→Other”(图12),或者直接按“Alt+I”,就会进入文件选择界面,在这里选择你要安装的prc或者pdb文件。本例中选择MindManager-Mobile.prc。
注:prc相当于Windows中的可执行文件,pdb是资源文件,包括电子书、图片、数据库资料等多种类型(图13)3。

图13
图13

选定欲安装的文件后点击“打开”按钮就可进行安装过程了。
安装完成后你就可以在模拟器中使用它了(图14)4。
图14
图14

事实上除了这种安装方式之外还有一种更简单的方法,就是直接拖曳。用鼠标选中要安装的文件,然后将它们直接拖到模拟器上就可进行安装操作,非常方便。

2.Reset的使用

Reset的作用就是对模拟器进行复位操作。
复位操作有三种方式
Soft reset(软复位): 相当于戳了Palm背面的Reset孔一样。
Hard reset(硬复位): 相当于按住电源键再戳Palm背面的Reset孔,这样会将Palm中的所有软件清除,适用于由于软件冲突导致无法启动的情况。
Debug reset(Debug复位):将Palm重启进入Debug状态一些高级操作(比如刷新Rom时)才需要进入这种状态。

3.Settings 的使用

Settings是对模拟的基本属性进行设置的,里面又包括很多重要的设置(图15)5。

图15
图15

(1)Properties设置
这里包括了端口设置和是否启用声音(不启动的话模拟器是没有声音的)、退出时是否自动记录以及Palm用户名等相关信息的设置。
(2)Debugging设置
这个功能是针对开发人员的,作用是在程序进行某些操作时弹出Debug窗口报告相应的信息。这些信息对一般用户来说没有任何意义,而且还会中断程序的运行,所以我们应该将“Debugging”项中的钩都去掉。

4.Skins设置

这项是用来设置模拟器外观的,其中“Double scale”是将模拟器双倍显示,这样看起来会更加清楚。
“White background ”使用白色背景。
“Dim skin when inactive”非激活状态自动模糊。
“Stay on top” 模拟器在最前显示,这样就不会被别的窗口挡住了。
还记得我前面提到的更换皮肤的事情吗?就要在这里设置。想要将模拟器的外形设置得与真正机型一样你必须要有相应的皮肤文件。目前最新的皮肤文件是1.8版本,包括Handspring、Palm、Symbol、trg全部机型的皮肤图形文件,你可以在http://www.palmos.com/dev/tools/emulator下载。下载好皮肤文件后将它们解压缩到模拟器安装路径下的Skins目录,然后重新启动模拟器进入“Skins”设置,选择“Skins for current device:”选项下的“Standard-English”就可以了。
(图16)6所示就是使用皮肤后的模拟器,是不是漂亮了许多!

图16
图16

1.模拟器与Palmdes ktop的同步

Palm最吸引人之处除了上文提到的简便易用之外,还有一个大优势就是提供了强大的PC端管理工具Palmdesktop。通过Palmdesktop你就可以在PC上轻松地编辑和管理Palm中Date Book,Address Book,To Do List和Note Pad的内容了,用PC来输入大量的文字是十分方便的。除了文字输入方便之外,Palmdesktop还提供了强大的接口,允许Palm与PC上的应用程序进行交互,比如可以用Palm处理office文档,用Palm管理PC机上电子邮件程序等等。由于默认情况下模拟器是不能与Palmdesktop同步的。所以不能体会到这些乐趣,不要急!下面我就为大家介绍模拟器与Palmdesktop同步的方法。
背景知识:所谓的同步(HotSync)就是指PALM与PC进行数据交换的操作。同步的主要功能就是使PALM中Date Book,Address Book,To Do List和Note Pad的内容与PC端Palmdesktop的相应内容保持一致。比如你在PALM上中添加了张三的地址信息,同步之后Palmdesktop中也将保存有张三的地址信息(此操作可反向进行),这样即使你的PALM丢失了,你也能保存重要的数据。除了保存个人信息之外软件的安装与备份也是通过同步操作来实现的。
模拟器与Palmdesktop的同步分为两部份,设置Palmdesktop端和模拟器端,下面我分别介绍。

Palmdesktop端设置

首先在PC上安装Palmdesktop,操作很简单,我就不复述了。安装完成后鼠标右键点击屏幕右下角的Hotsync图标(图17)7。

图17
图17

出现功能设置菜单(图18)8,勾选其中的“Network”会出现下面的提示窗口,提示用户要对PC端的同步选项进行设置,我们按“OK”确认。
图18
图18

接下来在调出功能菜单中点击“Setup”,选择其中的“Network”标签,在这里勾选要进行同步的用户,然后点击“TCP/IP Settings”按钮,记住其中的“Primary PC Address:”一会在Palm端的设置会用到。记下后点击“OK”按钮完成Palmdesktop端的设置(图19)9。
图19
图19

模拟器端设置

1.在模拟器上按右键选择“Settings→Properties”将其中的“Rddirect Netlib calls host TCP/IP”选中(图20)0。

图20
图20

2.点击Hotsync图标,进入Palm的同步设置。
按MENU键调出下拉菜单(图21)1。
图21
图21

3.点击“Modem Sync Prefs”,选择“Network”,点“OK”退出。
4.重复第一步选择菜单中的“LANSync Prefs”,选择“LANSync”,点“OK”退出。
5.重复第一步选择菜单中的“Primary PC Setup”,将刚才在Palmdesktop设置中记录下来的内容填进去就可以了(图22)2。
图22
图22

6.返回Hotsync程序,选择“Modem”。
点击“Select Service”在“Service”处选择“AT&T WorldNet”然后选择“Phone”,在“Phone #”后输入00,点击“OK”返回(图23)3。
图23
图23

再点击“Done”返回,HotSync界面,点一下中间的同步按钮,这时你的模拟器就会开始同Palmdesktop进行同步了。
下面笔者就以安装著名的空战游戏Zap2000为例,具体说明如何用同步的方式来安装软件。
首先在程序菜单中启动HotSync Manager(图24)4,启动后会在工具栏出现HotSync Manager图表。
图24
图24

启动HotSync Manager后在程序菜单中打开Palm Desktop,Palm Desktop的界面如(图25)5。
图25
图25

点击Install按钮出现图(图26)6。
图26
图26

在User选项设置要同步的用户,本例中选择test,然后按“Add”按钮选择要安装的文件。找到我们要安装的Zap2000-colour.prc按打开按钮。
这时会返回Install tool界面(图27)7。
图27
图27

注意在程序列表中已经出现了刚才选择的Zap2000-colour.prc文件了,确认无误后按“Done”按钮确认。
接着会弹出一个提示框告诉你在下次同步时这个文件就会被安装到Palm中,按“OK”确认即可。
下面我们进入模拟器的同步界面(图28)8,(图29)9。
图28
图28
图29
图29

按下其中的同步按钮(图30)0,同步完成后我们选择的Zap2000就会被安装到Palm中了。单击它就可以开始游戏了(图31)1。
图30
图30
图31
图31

注:最新版的Palmdesktop可以在http://www.palm.com免费下载

2.模拟器的汉化

虽然模拟器已经安装成功了但是满屏的英文让人看着心里不舒服,而且也限制了使用。下面我就教你在模拟器上显示中文与使用中文的方法。
要在Palm模拟器上使用中文,你需要安装一个外挂的中文平台。目前比较成熟的汉化平台有大陆的“中日韩”,台湾的“掌龙”,以及香港的“ChOS”。这三款中文平台都能实现Palm OS操作系统界面的中文化,并且也提供了相应的中文显示、输入、编辑功能。其中中日韩还提供了韩文,日文,图标字的支持,另外还提供了GB<->BIG5码的自动检测这项非常实用功能。
下面我就介绍一下在模拟器上安装 ”中日韩”的过程。中日韩提供了强大的安装向导工具,运行之后在Palm用户名处选择相应的用户,以及需要安装的模块,选择完成后按下安装按钮,然后在模拟器上进行一次同步操作就可以了。由于“中日韩”的帮助文件对安装过程做了详细的描述我就不复述了(图32)2。

图32
图32

在安装过程中有几点需要提醒大家。首先在安装主程序时最好选上“GB-2312和BIG-5转换表”,这样你就可以使用智能检测字符集的功能了。其次在安装中文化时一定要选择相应的机型否则模拟器可能会汉化得不完全。
上面的安装方法是假设你已经实现了模拟器与Palmdesktop的同步功能,如果你的模拟器还不能与Palmdesktop同步,那么你只能用模拟器的安装功能将“中日韩”的主文件,已经相关的汉化包安装到模拟器了。具体安装哪个文件请参考说明书。
下面是一些汉化后的模拟器截图:
全中文的界面(图33)3。
图33
图33

进行手写输入中文(图34)4。
图34
图34

通过全拼输入法输入中文(图35)5。
图35
图35

3.使用模拟器上网

Palm的网络功能是很强大的不但可以浏览WAP网站,还支持普通网页的浏览!
用模拟器上网的设置很简单:在模拟器上按右键选择“Settings→Properties”将其中的“Rddirect Netlib calls host TCP/IP”选中就可以了(图36)6。

图36
图36

设置好了之后在安装一个浏览软件就可以上网冲浪了,当然你的PC机要先连在网上。(图37)7是使用Blazer浏览论坛时的截图。
图37
图37

4.在模拟器上使用扩展卡

想在模拟器上体验使用扩展卡的乐趣吗?跟我来。
首先你要到Palm网站下载HostFS for Palm OS 4.0,下载的地址是http://www.palmos.com/dev/tools/emulator/hostfs_emulator.zip
下载之后将HostFS_Emulator.prc安装到模拟器,重启模拟器然后选择”Settings→HostFS”(图38)8,在这里点击“Browse”选择要模拟成卡的目录,然后点击“Mounted”最后按“OK”完成设置,再重启一下模拟器就可以使用模拟器的扩展卡功能了。

图38
图38

模拟器的使用就为大家介绍到这里(由于不同厂商的模拟器有些不同,所以在某些细微操作上有些不同,但基本上是一样的)。同时我们欢迎读者将使用模拟器的经验和技巧记录下来,并向我们投稿。