Memdiv is a small Windows CE utility (tested and found operational on Windows CE 2.12 but should work fine on both earlier and later versions) which allows you to change and view the system memory division between program memory and the object store from the command line, with status and informational messages posted into message boxes. It was written by myself because my Windows CE device, the PulseData International (http://www.pulsedata.com/) BrailleNote, had a wrapper interface that made it impossible to reach the same facility enjoyed by users of the graphical control panel; the interface in question, KeySoft, is a complete working environment and the user sees nothing outside the menu-oriented structure developed by PulseData. This program filled this gap by accessing the API functions in the library responsible for these changes and information. KeySoft would post message boxes from the system onto the braille display or through the synthetic speech in the unit, and allow the running of Windows CE executables with command-line switches, thus making it possible to develop the rudimentary but useful program included. Usage is fairly straightforward - run the program with no arguments for your current memory division status, and run the program with a single non-zero positive number as parameter to change the number of allocated pages for the object store to that value. The status report will give you this in a one-line note at the end. The value checking outside Windows API calls is fairly weak but all API-related errors should be correctly trapped and reported, hopefully including textual equivalents (this depends on whether the message tables are installed on your device, but you will still get the error code). I'll leave the actual checking of memory usage to you for now - it so happens that I can do this on my device and have limited the report strictly to physical page use. That particular feature is further complicated by the global memory status information reported by the API including all virtual memory (that is, all swapspace, not just physical memory if allocated), and I felt, not unreasonably, that this would be stepping over this program's responsibility somewhat. With open source being the wonderful thing it is, I can honestly imagine someone in a very similar, if not exactly the same, situation that I found myself in, especially given that one of the reasons for the writing of this utility was the doing away of Windows CE and the introduction of a superior open source operating system. I therefore provide thee with the program, niche hack though it may be, in source and binary form for your delectation. The binary is intended for running on a MIPS 4100-series CPU, which happens to be the architecture of my BrailleNote, but use the source and Microsoft eMbedded Visual C in combination with your platform's SDK to build yourself an executable for another platform if required. The license is contained in the file copying.txt in this archive. It's not long, please read it. It is the modern BSD license (which basically states that you can do all the hell you want with this, only acknowledge my work when you make use of it in yours). Sabahattin Gucukoglu Tue, 12 Oct 2004