Basilisk on the Zaurus

This is an absolute beginner’s guide to installing and using the 68k Macintosh emulator Basilisk II on the Sharp Zaurus SL-C3x00 series. It assumes no special knowledge of the Zaurus or of Linux, though it does presume some familiarity with older Macintosh systems.

  1. About the Zaurus
  2. Things you need to be prepared for
  3. Installation
    1. Installing the Zaurus files
    2. Installing the ROM image
    3. Installing the boot system
  4. Getting up and running
  5. Keyboard issues
  6. Interfacing with the Linux system
  7. General tips
  8. Some useful links

Here’s a Zaurus screenshot of REALBasic 2.1 running on System 7.1 with PopupFolder; you’ll see some Word 5.1 and MORE files on the desktop. On the Zaurus screen this image would be 2.25" high and a little under 3" wide.

I. About the Zaurus

The Zaurus is a long-running line of PDAs made by Sharp whose distinctive selling point is that they run Linux. Early models were available worldwide, but in the shakeout of the PDA market in the last few years the later models have been limited to the Japanese market. Production was thought to have been discontinued in January 2007, but this now appears to have been reversed; Sharp are still manufacturing new machines and they’re readily available on import. English-language conversion is a matter of a simple preferences change; most importers will supply it pre-converted at no extra charge.

The current Zaurus design is a Psion-style clamshell mini-laptop with a 640 x 480 pixel screen and a hard drive: 6 gig in the SL-C3200, 4 gig in its predecessor the 3100. The hard drive isn’t really necessary, as there are both SD and Compact Flash card slots, and 4G cards are quite cheap these days, so the diskless SL-C1000 model is a perfectly viable machine.

The cheapest import deals will be found from eBay dealers and pricejapan, but for UK customers there are also specialist import and support services available from FigLabs and TriSoft. Both of these also have free downloadable English-language manuals from their website. FigLabs offer the option of buying your Zaurus elsewhere and loading their own software on to it.

If you’d like to know more about the Zaurus, some key resources are:

II. Things you need to be prepared for

  1. Basilisk on the Zaurus is slow, slower than the slowest Mac you’ve ever used. It’s particularly evident with screen and window redraws, and with slow-launching programs. It’s fine for typing text, but many things that you're used to being instantaneous now take palpable dozens of milliseconds, and you may need to rediscover reserves of patience that haven’t had much practice in recent years of zippy processor speeds. That said, it’s not so slow as to be unusable, particularly if (as is likely to be the case) all you’re doing is viewing documents and word processing.
  2. The mouse problem. Mouse event handling has always been a bit of a weakness with Basilisk, even on fast desktop systems, and on the Zaurus it’s a significant frustration. The Zaurus version seems to process a screen tap by first registering a mouse click at the current cursor position (i.e. where you last left the cursor on your last tap or drag), followed by a drag to the new position. This can drive you insane till you get used to the workarounds, which involve tricks like “clearing” a tap by tapping in the menu bar, or (when you want to toggle something) positioning the cursor and then deliberately tapping somewhere else to register a single rather than a double tap. If you don’t mind having to use both hands, holding down the blue Fn key will allow you to reposition the cursor with a tap that doesn’t register as a click.
  3. The Zaurus keyboard mapping is extremely non-standard, and Basilisk assumes you’re using a standard Mac keyboard, so that some characters (including apostrophes and question marks) can’t be typed at all without some under-the-hood tinkering with the mapping. More on this below.

III. Installation

You don’t need to know anything much about Linux to run Basilisk on the Zaurus. (I still don’t, really.) What you do need is:

1. Installing the Zaurus files

Zaurus software installation packages come as files with the suffix .ipk. (These are actually gzipped .tar files, as you can verify by changing the suffix to .gz and dropping them on Stuffit Expander on the desktop.) Note that Safari routinely thinks it knows better than you and adds a .gz suffix to downloaded .ipk files. You’ll need to restore the original suffix before the file will be recognised on the Zaurus. This is most easily done by choosing Get Info in the MacOSX Finder and deleting the .gz from the file suffix.

  1. Copy the seven .ipk files to an SD card or via USB to the Zaurus’s hard drive, whichever is more convenient. Though the Zaurus has a particular directory called Install_Files, you can install files from anywhere; the Install_Files directory is simply the one that the installer program will search if you don’t specify what you want it to install when you launch it. If you’re lucky, just tapping on the .ipk file in the Files view will launch the installer. The little parcel icon next to each package means the package is available for installation. It’s supposedly possible to install ipk files from the command line in the Terminal application, and indeed this is specifically recommended for the large X/Qt jumbo installation. But I’ve never had any joy with this; there’s probably something really simple I’m missing, but even in su mode I still get errors I can’t see a way around. The GUI-based installer has always worked for me, even on the X/Qt jumbo package. Just be careful to set the Light/Power settings not to power down while the installer’s running, by setting the time to the maximum 30 minutes and plugging in the mains adaptor.
  2. Start by installing the X/Qt support files. I’m not sure it’s strictly necessary to quit the installer after each single file, but may as well play safe.
  3. Finally, run the actual Basilisk installer. You should now find its icon in the Zaurus’s Applications screen, as at top left below. Because Basilisk runs under X/Qt, you won’t see this icon in the taskbar when it’s actually running; instead, you’ll see the X/Qt icon, which in the minimal install comes out as the red X on a blue background seen below.
  4. Before running Basilisk the first time, tap and hold on its icon in the Zaurus’s Applications screen. This will bring up a dialogue with a checkbox for magnifying the image, which will be checked by default. Be sure to uncheck this before running Basilisk, or you’ll get a blown-up screen image on its side of which only the left-hand part will be accessible. (It’s meant for older applications, written for a 240 x 320 screen, that will be too small on the 640 x 480 screen used by more recent Zaurus models.)

2. Installing the ROM image

Launch CopyROM on the Mac whose ROM you want to use for your image. Click OK in the version information box, and save the image under some suitably descriptive name like “LCII.rom”. Then copy this to the directory you want to use on your Zaurus. You’ll probably want to put your ROM image and boot volume(s) in a single dedicated directory on the Zaurus, but you don’t have to.

3. Installing the boot system

Either create a disk image of your own boot system, or use an existing one such as Marc Hoffman’s 7.5.3 image. Easiest is to start with Marc’s volume and create your own preferred boot volume from inside that.

IV. Getting up and running

When Basilisk launches, it’ll present you with a dialogue box like this. The only tabs you actually need are the ones for Memory/Misc and Volumes.

  1. Start with Memory/Misc.

  2. Here you need to set three things:
    1. the amount of RAM you want the Zaurus to allocate to your virtual Mac. (You can always adjust this later.)
    2. the particular Mac type you want Basilisk to emulate. If you’re using a ROM image from a 68LC040 Mac, choose 68030 emulation without FPU rather than 68LC040. (The 68LC040 processor is a 68040 without FPU.) I found that, using a Duo 280 ROM, some applications (notably Inspiration and QUED/M) wouldn’t work properly under 68040 emulation, but were fine under 68030 sans FPU.
    3. the address of the ROM image you want to use.
  3. Now go to the Volumes tab, where you have two things to set:
    1. The first box lists all the virtual Mac disks you want Basilisk to mount at startup. You can add as many volumes as you like and all will show up on the desktop, but the boot volume is always the first in the list. You can’t use the Startup Disk control panel to select this because Basilisk preempts the decision on startup, so to switch boot volumes you’ll need to Remove those above your chosen boot volume in the list and then Add them again. (They’ll then appear at the bottom.)
    2. The lower box sets the Zaurus directory you want to use as your Unix root directory. This directory will then mount on Basilisk’s Mac desktop as a separate volume called “Unix”, and can be navigated just like any other Mac volume.
  4. You should now be all set. Cross fingers and hit Start. You should get your happy Mac, then the normal startup dialogue culminating in a cute little classic Mac desktop.
  5. To toggle the Zaurus taskbar, just press the Zaurus menu button and either choose Full Screen (or simply press F on the Zaurus keyboard) or don’t.

V. Keyboard issues

  1. The Zaurus keyboard is fairly radically non-standard once you get away from the basic alphabetic and numeric keys, and one of the things you’ll certainly want to do is to map the Macintosh command and option keys on to the redundant Japanese keys on the Zaurus keyboard. This is fairly simple using KeyHelper, and Meanie has (as so often) a package that will install the various bits you’ll need. You can simply then edit or substitute Meanie’s keyhelper.xml file with the settings you want to use; here’s mine if you simply want to adapt it. (To make my commonest function-key combinations more manageable on the tiny Zaurus keyboard, I’ve got the command and option keys the other way around from their position on a Macintosh keyboard, but it’s easy enough to change this if you’d rather have things in their expected places.)
  2. You’ll also find, if you play around with KeyCaps, that a lot of the basic punctuation (double quotes, semicolons, and the like) simply can’t be typed from the Zaurus keyboard at all, which has fewer keys than even a Classic Mac keyboard and maps them in non-standard ways. KeyHelper is no use in getting around this, because all it does is to remap things you can type on the Zaurus on to other Zaurus keys. I deal with it within Basilisk by using system-level KeyQuencer macros to get the characters I want from the keys I want to generate them; this works seamlessly for me, but if you don’t have KeyQuencer then you’ll probably need to roll your own solution.
  3. This isn’t a Basilisk matter, but worth mentioning anyway. The Zaurus keyboard is about as good as a PDA keyboard gets, and there are people who claim to be able to touch-type on it, but I’ve got great clumping digits and can’t really type comfortably on it at a proper writing speed. What I use instead is the wonderful CyKey keyboard from Bellaire Electronics in Barnstaple, which uses the excellent and long-established Microwriting touch-typing chord system. There isn’t a driver for the Zaurus IR port like there is for Palm, but it’ll work with the Cykey infrared receiver gubbins plugged into a ZHost cable adapter. It works fine under Basilisk; some punctuation maps wrong, but I just enter those characters from the Zaurus keyboard rather than faffing with yet more remapping.

VI. Interfacing with the Linux system

As noted above, you can navigate the Zaurus’s own disk from within the Mac emulator: the Zaurus, or a particular chosen directory on it, simply shows up as a separate volume on the desktop called “Unix”. It’s rather thrilling to find yourself navigating a Unix file system with PopupFolder. Just a couple of things to be aware of:
  1. While you should have no trouble copying files from the “Unix” disk to the Mac volume(s) from within Basilisk, copying files from a Mac volume to the Zaurus can occasionally run into permissions weirdness where the system wrongly thinks that a directory is read-only, and it may be necessary to shut down and relaunch Basilisk with a different boot directory. A workaround if you have StuffIt Deluxe is to keep a StuffIt archive on your “Unix” volume to copy files into and out of; for some reason resaving the same .sit file doesn’t seem to bother it.
  2. Remember that filetype information will be lost in Linux unless you archive your files first in a format that preserves it, such as a StuffIt archive. For this reason you’ll probably want in practice to stuff all files you want to move between systems.

VII. General tips

  1. Basilisk is very stable in normal use, but some extensions can cause crashes, and you can bring it down by high-risk behaviour like trying to take a screenshot of PopupFolder in action. (Experto crede.) Quite often after a crash X/Qt will refuse to relaunch, in which case you need to reboot the Zaurus. It should then be fine.
  2. One thing that will reliably crash Basilisk is rotating the Zaurus screen from landscape to portrait, whether physically or in software, when Basilisk is the frontmost application. But there’s a weird workaround if you do want that tablet Mac effect: switch first to a different application, rotate the screen, and then switch back to Basilisk, which will then retain its landscape orientation even if you twist the Zaurus screen back again. If you have the MacPortrait extension, you can even rotate the Mac display from within Basilisk – though as the locations of screen taps aren’t rotated with it, this is one to file under Cool but Pointless.
  3. Basilisk will tie up the audio output as long as it’s running, which can be a bit of a pain if you want to use the music player without having to shut Basilisk down. To avoid this, launch the music player first and start a track playing before launching Basilisk. Basilisk will protest that it can’t get at the audio output, but this is exactly what you want, so just click OK and Basilisk will launch as usual. It won’t be able to play alerts or other sounds, but these are barely implemented anyway. The music player can play in the background while you’re working in Basilisk, just as in any other application.

  4. The Zaurus ships with Hancom Word, a rather minimally featured word processor that will open and save the Word 98 .doc file format. It will also, though this isn’t obvious from the menus, open (but not save) RTF, which gives you a format that you can edit on both Mac and Zaurus. But if you actually need to do this, a significantly more capable alternative is the commercial TextMaker, which will save RTF and a number of other formats, though in all other respects it’s still nothing like as powerful as Word 5.1 or Nisus Writer.
  5. Zaurus battery life isn’t bad, and the batteries are replaceable and cheap enough for you to carry a spare; but it can still sometimes be desirable to turn off the screen to save power if Basilisk is busy with a long operation and you just want to let it finish. (I often want to do this, for example, when converting a MORE presentation to jpegs for projection from the Zaurus with Hancom Presenter and the now-scarce I-O Data CFXGA card.) The quickest way, if you’ve got the music player running as above, is to switch to the music player and simply tap the Display Off button. The Zaurus is still running, and Basilisk will continue doing whatever it was doing in the background; to bring the screen back to life, just hit Cancel or OK.

VIII. Some useful links


Nick Lowe
last updated 7/4/07