Welcome to PDA-FX

This website was dedicated primarily to development of 3D rendering engines running on PALM OSŪ devices. Later, I have added all others PNO codes developed during the last years, most of all dedicated to 2D graphics effects.

All samples provided here have been developed using HB++ (Visual Basic like language) and GCC. The core of all codes is a PNO (ARMlet) written in C that allows complex graphics processing, using the power and the speed of ARM processors.

Handheld Basic HB++ was a powerful rapid application development tool for the PalmOS platform from Peter Holmes Consulting. HB++ was a kind of Visual Basic and then an OOP language. Today It is no longer developed nor supported but the community was big and generous.

If you intend to modify PNO codes I strongly recommend you to read documentations about 3D rendering and techniques used. I do not provide full explanations of codes.

If you are unfamiliar with 3D rendering it may be useful to read more about it before using or modifying provided codes. There are a lot of books and websites offering very good explanations about 3D techniques.

Here are some resized screenshots of rendered 3D objects, taken from PALM OS simulator. For each 3D rendering engine you will find more screenshots.

I have recently made a 3D rendering engine based on the raycasting technique, like the one used by ID Software in their famous Wolfenstein 3D game. You will find more details and resources on the dedicated pages.

Here are some resized screenshots of maps included in the raycasting project, taken from PALM OS simulator. For each 3D rendering engine you will find more screenshots.

System requirements

To run all codes, your device must be equiped with:

  • PALM OSŪ 5.0 or higher.
  • ARM processor.
  • 256 or 65536 colors.
  • Low or double density screen.
All codes related to 3D rendering engines only run with 65536 colors, 256 color mode isn't supported and may crash your system. More information about that choice are available in 3D rendering engine sections.

Terms and conditions

You have the right to use all provided codes for personal or commercial use, in both cases I will appreciate to be mentioned as developer of these codes. All codes are provided freely "as is", without any warranty. Use them at your own risk.