See here for tech specs on hardware:
http://www.aibohack.com/pleo/tech1.htm and
http://www.aibohack.com/pleo/tech2.htm (page is somewhat old, but still accurate AFAIK)
For RAM, the main chip has
64KB total static RAM. That is used for the low level OS, as well as any currently running Pawn programs and data.
The Pawn interpreter is pretty smart. It will page in code (AMX) into RAM as needed. It also will page-in sound and motion resources as needed (ie. it will 'stream' from the SD or built in personality).
That is not a typo - 64KB as in kilobytes (65536 bytes of RAM total)
The PLEOPM default personality is ~4MB in size (stored in Flash), but paged into RAM as needed.
----
For custom programs you write yourself, you will probably not run out of space because the program, sound or motion data.
IMHO the big limit is the static data in the program.
I hit that with the YAPT interpreter. I loaded all the table based behavior into RAM.
=====
> I just checked out pleo/limits.inc included in the PDK, and found there's roughly 4MB for the main VM, 3MB for sensors VM, 2MB for behaviour VM (in LifeOS 1.0, it's 5MB in 1.1)
That's the file to look in.
However they aren't MB ... they are KB (no joke)
So to be clear, the total RAM limit for Stack and Data (and a little overhead) for the Main VM is 4KB (ie. 4096 BYTES!!!)
(the Sensor VM limit is 3KB, the User VM limit is 2KB, the Behavior VM limit is 2KB or 2.5KB)
Unfortunately, this is no joke.