JackSprat/JackFlash Primer
August 16, 2002
(Updated Aug 20)
(Updated again Feb 24, March 6, May 18, 2004, and Feb 19, 2005)
NOTE 1: Before even considering these programs, make sure they support your hardware! If you load a version of these on a device that isn't supported by that version, you may (and probably will) wind up with an expensive paperweight. Be forewarned!
NOTE 2: Read the manuals to these programs before using. This primer is intended to supplement, not to replace, the manuals that come with JackSprat or JackFlash.
JackSprat is a program that first and foremost backs up your FlashROM, and then allows you to delete built-in apps
in ROM that you don't use or need. JackFlash then enables you to use that free Flash to store read-only programs
and databases to save RAM. Some devices don't need JackSprat to provide a usable quantity of Flash. EFIG devices
(European-targeted, multi-language PDAs) benefit greatly by removing the languages you don't need. Palms generally
have a bunch of Flash available out of the box because Palm provides very little in the way of extra programs and
libraries that provide/support enhanced capabilities. Sony, on the other hand, provides a host of VFS-supporting
programs like MS Gate, MS Autorun, MS Backup, and MS Import. Also, all the extra hardware capabilities in Sonys
like 320x320 high resolution displays, built-in MP3 players, enhanced IR port, etc., use programs and libraries
provided in FlashROM. Not everyone uses all the capability, so JackSprat allows you to delete or move the ones
you don't need. If you have enough Flash available for your needs (check it with Brayder's demo programs), then
you don't need JackSprat at all. Newer Palms like the Tungsten|T3 have their FlashROM packed with value-added programs
like Documents To Go and VersaMail, plus system libraries for Bluetooth, phone linking, SMS, and more.
So, why bother with the Flash when all new devices support memory cards? Good question. My answer would be access speed. Although card access on my T665C (with its 66 MHz CPU) is very quick, it still isn't nearly as fast as RAM, which is virtually instantaneous. The 400 MHz T3 reads its SD card very rapidly, but it still isn't as fast as RAM. Plus, some programs and databases will only work in RAM, not on the card. Examples are programs that come to life with some system trigger like alarm times or other system event. These generally work just fine in ROM as well. You also may want to put some apps in Flash so that you can use them while listening to MP3s on a dedicated MP3 card. Only you can decide what you need, but I value the extra Flash these programs provided for me, even with 52MB of user-accessible RAM on the T3.
JackSprat
Good ol’ JackSprat. I’ve learned a few things about it by going through the ROM culling process three times—once
on my T615C and twice on my T665C. The most important point up front is that the Hotsync FlashROM restore works
perfectly. Before you even think of starting, back up your ROM. I recommend the hotsync backup to your PC,
then make a backup of that somewhere else. Newer versions of JackSprat only backup to the card, but that's OK.
Just backup the card to your desktop. If nothing else, you'll need to restore the FlashROM to sell the device.
The following is geared to the two devices with which I have personal experience I actually did all this, but should
be generally applicable to other Palm OS handhelds.
The files I’d recommend keeping on Sony devices like the T665C and why:
1) Applications – this is the default app launcher. If you hard reset and this isn’t present in Flash, you’ll be
hard pressed to use the device again. DO NOT DELETE THIS OR MOVE IT TO RAM. LEAVE IT IN FLASHROM.
2) MS Import – this makes your memory stick show as a hard drive on your PC through the USB port. Unless you have
a Mac, this is a valuable program for transferring large files to/from the stick.
3) Security – without this, you can’t lock or password your device. I believe that you’d also lose the ability
to hide private records as well. Best to keep it.
Stuff you should think hard about keeping under many circumstances:
1) Modem Support – if you think you might use a modem in the foreseeable future. If not, go ahead and delete it.
2) Network Support – You might be surprised at what doesn’t run without this library. I lost the ability to use
Fireviewer after deleting it on my T615C, even though I never tried to use its web functionality. If nothing uses
it, go ahead and delete it.
3) MSAutorun – allows you to automatically load a particular program when a properly set up MS is inserted. You
could use this to recover the device by putting a launcher as the default load program for a given stick, though
I haven’t done this. This will copy to RAM but ends up stuck there, requiring TCatalog to delete. Just delete it
from Flash if you don’t want it.
Programs that I recommend moving to RAM rather than outright deleting are the standard built-ins like Addressbook,
Datebook, Expense, MemoPad, and ToDo, as well as CardInfo (keep to format memory sticks), MS Gate, AudioPlayer
and AudioPlayerSkin, PG Pocket, and SoundUtility. I would keep these on your memory stick (available in the Launcher
directory) in case you need them later. Programs that you can move to RAM but that won’t copy to the stick are
Calc, Mail, and MSAutorun, so just delete them from Flash if you don’t need them. A couple of other programs require
using Filez or TCatalog to clear the beam protection attribute before copying to the stick, but I don’t remember
them all. It's self-critiquing when you try to copy them.
You can delete without concern:
1) Clie Demo – big program that's cute the first time.
2) gMovie – Kinoma player is much better, and is free. Can also copy to RAM and send to stick.
3) MS Backup – is OK, but there are lots of replacements with more capability--especially BBVFS. Can also copy
to RAM and send to stick.
4) PhotoStand – if you don’t create slide shows from your pictures. Can also copy to RAM and send to stick.
5) Web Clipping – if you don’t use a wireless modem w/service.
6) Welcome – doesn’t do a thing for you. The digitizer can be calibrated from the Preference program.
I've replaced all the built-ins with more capable programs. Datebk5 can completely replace Datebook and ToDo, as
well as most of MemoPad’s functionality. I like WordSmith not just as a great word processor, but also as a full
MemoPad replacement. MegaMemo is an excellent and free MemoPad replacement. PopUp Names replaces Addressbook for
me, but if whatever you like is comprehensive, you can fully replace the built-in. I use McFile to replace MS Gate,
and Kinoma instead of gMovie.
So, don't you need the built-in apps to sync their databases with your desktop. Well, yes...and no. JackSprat puts stubs in ROM that will allow the databases to by synced. Works like a charm. What you will lose, however, is the ability of the Palm OS Find function (and some third-party Find enhancements) to search the built-in apps' databases unless their replacements are in RAM or Flash. You can search them from within their replacement apps, however. Remember, the built-in Find and many replacements aren't VFS-aware and hence don't see apps on the card. Hey, nothing comes free.
Final verdict: I went from 64K free Flash out of the box in my T665C to 1092K free after a JackSprat cleaning.
Update for the T3
Starting with JackSprat 3.0b3, it supports the T3, although 3.0b4 improves compatibility. The T3 started with
1023K free Flash. On Palms, I still recommend keeping Applications and Security for the same reason as above. I
safely removed the language support to get 4735K free Flash. Then I safely removed:
1) Quick Tour - useless once you've seen it one time and maybe before that
2) Dialer - I don't link to my cell phone, so don't need this
3) Documents To Go - version 6.002 Pro came in ROM, but I updated to 6.005 Premier, so I removed the ROM version
and replaced with the updated version. Starting with 3.0b4, JackSprat will remove almost all parts of DTG so that
the new version could be written entirely into Flash.
4) Kinoma - Also updated this one, so removed the old version from ROM
5) Modem support - I don't own a modem and probably never will, so don't need this
6) Phone Link and support - see 2) above
7) SMS and support - see 2) above and note below
8) VersaMail and Extras - I don't do email on my T3, so didn't need this. Change: Later started doing wireless email, but still deleted this from Flash and put an updated version into the Flash.
9) Voice Memo - Don't need this either
Removing all this netted me 9316K free Flash! Had I been able to remove Bluetooth support, I would have had even more. But...
Do not remove Bluetooth support from the T3 with JackSprat 3.0b3 or b4!. If you do, you will require a soft reset after each Hotsync to enable another Hotsync. The T3 connects to the desktop OK, but cannot communicate the user information. Not sure why, but I tried playing with all the network, Hotsync, and Bluetooth settings to no avail. Perhaps Brayder will produce a stub in a future version for figure out which BT support file to leave in Flash.
Note on Send: After over a year of experience with removing various things from Flash on my T3, I've found some unexpected interdependencies. The Send option in Palm OS that can send through BT, IR, SMS, or VersaMail expects to find at least the first three listed available. Rather than simply ignore what's not present, Send crashes the OS if it doesn't find what it expects. That's pretty poor programming practice, but a fact of life in Palm OS 5.2.1 and perhaps others.
Another Bluetooth note: When I restored SMS and Voice Recorder to my T3, not only did Send function correctly, but the BT setup started working correctly as well. I don't believe that Voice Recorder has much to do with it, but SMS has some logical connection (no pun intended) to the overall wireless setup. The only practical way to send SMS is via BT. Again, good programming practice would dictate that BT stand alone as a service, but that doesn't appear to be the case on the T3.
JackFlash
So, after you've cleared out some Flash with JackSprat, what do you do with it? Fill it up w/stuff you like better using JackFlash. I choose stuff that will likely never or rarely change to put in Flash, since the Flash is essentially read-only. Datebk5 is regularly updated, plus I beta test new versions, so it doesn’t make sense to put in Flash. Under OS 4, I usually didn’t put hacks in ROM, as some don’t work from there. However, others work just fine there. Megalauncher skins can be put there, as well as Clie Remote Control libraries. If a program or database need to be changed or updated, just move it to RAM, update it, then move it back to Flash. OS 5 is somewhat more forgiving as to what will go into Flash. So far, I've only found AeroPlayer that won't work correctly in Flash on my T3. I also avoid putting apps that intercept system calls in Flash for activation, just for insurance. I've had TealLock lockup big time when in Flash, so I just avoid any problems by avoiding the issue of system call intercepts.
JackFlash comes with another program called JackSafe. It makes the Flash available after a hard reset w/o having JackFlash loaded on the device. Three words: just load it. 'nuff said. Exception: Do not load JackSafe from JackFlash 3.0b11 on the T3! This can result in a hard lockup that will not recover until the battery dies about 4.5 hours later. Keep FlashEnable on the card if you have to hard reset. JackSafe seems to work fine in 3.0b12.
JackFlash does many things automatically that other programs used to require user intervention to do. The most prominent example is compacting the Flash. If JackFlash can't find a chunk of unused Flash to put your program into, but the overall free space is sufficient, it will automatically compact the Flash to make room. Moving stuff in and out of Flash is very fast.
Feel free to pack the Flash to the gills. I have only 1K free Flash on my T3! (Had only 1K free on my T665C) Since the Flash is essentially read-only, filling it up is no problem. Just don’t put a database in there that some app might try to change. On my old T665C, I kept BackupBuddyVFS, Bible Thumper, DocAlert (part of ePocrates), Dorland's Medical Dictionary app (not the database, though), MathUPro, McFile, Star Pilot (basic program), and World Alarm Clock in Flash. On my T3, I loaded the BibleReader+ KJV w/Strong's Bible database and the Hebrew and Greek lexicons, CardSync, the CASLrt library, CryptInfo, ALL of Documents To Go 6.005 Premium, JPEGLib for ZLauncher, McCalc, McFile, MyBible plus the entire NKJV, and ZLib compression library. Not bad!
Be sure to check out my review on MobileTechReview!