安卓手机上运行 PC-E500 程序
目录
第1章安卓手机上运行 PC-E500 程序
1 PockEmul
安卓手机上运行PC-E500程序,需要一款PC-E500模拟器。PockEmul是一款可模拟多种型号计算器的程序,可运行在Windows、Linux、Android平台上。下图是PockEmul模拟Sharp PC-E500的截图:
图1
使用PockEmul,有一个严重的问题:无法高效的将已有的PC-E500程序上传至模拟器中。为此,本文提供了一个解决方案。
2 下载
需要下载的软件有:
1、运行在Windows上的PockEmul v1.4.3,下载网址为:
https://github.com/pockemul/PockEmul/releases/download/v1.4.3/PockEmul-1.4.3-win32.zip
2、运行在Android平台上的PockEmul v1.4.3,下载网址为:
https://github.com/pockemul/PockEmul/releases/download/v1.4.3/PockEmul-1.4.3.apk
3、辅助程序E500Comm v16.10.26
首先访问如下网址
http://pan.baidu.com/s/1gd7XDkf
然后进入public\Tools\E500Comm,下载E500Comm-16.10.26.rar
3 打包BASIC程序
本节将编辑两个BASIC程序,生成两个文件,然后将这两个文件打包。
解压E500Comm-16.10.26.rar,运行bin\E500Comm.exe程序,将显示如下界面:
图2
计算器请选择"PC-E500",不要勾中"串口设置"复选框,单击"确定"按钮。进入程序主界面,显示如下:
图3
单击上图的"1程序"按钮,显示如下界面:
图4
上图所示界面内,首先输入程序代码,然后单击【文件】【另存为】菜单项,将程序代码保存到文件里。如下图所示:
图5
下面有两段代码,分别被存入文件PI.BAS和2.BAS。假定这两个文件均在W:\E500目录下。
文件名 |
代码 |
说明 |
PI.BAS |
10 PRINT PI;PI# |
打印π的数值 |
2.BAS |
10 INPUT A,B,C 20 D=SQR(B*B-4*A*C) 30 PRINT "X1=";(-B+D)/(2*A) 40 PRINT "X2=";(-B-D)/(2*A) |
求解一元二次方程 |
单击上图中的菜单项【打包...】,在下图所示的界面内,选择W:\E500目录下的两个文件PI.BAS和2.BAS。
图6
单击上图的"打开"按钮,程序将在W:\E500目录下生成两个文件40000.bin和e500.pkm。如下图所示:
图7
e500.pkm、40000.bin存放了PI.BAS和2.BAS的内容,PockEmul模拟器载入e500.pkm或40000.bin,也就载入了PI.BAS和2.BAS。
注意:图5中也可以另存为文本格式,但是它有个缺点:PockEmul模拟器载入程序时需要花时间转换格式,程序越大耗时越久。
4 配置PC-E500模拟器
Windows上解压PockEmul-1.4.3-win32.zip,然后运行Pockemul.exe。依次:1、单击左上角的三条白杠;2、单击"New Pocket";3、鼠标滚轮选至"4.Sharp",然后单击进入;4、鼠标滚轮选至"5.Sharp New Generation Series",然后单击进入;5、选择Sharp PC-E500。
图8
Pockemul将显示PC-E500模拟器,如下图所示
图9
上图中,单击ON按钮(字母按键Z的左边)开机。单击PF1按钮(字母按键Q、W的上边)完成内存区域S2(存储卡)的初始化,再次单击PF1按钮完成内存区域S1的初始化。最后单击BASIC按钮(字母按键A的最左边),进入BASIC状态。
鼠标双击模拟器的非按键区域(Windows上双击速度要快),将显示下图所示的扇形菜单:
图10
单击上图的按钮,将显示如下菜单:
图11
请勾中上图红色框内的两个菜单项。【256KB internal RAM】扩展模拟器的内存为256KB(默认为32KB);【ce-2h64m(64Kb Memory card)】模拟外部存储卡,其容量经实测为256KB。这两项配置完成后,需要按RESET按钮(字母按键A左边的圆形凹槽)3秒,重启模拟器后配置方才生效。
5 载入e500.pkm
完成上一节的配置后,单击下图的【Load】菜单项,载入W:\E500\e500.pkm文件。
图12
模拟器上运行命令FILES"F:"即可查看F盘上的文件,如下图所示:
图13
可见:2.BAS、PI.BAS已经载入到F盘内。现在即可运行某个程序,如下图所示:
图14
上图首先载入F:PI.BAS,然后运行该程序,并显示了程序的运行结果。
安卓手机上,需要把文件e500.pkm复制到手机上。建议复制到pockemul目录下,这样载入时容易找到。如下图所示
图15
6 载入40000.bin
模拟器还可以载入40000.bin,具体操作如下图所示:
图16
单击上图的【Dump Memory】菜单项,显示如下界面:
图17
上图红框内的地址请填入40000(Pockemul v1.4.3有BUG,不能输入只能粘贴。Pockemul v1.4.2无此BUG),然后单击"Load Binary File"按钮载入W:\E500\40000.bin文件即可。
载入40000.bin和载入e500.pkm的功效是一致的:均是改写F:盘上的内容。
注意:在安卓手机上,因为界面原因无法完成上述操作。
7 解包
上文说明了如何把程序、文件导入模拟器中。本节将说明如何从模拟器中导出程序、文件。
在图17所示界面中,进行如下配置:
图18
导出F:盘的内容,地址范围应为[40000,7ffff];导出E:盘的内容,地址范围应为[80000,bffff]。上图表示导出F:盘的内容。单击上图的"Save Binary File"按钮,将该段地址的内存数据导出到一个文件里。假定该文件为W:\PC-E500\F.bin。
单击图5中的【解包】菜单项,选择刚才导出的文件W:\PC-E500\F.bin。程序将解包F.bin,并将解包后的文件存入F.bin文件所在目录,如下图所示。2.BAS和PI.BAS就是从F.bin里解包出来的文件。
图19
安卓手机上运行 PC-E500 程序的更多相关文章
- 在安卓(手机)上运行 Ubuntu (Linux)
在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...
- 微坑---微信小程序ios上时间字符串转换为时间戳时,在开发工具上和安卓手机上运行成功
给定一个时间字符串 var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:1.var timestamp = Date.parse(time ...
- WebStorm技巧-在安卓手机上运行Ionic程序
打开菜单项 Run -> Run- 选择 Edit Configurations- 添加一个 PhoneGap/Cordova 配置项,命名如: Ionic Android, 并输入相关 ...
- 微信小程序ios上时间字符串转换为时间戳时会报错,在开发工具上和安卓手机上运行成功
给定一个时间字符串 var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法: 1.var timestamp = Date.parse(tim ...
- 如何在 Android 安卓手机上运行 Node.js 应用 | 如何在安卓手机配置node开发环境
最近在学习js,由于没法随身携带笔记本电脑,在手机翻阅<JavaScript高级程序设计>时,时常想调试一下书中的代码.于是就有了,能否在手机上配置一个js开发环境.考虑到手机上的Chro ...
- 在安卓手机上通过虚拟机运行Windows XP
转自:https://www.ithome.com/html/android/302170.htm 细数当年的桌面版Windows,似乎针对ARM架构处理器的版本并不多,小编曾用过一段时间的Windo ...
- 解决小米手机不能运行Android Studio程序的问题
转载自:解决小米手机不能运行Android Studio程序的问题 问题描述 Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: ...
- 利用Termux在Android手机上运行PHP
从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...
- 简单理解在Mac OS X上运行ASP.NET程序
运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...
随机推荐
- Requirejs之AMD规范
一.什么是AMD规范 AMD是Asynchronous Module Definition-----异步模块定义 AMD规范定义了2个函数define()与require() 下面我们来看一下定义方法 ...
- What is the difference between parameterized queries and prepared statements?
Both parameterized queries and prepared statements are exactly the same thing. Prepared statement se ...
- FlipView 索引为0 WP8.1
如果使用FlipView时,出现别的页面切换到含有FlipView的页面时(缓存此页面/MainPage),点击或者滑动FlipView,Flipview自动索引到0 的问题解决办法 1.对Flipv ...
- Centos7网络配置,vsftpd安装及530报错解决
今天在虚拟机安装CentOS7,准备全新安装LTMP,结果又是一堆问题,不过正好因为这些出错,又给自己长了见识. 1,CentOS7网络配置 最小化安装CentOs7后,ifconfig提示comma ...
- C# 刷新页面浏览次数(点击量)+1
页面视图: <p class="text-center text-muted">文章来源:@ent.Origin 点击量:@ent.Hits <Script La ...
- webservice调用服务端数据时给soapenv:Envelope 添加自定义的命名空间
最近做第三方接口,服务端需要 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/&qu ...
- Application.DoEvents():概念
When you run a Windows Form, it creates the new form, which then waits for events to handle. Each ti ...
- CSS 笔记五(Combinators/Pseudo-classes/Pseudo-elements)
CSS Combinators Four different combinators in CSS3 descendant selector (space) child selector (>) ...
- SQL 四种基本数据操作语句的基本使用
SQL中含有四种基本的数据操作语句,分别是增(INSERT),删(DELETE),查(SELECT),改(UPDATE).下面简单介绍这四种语句的用法. 1:增(INSERT) 可分为两种查询情况,一 ...
- ionic 总结
希望大家都能有了好东西分享出来,单单就ionic来说,我是刚接触,现在用的人不是很多. 我认为如果大家能 有了好的东西或者好的方案 不藏着掖着,分享出来,那么我们的社区会更加活跃,用的人会越来越多,解 ...