porting VNC viewer to PalmPilot: some open questions...

Vladimir Minenko minenko "at" ICSI.Berkeley.EDU
Thu, 05 Mar 1998 20:56:50 +0000

Hi folks,

I'm thinking to build a version of VNC viewer for 3Com PalmPilot Pro.
I took a look on C sources of the viewer and would say that it sounds quite

The only problem I currenly see is the HUGE buffer statically allocated
in the viewer:

/* note that the CoRRE encoding uses this buffer and assumes it is big enough
   to hold 255 * 255 * 32 bits -> 260100 bytes.  640*480 = 307200 bytes */
/* also hextile assumes it is big enough to hold 16 * 16 * 32 bits */

#define BUFFER_SIZE (640*480)
static char buffer[BUFFER_SIZE];

Unfortunately, it is impossible to have such a buffer on Pilot. I don't know what
the PalmOS 3.0 will have (will be released on Monday) but current PalmOS 2.0.x
has following restrictions: not more than 4k stack, not more than 32k heap,
not more than 64k static global or local data.

What I'm thinking about is a viewable area of 160x160 (full Pilot screen),
1 or 4 bit depth with panning virtual desktop of the actual resolution on
the server. Due to this Pilot will receive only a 160x160 initial portion
of the screen and request further small updates if the user pan around in
the desktop.

So the question is whether it is possible to reduce the size of the buffer without
significant changes in the code and what is its min size. The comments in the code
above make me feel not so enthusiastic. Or I understand something wrong....

Thanks for any comments,

Vladimir Minenko, Ph.D.       International Computer Science Institute
Networks Group                1947 Center St., Berkeley, CA 94704, USA
voice: +1(510)642-4274 ext. 306, http://www.icsi.berkeley.edu/~minenko