As the proprietor of these pages, I get a lot of e-mail from palmtop users. Among the most common topics is memory. In an effort to answer some common memory questions before they're asked, I present the following overview.
Regardless of what model LX you have, the maximum amount of memory that can be used for running programs is 640K. This is a limitation of the PC-compatible architecture, not of the LX in particular. You can adjust this amount downward to make more room on the internal RAM disk, but it can't be increased. Memory cards and internal memory upgrades give more RAM disk space, not more room in which to run programs.
How much memory is taken up by the built-in applications? By add-on applications?
The built-in applications are stored in ROM, so they do not have to be loaded into memory to run. Each one does require a small amount of working space, though. Typically, each open application takes around 40-50K. Lotus 1-2-3 is the major exception -- it takes a minimum of about 100K, and grows to accommodate whatever sheet is loaded. The System Manager itself takes up some room, as does DOS, leaving around 400-450K for applications.
Add-on applications have to be loaded into memory, so they will take up more space than the built-in ones. DOS applications not designed with the 200LX in mind often want a large chunk of memory, since they don't expect to be sharing space with a bunch of palmtop stuff. TSRs will reduce the memory available to all applications, so it is a good idea to only use those that are absolutely necessary.
What's the rest of my 1MB (or 2MB) for?
After removing the 640K used for running programs, and a small amount (maybe 20K) for the clipboard and system functions, whatever memory is left over is available as the internal RAM disk. On a 1MB model, this turns out to be about 350K, and on a 2MB model you'll have about 1370K.
What about extended memory and UMBs?
The LX uses an 80186 CPU, which doesn't have protected mode. Hence, no extended memory. As for UMBs, it might be possible to create them using the LXs own memory management hardware, but so far noone has been able to do so.
How about EMS?
Here, the situation is a little brighter. There are two ways to provide EMS memory on an LX. One is to use a generic EMS-on-disk driver which swaps pages in and out to a disk file. The other is to use an LX-specific driver which uses the LXs memory management hardware to assign a portion of the internal RAM disk as EMS.
The "generic" method is slow (because it has to copy information back and forth through the DOS disk access routines) but it can use a plug-in card to hold the paging file. The LX-specific method is much faster, but can only access the internal RAM. (It creates a "paging file" on C:, but it actually accesses the memory directly -- the file is just a placeholder.)
If you're not familiar with the term, EMS is a way of providing extra memory that works on older PCs without protected mode. It uses a small area of main memory (usually 16K-64K) as a "window" into a larger area of memory outside the CPUs purview. Many DOS apps, even modern ones, can use EMS to store data which won't fit into main memory. Among them is Lotus 1-2-3, including the version built into the LX.
I've heard about a 5MB upgrade. What does it entail?
The 5MB upgrade is performed by several third parties for around $300. You send them your LX, and they send it back later with 5MB of internal memory, giving you a 4400K C: drive. Please note that the upgrade will void your warranty from HP. That is not to say that you should expect problems; reports from upgraders have been universally good so far. However, if your palmtop breaks, HP will no longer fix it for free, and you probably shouldn't send it to them without pulling the upgrade out first.
The upgrade is possible because the 200LX actually supports more internal memory than the 2MB available from HP. The upgrade takes no more than attaching a 4MB memory board to a prepared spot on the LX mainboard. All 1MB LXs have 1MB on the mainboard, so adding a connector and plugging in the 4MB board gives a total of 5MB. Older 2MB LXs have the connector and a 1MB board already in place, so swapping it for the 4MB board gives a total of 5MB. Newer 2MB models have 2MB on the mainboard, so adding the connector and 4MB board gives a total of 6MB.
Memory cards can be used to store data just like the internal RAM disk. When a memory card is inserted in the LX, it appears as drive A:, and you can use it like any other disk.
Memory cards can't be used as main memory in which to run programs; see the previous section for the reasons why.
What's the difference between flash memory and SRAM?
The "S" in "SRAM" stands for "static". Unlike the dynamic RAM used in desktop machines, static RAM requires no refreshing and draws very little power, both of which make it ideal for use in memory cards and palmtops where batteries are small and volatility is fatal. (It's also very fast, which doesn't matter too much on a palmtop.)
Flash memory is actually a type of ROM, but one which isn't really "read-only". Data in flash memory is not volatile, just as it would be if it were in an ordinary ROM, but flash memory can be erased and rewritten in blocks. Flash memory is commonly used in desktop machines, modems, and other devices with a ROM -- for very little extra expense, flash allows the ROM to be updated whenever a bug is fixed or a feature is added, saving the customer from sending the device in for a ROM replacement.
Each type of memory has its advantages and disadvantages when it comes to use in a memory card:
Speed: SRAM is quite fast, and remains so no matter what is being done with it. Flash memory is reasonably fast on reads, but quite a bit slower on writes because of the erase-and-reprogram process.
Power: SRAM requires battery backup at all times, even when it's out of the machine (the card has its own battery). Flash requires no power to maintain data indefinitely, but consumes a lot of power during writes.
Size: SRAM cards are available in smaller sizes (up to about 8MB) only. Flash cards are available in quite large sizes (at least 80MB at the time of this writing).
Price: SRAM cards are more expensive per megabyte than flash cards.
Other: Flash memory can wear out. After a certain number (in the hundreds of thousands, at least) of writes, a bit of flash memory can get "stuck", rendering the block it's in unavailable for further writes. As long as care is taken by the card and/or driver software to avoid repeated writes to the same block, this should not happen for a long time.
Why are SRAM cards so much more expensive than the SIMMs I can buy at my local discount outlet?
Static RAM is generally better overall than dynamic RAM. It's faster, it requires less power, and it doesn't need to be refreshed. Because of its speed, static RAM is often used in the caches of desktop computers - and the price reflects the difference, even in the desktop world.
There is also the matter of economies of scale -- there are millions of desktop computers with millions of SIMMs in them, but a much smaller number of potential customers for RAM cards. (Small memory cards are, for the most part, only useful in palmtop/PDA applications these days.)
What's an ATA flash card and why do I need one?
Using flash memory requires some special handling. Writes must be done a block at a time. If a block wears out, it must be marked and avoided in the future. Flash memory is actually quite disk-like, with the additional twist that it is a good idea to avoid wear instead of waiting for it to happen. All of this means that handling a flash card requires more complicated software drivers than an ordinary RAM disk.
Somewhere along the line, someone decided that if flash memory was going to require handling like a disk, they might as well make it one. An ATA flash card includes a controller that looks, to the PC it's plugged into, just like a hard disk. As far as the PC and its software are concerned, an ATA flash card and a Type III hard disk are identical except for size.
This is a big advantage for PC-compatible computers, since PCs already know what to do with a hard disk. That's why ATA flash cards are the preferred type on PC-based systems like the LX and OmniGo.
Oops, I have a non-ATA flash card. What do I do now?
The simplest thing to do might be to sell it to a Newton owner and put the money you earn toward an ATA card. If you do want to use it on an LX, you'll need a driver. If one didn't come with the card, you'll have to locate one somewhere.
The most commonly used driver is the Microsoft Flash File System, usually called MS-FLASH.SYS. Unfortunately, you can't just get it over the net. Laptops with PCMCIA slots will usually include it, but in that case it may not be legal to use it on both computers at the same time.
Once the driver is installed, the card should work like any other. The disadvantage is that the driver will take up memory you might not want to lose -- if that's the case, selling or trading the card may be the only option.
What about compression?
Most memory cards, especially multi-megabyte and larger flash cards, come with some form of data compression. Usually, it's a copy of Stacker, already installed and ready to run on the palmtop.
In case you're unfamiliar with Stacker, it intercepts all disk activity, compresses information as it's being written, and decompresses it as it's being read. Except for the memory taken up by the Stacker device driver, it is transparent to nearly all system activities. The average compression ratio is 2:1, which is why most ads for flash cards quote the "compressed size" as twice the amount of actual memory on the card. Depending on what kind of files you put on the card, it may be more or less efficient than that. Text files compress very well, while already-compressed files (ZIPs, EXEs compressed with DIET, etc.) don't compress well if at all.
Compression may slow the system down slightly, and the driver takes up some memory. Usually, this is a minor price to pay for effectively doubling the size of an expensive memory card.
My memory card didn't come with Stacker. Can I still compress it?
If your card didn't come with compression, you're not out of luck. You can go out and buy a copy of Stacker or some other compression program -- you might want to look at hamfests, flea markets, or used computer stores for an old version, since you won't need the DOS 6, protected mode, or Windows features in the newer ones.
Another possibility is to use JAM, a shareware disk compressor. It's not as efficient as the latest versions of Stacker, but it is very easy to use and install on the palmtop.
Can I compress the C: drive?
If you have a 1MB machine, there isn't enough space on C: to make it worthwhile, since you have to leave boot files, drivers, and the like in the uncompressed portion of the drive. Even if you have a 2MB, 5MB, or 6MB machine, I would advise not compressing the built-in drive, or at most compressing only part of it. You can use your own judgement on this, but I recommend leaving at least some space uncompressed, and keeping crucial information -- like the contents of C:\_dat\ -- there.