Taken from http://en.wikipedia.org/wiki/MIDlet...

* Handsets impose a limit on the .jar file size. Nokia series 40, arguably the most popular handsets for mobile gaming, has a .jar file size limit of 64kB. The MIDlet size can be reduced through application of programmatic and design optimization techniques ( J2ME Optimizations. J2ME Optimizations. URL accessed on Oct 10, 2005.) and the use of obfuscators, PNG optimizers, and J2ME optimizers.
* Heap sizes can be very small, around 200kb. Therefore, use as few objects as possible and delete references to them when they are no longer needed. Some image formats such as png will decompress to enormous sizes when loaded so don't keep too many of them. Catching OutOfMemoryErrors exceptions will normally not work.
* Programs can not expect more than 20kb persistent storage. Don't keep more than you need. (Newer phones support additional APIs for file storing)
* Keep in mind that a device can have very different screen dimensions, orientations and color depths. In other words, don't use absolute position.
* Not all devices have keypads or pointers. One should be able to use the program with both. Key layouts may vary too, so use Game Actions for up-down-left-right-action style events.
* Don't white list devices. If the program hasn't been tested on a specific device, assume it works. Never attempt to block the user from trying it.
* Use an obfuscator such as Proguard( http://proguard.sourceforge.net/ ) to compress the MIDlet size.

When using MIDletPascal...
* Dont use params passed by reference, in the Java emulator the application crushes befor start Shocked
* Using an array of record type may be derived in a bug
* ImageFromImage() loses transparency information when compiling for MIDP1.0
* http://piligrim.at.tut.by/java/ - Gaming API Support 1.1 for MIDletPascal
* http://developers.sun.com/techtopics...rence/techart/ - for Java list of MIDP articles