03 December, 2016

Slightly less poor brother and a distant relative

It's been eight years

First, I must mention that much like this article states, I take a long time to write articles for the blog. This one took a particularly long time before I was happy with it.

In a previous post, I described a purchase I'd recently gained. At that time, I compared it to the fx-82MS and Canon 804P. I won't be reiterating that here, as I've said what I needed to in that post. Instead, I'd like to describe another recent purchase, the fx-9750GII. It's a small upgrade from the G+, having more memory (about 62,800 bytes) and a slightly reworked OS and menu screen. It additionally features nearly 2,900 functions. Those weren't the main reason I bought the calculator though. They're nice, but I can do something with this calculator I couldn't do with the G+. I can connect it to the computer with just a USB cable and some Casio software. This means I can create programs inside the Casio interface on the computer without pecking my way through keys on the calculator keyboard. That speeds things up dramatically for me.

USB support has become ubiquitous among more powerful calculators such as the HP stable (HP-39Gii/40GS/50G and others) and Texas Instruments (TI-84 Plus, TI-89 Titanium), and the same is also true for the Casio fx-9750GII and equivalents. That allows me to connect it to my computer without any weird expensive bits of kit such as the FA-122, which was an after-market purchase of another US $37.95 or thereabouts. I originally saw this cable cost far more, so I never purchased it. In addition, the FA122's a serial connection, useless for most modern computers without serial ports. USB capability makes things far easier because most computers have USB ports these days. Of course you require software on the PC side to exchange data with the calculator, but that's downloadable from Casio. The only remaining issue is that the ports are usually USB 1.1 speed, not USB 3. Even considering that, transfer speeds are still considerably faster than the original 9,600 baud connection through the FA-122. I also can't say if the drivers will play nice with Windows 10, the new kid on the block.

Time to try it out

As you can imagine, I've been having a bit of a play. I've basically duplicated the Grocery program I was using on the G+, and it seems to work well enough. All the features that were in the previous calculator are here, though they've been slightly tweaked. I noticed that screen writes happen quite a bit faster, this could be due to the fact the calculator uses a SuperH SH-4a instead of the SH-3. The fx-9750GII and fx-9860GII each come in two versions, the earlier one (SH3) and the later version (SH4a) providing some improvements from the Casio Prizm range. However, prepare to be disappointed if you want all the features of a fx-9860GII in your fx-9750GII, because they're not here. There's no backlight, though this is not much of a loss for me as none of my other calculators have one either. There's no "pretty-print" feature with fraction bars, superscripted exponents and other things. Results are represented in decimal form instead of "Math" mode. For fraction marks, you have what fx-82MS uses, and carets (^) for exponents. You also can't use compiled applications (known as add-ins), there is no spreadsheet, and no eActivity functionality. These issues aren't going to kill this calculator, but these are some of the reasons why Casio released this calculator for less cost than its big brother.

One other feature I found missing from my calculator is the inability to back up the existing flash image to a file. If you want to upgrade the flash—and you can—you'll have to be prepared to lose what's there already. In earlier BIOS versions (not 2.04.xxxx) I could have backed up the flash image using fxRemote, but it seems that Casio have now removed that ability, and the same issue also applies to the latest fx-9860GII's BIOS code. Casio no longer officially provide BIOS updates for the 9750GII, so if you decide you want to update the BIOS, you'll end up taking a chance. It's possible to upgrade the BIOS, though the 9750GII doesn't have any updates beyond 2.04. Some people that have attempted upgrading have ended up bricking their calculators, making the calculator almost useless in the process. I did stumble across the original version I had of the firmware for the fx9750GII, so I at least have a backup.

However...

I decided I'd take a bit of a gamble and try to upgrade the BIOS so it runs a fx-9860GII's flash update. The instructions are relatively simple, all that's needed is the most recent version of a flash image for a fx-9860GII, a USB cable—preferably the one that comes with the calculator—and the fxRemote program. As there are actually two files I could have used, I had to get the version for the SH4a, and not the SH3. I found the relevant files, fired up fxRemote and nervously watched as figures scrolled up the screen. Finally the job was done, and I had extra functionality in my calculator after an initial hiccup. I now reckon this Casio stacks up better than it originally did against the HP-50G even though the HP still has the edge, and for a much cheaper price than I would have ordinarily paid even considering I bought the calculator second-hand.

I also reverted to the fx-9750GII's image, partly to see if it could be done—it worked perfectly okay. So I can go back and forth between versions, but I'll stick with the fx-9860GII's image, as it gets me more functionality.

Grocery Program

The fx-9750GII has also allowed me to improve the grocery program I was working on. It might seem counterintuitive to write a program to handle what most of us take for granted, using our four-bangers (nickname for simple four-function calculators) with memory. However, this program has a little more beef to it, as I can break down the total grocery bill into five broad categories. I can also show how much tax I'll be paying when I pay over my cash. That rate is alterable, of course. About the only thing I've had to worry about has been differences between the newer and the older calculators related to new keywords not present on the original G+. Thankfully those have been minor, and have mainly been because of how the FA-124 program tokenises and copies programs between the calculator and the computer.

I also added crude support for five temporary values (usually used for price-per-kg figures to be used later) also displayed on the same screen. As a result, the screen now looks a little different than I first described back in the original article. Due to the ease with which I can transfer programs, I can also upload the program to hosting sites, so my simple grocery program is now up on Casiopeia.net. I go into more detail in this article.

Concluding remarks

I think I did really well for the money I paid. I got a calculator that compared favourably against the previous generation. I gained the ability to download programs to the calculator and back up the calculator's data files to the computer, and I paid no more than I did for the previous calculator. A gamble paid off when I was successfully able to get the calculator to behave like its big brother the fx-9860GII, although I've yet to find out if there are any disadvantages aside from the missing light. There may be some unseen results I don't know about yet. Lastly, I have a reliable backup for when my previous calculator eventually dies, although I'm not expecting it to for quite some time.

I'm happy.

I did find one strange thing though—I went to register the calculator at the official Casio website, but I struck a problem. Where it wanted me to enter in serial numbers, and even told me where to find them, there's no serial numbers to be found on the back of this calculator. That's not very useful for me. I don't know whether this version of the calculator was ever released with serial numbers, but at least the one I have, has no numbers.

Casio Emulation

A standalone binary was provided to emulate the fx-9860G-SD, but you won't be able to upgrade it to the current SH-3 based BIOS, the emulator simply won't support that. The emulator doesn't import add-ins, making it only usable for BASIC files (*.g1m). Additionally, you've got to source the emulator. If you want an emulator that covers the later model, you'll need to purchase it directly from Casio.

Extra storage

The fx-9860GII SD adds a SD card socket to the many things the calculator already supports. You can use the SD card to store files and add-ons, though to use them in the calculator you still have to copy them to the calculator memory, as the calculator won't execute programs directly from the SD card. Thankfully the calculator isn't limited to 2GB like the HP-50G, support for cards up to 32GB is now present in the most recent BIOS images.

“But wait, there's more...”

Old line. I just had to use it. Anyhow, I also bought a Hewlett-Packard HP-50G a little while ago for a significant discount off the retail price. I haven't evaluated this calculator properly, because it's a complex beast for someone still used to Casio calculators. It does everything the fx-9860GII does, and far more. It's been compared favourably with a TI-89 Titanium, whereas the fx-9860GII is compared more against the TI-84+. Engineers have loved HP products for generations, and while the 50G doesn't share all the strengths of the HP-48GX and relatives, it brings strengths of its own to the HP collection.

  • For starters, it's faster due to the ARM CPU. It's clocked at 75MHz, but can be clocked higher for a resulting increase in battery consumption.
  • The screen is easier to read even though it's still greyscale, and the resolution has been slightly increased (131x80). It's certainly not colour, but it's not bad.
  • Like other modern calculators, it includes the ability to use USB to install applications.
  • It has a SD slot for increased storage space. I made sure I bought a 2GB card specifically for the calculator.
  • It can communicate with older generation HP calculators and peripherals over infrared, and even retains a serial connector.
  • It's the most powerful calculator in the HP stable except for the Prime as of 2015.
  • It uses 4 standard AAA batteries, instead of the 3 batteries that previous HP calculators used. This allows the calculator to last longer on a set of batteries.
  • Libraries previously provided externally now come standard with the calculator.
  • There's collectively 512k of memory available for calculations, helping out in large calculations.
  • Sound! Yes, this calculator has a speaker. Don't ask for MP3, but you will get tones.
  • It claims 2,300 functions, but if you wish to create other things, you can happily synthesise more out of the existing ones, or simply write your own using UserRPL/SysRPL.
  • The functions provided in RPL amount to a stack-based programming language with a lot of strengths, if you can get your head around RPL and working with a stack. It's been compared somewhat to FORTH, and is definitely not like BASIC though many keywords can be recognised from other programming languages.

That's just a sampling of the features this calculator has.

What about RPN?

Yes, the HP-50G still has RPN (in the form of RPL), and indeed relies on it for the CAS mode. However, HP included an Algebraic mode for those people who just can't stand to be without it, and for whom RPN makes about as much sense as a fish riding a bicycle. However, this isn't the most intuitive mode to use, and it's a reasonable assumption that to use this calculator well, you'll need to learn RPL.

Thankfully, the calculator provides menus to navigate the available commands, and provides a complete catalogue of functions. The available manuals also describe these commands if you need to look up how to use them. You may also need to learn UserRPL or SysRPL to create functions or programs that aren't already part of the 2,300 functions of the calculator. A lot of that information is in the Advanced User Reference, or AUR. An introduction to most of the common commands is in the User Manual, and the User Guide expands upon some of that information.

The manuals—regrettably for HP—aren't up to the quality of the manuals provided with the HP-48GX family, or even the HP-49. However, it will bring you up to speed if you're good at reading. There are forums where HP owners/collectors gather to discuss various models and programs running on them, and are considerably busier than the English casiopeia forums where Casio owners can gather.

Because the main core of the calculator executes on a Saturn code emulator this opens the calculator up to reusing code from earlier platforms, as much of it will also work on the HP-50G perhaps with slight modification. People can also code applications in the native ARM instruction set if they need the full speed of the CPU. However, we're still comparing apples to ocelots when saying one's better than the other. If you can live with waiting a second or two for your results, then running the code on the Saturn emulation won't make much of an effect and will save you from having to recode. But if you need speed, running code natively on the ARM platform may well reap rewards especially if your problem is a good fit for the ARM platform. You will have to source a GCC toolkit for HP's ARM CPU.

HP-50G storage and file access

Of course, there's the small issue of getting stuff onto and off the calculator from the computer. Thankfully, the HP makes this relatively easy, but it's easier if you happen to have a SD card reader installed in your computer, that way you can simply put files onto the SD card, remove the card from the computer, and insert it into the HP-50G. The file browser on the HP-50G can then be used to source the file you need off the SD card. I've installed several useful applications this way. There's just one wrinkle with the HP-50G's filer, while it can access subdirectories and files within them, you can't create subdirectories from within the HP-50G and have to resort to using the computer instead. Under Linux, copying files to and from the SD card works much like a FAT floppy disk, don't forget to umount the SD card before putting it back into the HP-50G. One other limitation with the HP-50G is the lack of support for SD cards larger than 2Gb. If you don't have either a SD card reader or a SD card, then you're stuck with using a USB cable and HP's Connection Kit software. Accessing HP-50G files from Linux can be done using ckermit (the equivalent of the HP Connection Kit), as long as you've got the HP-50G connected to the computer through the USB cable. Don't forget to start the Kermit server on the calculator when accessing it with Linux, not the Xmodem server that the HP Connect software will ask you to use.

One other thing I discovered with applications on the SD card is that I can execute programs from the SD card, but they will get copied into the main memory first, and removed from the main memory when the program finishes.

HP-50G emulation

Like the Casio fx-9860 calculator, there's also a Windows emulator for the HP-50G. It can be found if you look really hard for it. The BIOS version string shows "HP50-C Revision 2.16", instead of the 2.15 revision currently available in real HP-50G calculators. It does have one puzzling omission—there's no support for libraries beyond the three supplied in the BIOS image. Other Windows-based emulators supporting the Saturn emulation utilise the EMU48 emulator made by Christoph Gie├čelink, which often doesn't allow you to emulate native ARM binaries. I'm not sure what the latest version of this is.

Linux is also lucky enough to have a HP-49G+/50G emulator called x49gp, which does support the native ARM instruction set. It also supports the installation and execution of further libraries. However, the one lack of x49gp is that it won't connect to existing HP-50G calculators connected to the computer through the USB cable. The only way to get files into and out of the x49gp image is to use a simulated SD card, which is a file you can mount using the loopback device. Just don't have the filesystem mounted while x49gp is accessing it.

Conclusions

I don't see me buying any further calculators unless the fx9750s and the HP-50G all die, and I'm happy with what I bought. There's no doubt that I'm never going to use them to their full capability, but then these days, who does? I am relatively happy with what I'm using the fx9750GII for, and I love the feel of the keys on the HP-50G. It sounds crazy, but they remind me of the very first HP-34C I had, more than 20 years ago. I'm probably never going to buy the HP Prime, as the only real advantage I would have gained would have been the speed of graphing, which I never used anyhow. And I don't need colour for anything else I've been using the calculator for.

And now, I can finally post this article, vaguely piqued to know I haven't covered everything possible, and somewhat annoyed it's taken this long to post it. But, for what it's worth, I'm done.