制作WP-34s

↑我自己的一台未开封20b,一台完蛋的20b和一台谜样34s魔改作为镇坑图

WP34s是一个在国外hp玩家中相当出名的魔改项目,
初衷是在HP-20b这一款HP开放编程接口的便携式金融计算器上实现自制rom,现在该项目完成度已很高,能够给HP-20b和30b两款机器提供顶级按键编程机的机能(官方说是42s和16c的混合体,这两台机器已经是按键编程机的顶峰了),最大化地利用了HP20系机器的硬件,受到普遍支持。

但是很可惜,HP的招牌机器在国内销量普遍不怎么样,这种魔改项目的知名度就更低了,而34s因为需要直接刷写主控芯片,键盘布局也完全不同,需要一定的硬件制作能力,国内勇于尝试并成功的更是少之又少,我所认识的了解34s的人中,大多数人的34s都是直接从项目官方订购,需要海淘,非常不便。

而34s机器本身对于现在的计算器爱好者来说非常难用(这个rom是根据hp在上个世纪的按键编程机的使用习惯设计,另一方面hp所有的高级机型都差不多,学习曲线类似于Vim),没有现成的资料可用,官方提供的资料全部是特别长的英文,想去研究的就更少了

尽管如此我还是开了这个天坑(唉呀玩这个机子逼格多高啊),我自己缓慢学习34s的同时,会不时地将一些使用感受发上来,希望能给有兴趣研究这个rom的玩家们一些参考。


〇.准备工作

首先,让我们先找到这个项目的相关软件资源,这些资源主要集中在两个地方:

项目SF:http://wp34s.sourceforge.net/
wiki for hp:http://www.wiki4hp.com/doku.php?id=start
在项目sf里面可以找到电子版的说明书、模拟器、rom包、刷rom需要的“mySamBa“,然后在wiki for hp里面有英文版的教程,机器的硬件资料等,开始前请先大概浏览一遍,并将rom包与mySamBa下载好

软件方面需要的不多,接下来我们看硬件:

当然,这个项目基于hp-20b和hp-30b的硬件上制作的一个rom,所以首先需要买到这两款机型中的一种;
rom对于两个机子是通用的。对于爱好者来说30和20只有做工和选材方面的区别,30b的用料要明显好于20b。
截止发表此文时淘宝上有大量工厂货20b,50元一台的机子实测没有问题,可供选择。
然后就是机器与电脑连接用的材料了,电脑这边需要准备一个ttl串口转换器,我用的是ftdi的usb转ttl板,
机器这边需要引出连接线,电路板上有2mm间距的2*3调试焊点,我们通过这些焊点往里面灌程序。
官方推荐的做法是使用那种带弹簧的调试针制作连接器,不过up比较懒就直接把线焊在焊盘上了,然后弄完再拆掉,建议有耐心的同学不要这样弄(捂脸

①.拆机

第一步:将背面的5颗螺丝拧下,其中有两颗在脚垫里,小心点就不会撕坏
34s-2

第二步:难点来了,机器除了有螺丝,还有讨厌的卡扣固定,而且外壳材料非常硬,可能需要花点时间才能把卡扣打开,
卡扣的位置如图,可以使用螺丝刀或者塑料片分开,尽量不要划伤塑料
IMG_20140815_162828-3
拆完之后,机子的内部就暴露在我们面前了,看到下面那6个焊盘了吗~

②.接线

这一步建议在面包板上进行
34s-conn
请将VCC与3v3电源牢固地接住,GND接地
Tx0与Rx0分别与板子上的Rxd、Txd连接,用于传输数据
ERASE和RESET是这个6针接口的特有的,分别为高电平触发的擦除与高电平触发的复位,建议引出到面包板上备用

③.刷机

在进行之前请先确定rom包和MySamBa是不是准备好了,在官方sf都有下载
1.打开MySamBa,选择com口和需要的rom包,官方提供了这几个rom包:
calc.bin 最基础系统
calc_full.bin 包括了完整的FM库的最基础系统
calc_xtal.bin 当焊接了外部晶振(见官网),可以使用此包,提供了一些时间函数
calc_xtal_full.bin 包括了完整的FM库的xtal包
calc_ir.bin 当焊接了外部晶振以及红外线led,可以使用此包,在xtal包的基础上提供了ir接口的函数
calc_ir_full.bin 包括了完整FM库的ir包
一般而言选择calc_full就可以,如果自己焊了晶振可以用xtal包,因为ir包需要特殊硬件支持,可能没那么好弄
2.按下ac/on
3.将erase和vcc短接
4.将Reset和vcc短接并分开
5.按下ac/on,此时计算器会擦除原厂固件
6.断开erase,再次短接reset和vcc并分开
8.按下ac/on,此时屏幕应该是一片空白
9.单击MySamBa上的“send“按钮,电脑会开始烧写固件,如果失败别怕,从头开始一遍就好了,注意检查接线是否接牢,erase是否完成,tx和rx是否接反(当然up也不保证教程里面是对的,不妨重接一下试试)
10.如果刷写完成,再reset一次,应当出现的是34s的初始画面,上行显示“ALL RESET“(与20b有区别

③.5.失败排除

按照官方教程刷就没问题--本来应该是这样
可是不知道为什么,当我自己刷时,按照官方的方法死活刷不出来,上面这个方法是基于HP官配刷机线教程改编来的,理论上没问题,可自己试不知为什么就是死活不行……
于是只好另寻出路,我直接对线路板动手了:
34s-connect
转换器端<->线路板端
3V3<->LB1右端
TXD<->JP5右端
RXD<->JP6右端
GND<->C21上端

于是乎~问题解决,一遍过。

④.改造键盘

34s是个完全从头开始的固件,按键布局与原机键盘差异巨大,必须改造键盘,
官方推荐的方案是打印压缩包内附的按键布局图,并贴在原机上,

不过既然这个机子在我大天朝是这样便宜,up还是忍不住作死了一下:
34s-4
(好吧其实挺难看的,不过至少能用了就行)

未完待续qwq

14 thoughts on “制作WP-34s”

    1. 我有段时间没打理本站了(苦笑嗯…我用的是普通的高达勾线笔,黑色稳定性很好,即便是画在正面也不会蹭掉,但棕色就一般般了,现在那几个常用按钮的棕色标志都有点糊了(笑

      1. 抱歉平时没时间上线不能及时回复了quq官方推荐的线是生产这个机器时的调试线,只能靠在论坛里找人借,似乎很难买到所以一般的做法就只能自己做线或拆开了…

  1. samba连接的时候提示the applet did not return.Please check the connection and reconnect the target device然后弹出low level initialization fail.low level initialization is required to run applets .continue anyway?怎么解

Leave a Reply

Your email address will not be published. Required fields are marked *