Thanks to Chris for such a useful post. Let’s see more articles like this—I can’t do both news and in-depth tips constantly. Meanwhile Alan Wallcraft says Mobipocket will also run under Garnet, but not with DRM capabilities. – D.R.

garnetnokia-192x300Today I looked at a Palm emulator for my Nokia 770, with the intent of using it to run an eReader client. My overall verdict: mixed, but promising.

The screenshots were captured using VNC from my Windows box. Click on them to see larger views.

Going (Pea)nuts about ebooks

It started with a problem.

My first PDA, way back in the late ’90s, was a Palm IIIe. I remember it well, though I did not have it long before I upgraded to a Handspring Visor. When I broke that, I moved to a monochrome Clié—and then, later on, my employer gave me a full color Clié. I was a PalmOS man, dammit! Nothing was going to change that.

And I invested heavily in e-books for my device. The first e-book I ever bought was one of my favorite p-books: the original edition of A Fire Upon the Deep by Vernor Vinge. And I bought it from what was the pre-eminent e-book vendor in those days: Peanut Press. And other books soon followed, until I now have a total of 128 books in my library. (Although not all of them were paid for; some were freebies and an awful lot of them  were given to me by a kindly employee shortly before he left the company.) I also got a lot of e-books from other places, of course—especially Baen—but I had a special place in my heart for Peanut books. I even tried my hand at making a couple of them myself.

The Tower of eBabel

Fast-forward to the present day: Peanut Press is now eReader and owned by Fictionwise, my last Clié finally gave up the ghost, and I moved up to a Nokia 770. It read the Baen and other unencrypted e-books just fine—but there was no Linux eReader client. I still had the Windows desktop client, of course, which would run on desktop Linux under WINE; but WINE does not run on a Nokia 770’s flavor of Linux. I could not even crack the DRM on my eReader books, the way I could if they were protected MS Reader or Mobibooks—apparently, nobody had ever been interested enough in doing so to bother. In short, the Tower of eBabel conundrum had bitten me on the butt.

Desperate, I e-mailed eReader support, asking whether the company would have a native Linux client out soon and explaining my need for a way to read on my Nokia 770. The response was that eReader did not currently have a timeframe on a Linux client—but there was something I could emulate on my 770 that would let me read those books once more, something I had not even known was possible. I could emulate a Palm.

Access Garnet Virtual Machine Beta 2

The Garnet desktopThe PalmOS (or “Garnet” as the operating system is called now) emulator for Nokia tablets is available from Access. It is free, at least for the moment, but it is also in beta. As the Web site notes, Garnet has achieved 80% compatibility with various Palm applications, and are working on more. Happily, eReader turns out to be one of those applications.

The install process is simple. You register on the site for the download, then receive a link in email to where you can download the .deb file installer. (There are versions available for the 770, 800, and 810.)

After downloading it either directly to your 770, or saving it to a memory card and slapping it in, you will either open it with the Nokia’s Application Manager, or navigate to it in File Manager and double-tap it to launch the installer. Within a couple of minutes, it will be installed to your machine.

(Note that I have a Star Trek PADD theme installed to my 770; yours will not look exactly the same as this.)

After that, installing applications, e-books, and other files is a simple matter of tapping the “Install” button at right, and navigating to the location of the file. Whether you are installing applications, books, fonts, or other databases, you will install them all in exactly the same way. For convenience, it would be best to save these from your computer to MMC card and then install them from that. (Annoyingly, you have to install one file at a time, and the VM does not remember what directory you last installed from—so it would probably be best not to put them in a directory that takes too much time to pull up.)

Title Page of A Fire Upon the DeepName and Card No.For this test, I installed eReader Pro for PalmOS v. 2.6.3, the 18 and 24 point fonts from the Agfa font pack, and my copies of A Fire Upon the Deep (Special Annotated Edition) and Eats, Shoots and Leaves from eReader. After that, I selected the eReader icon, clicked “Launch,” and up it came!

What I did not expect was the rush of nostalgia that came over me as I looked at the eReader launch screen. It looked exactly as I remembered it from the Palm, only bigger.

The emulated eReader experience

Opening a book was just the same as it had been on the Palm, as well. Once I selected it, I was prompted to enter my name and credit card number. (As it happened, I had just updated my entire library to my current card number a couple of days ago, so I was all set up for that.) The Graffiti pads worked fine, as did the virtual keyboards. It was amazing how quickly Graffiti came back to me. Also, since this was an emulation of a late-model Palm, the graffiti area was entirely virtual and could be banished by clicking on the down arrow next to it, for more reading space.

After that, I loaded into the book and started reading—and encountered a few slight interface bobbles.

eReader texteReader text with menuTo start with, the way I am used to reading on my 770 (with FBReader) is to turn it 90 degrees clockwise from its ordinary landscape orientation. This puts the +/- rocker directly under my right thumb, so I can use it for pagination. It puts the arrow pad and other keys at the top, out of the way, which is fine with me since I would not be using them while reading anyway.

However, the Garnet emulator is set up 90 degrees counterclockwise from landscape, with the buttons at the bottom. It makes a certain amount of sense they would do it this way, since a Palm would have its directional pad below the screen as well, but it is not the best interface for reading. Fortunately, the eReader allows you to align the screen in any of the four directions, so I was able to flip it around and read it after my usual preference—albeit at the cost of the launcher bar and the menus being upside down. But the status bar was in the right place, and the rocker switch worked fine for paging up and down. And if it comes to it, I can read the menus upside down anyway.

Bell 24 point smallBell 24 pointThe other interface bobble had to do with the fonts. Back in my Palm days, I had found some of the fonts from the Agfa pack really did improve my reading experience, and looked quite nice. But when I tried them here, I was in for a rude awakening. Look at the images to the right. The full-sized one may not look bad as a thumbnail, but click on it and look at what the text looks like blown up to full size. (I have also enabled the “Da Vinci” color scheme on the eReader for this shot; it looks even worse in monochrome.) The other two fonts in the pack do fare slightly better, but this used to be my preferred font for Palm reading. And checking the “font smoothing” option in the eReader menu only makes the letters blurrier—not easier to read. I suspect this may be an artifact of blowing the 320×480 screen up by about 75-100% to fit it into the larger 770’s screen; if I zoom the screen back out to native resolution, as in the next picture, the text looks considerably sharper. It turns out that the best font for reading in full-screen mode may well be the basic, “boring” one that came with the Garnet OS.

eReader Overall

Overall, the eReader reading experience for the 770 is about what it was on the Palm, give or take those minor annoyances. eReader was one of the better reading programs overall, in terms of features that it supported and readability—and the fact that it had a lot of my favorite titles available as ebooks did not hurt, either. Apart from the issue of fonts looking nasty when blown up, the reader works reasonably well. Pages change without pause or lag after the button is pushed, menus pop up without delays, and books are quick to open when loaded. Even repaginating a book the monster length of A Fire Upon the Deep (Special Annotated Edition) for use with new fonts only took a couple of minutes. The reason for this, of course, is that the Nokia’s processor is much faster than the Palm’s. Even under emulation, Benchmark clocks it at 200%-248% the speed of a Palm IIIe (depending on what other processes the 770 is running at the time).

Its major flaw is, of course, that it is limited by the low resolution of the emulation. Even at its best, the fonts do not look nearly as pretty as the anti-aliased fonts of FBReader—and at worst, they appear downright ugly. On the other hand, this is how those of us who cut our teeth on Palm ebooks read for years—and in fact, many of us remember when Palm screens were 160 by 160 pixels, and still we managed to get by. And for those of us who bought (or were given) encrypted books from eReader before we came into our Nokias, it is currently the only game in town.

Bonus Sidebar: An eRead-ster Egg

One feature of eReader I was amused to discover still works is the hidden “autographing” function. If you use eReader for a stylus-activated device, try this. I know it works with the Palm version; it may work with the Windows Mobile and iPhone versions, too.

When you have an encrypted eReader ebook (that is, an ebook bought from a store) open, write “AU” in the graffiti area. The screen should change to a paint window, where someone can doodle an autograph. Once saved, the bitmap of the “autograph” is attached to that copy of the ebook (so any autographed ebooks should be backed up somewhere safe, with the credit card number used to unlock it written down in case you lose or change it). The idea was that an author doing an eReader signing would be told how to access this secret autograph function, and so would be able to autograph fans’ e-books as well as their print books. In practice, the paint window’s sensitivity is low enough to make any signatures look as if the author has had a few cups of coffee too many, but it is still a clever idea, and one that I do not know of any other e-book client emulating.

Other apps and the emulator Itself

I did not test many other applications—I looked at the Launcher, Dope War, and the Micromoney app I used to use to balance my checkbook. All of them ran about the same as I was accustomed to them running. It was just like having a Palm again—and as I have yet to find a checkbook-balancing application for the 770 as good and simple as Micromoney, I may well be using the emulator more often for that than for reading eReader books.

The emulator itself is not without its flaws that emphasize its beta nature, however. Sometimes installing or launching applications can be really slow, and I did crash a time or two while running it. Once I lost the entire 16 megabyte “storage heap”—the virtual “onboard memory” of the emulated Palm—into which I had installed all my applications, and had to reinstall everything. (Something I will be doing when I have time is trying to find out where the Garnet VM keeps the heap and seeing if I can copy it off as a backup.) I understand that the device should be able to hotsync via LAN with a copy of Palm Desktop on a PC, and I would like to try that; however, I have not been able to figure out which Palm Desktop I should download. (At least they are available for download, unlike the desktop for my discontinued Sony Clié.)

One major drawback with the emulator is that it is not yet able to access external storage, such as the Nokia’s MMC card, the way that later Palms, Visors, Cliés, and so on could. With my Clié, I used a 64-megabyte Memory Stick to hold many ebooks and other add-on files; I could hold a lot more of that nature with my 2 gigabyte MMC card. But at the moment I am limited to the 16 megabyte “heap” on board the 770. (I could make it slightly larger, of course, but it would cut into the onboard RAM of the 770 itself while I am running it.)

On the whole, I am happy with the Garnet VM—having any way to read my eReader books or run old Palm apps on my Nokia is better than having none at all. Hopefully it will improve its stability and add some of those missing features as time goes by.


  1. Chris, thank you sooo much for this. I’ve been trying off and on for months to install eReader on my N770. Turns out I was trying w/the wrong version.
    Also, I have read two DRM’d e-books on Mobipocket running under Garnet, though had no success installing the Oxford Dictionary (thought maybe it was just too big). Maybe I’ll try again this week.
    Thanks again.

The TeleRead community values your civil and thoughtful comments. We use a cache, so expect a delay. Problems? E-mail