Pila 1.0 Beta 2 ReadMe By Darrin Massena (darrin@massena.com) 5 Oct 96 Pila is a 68000 assembler that runs under Windows 95/NT and produces Pilot executables. Documentation for Pila is in the HTML file PilaUM.htm. This version is of a BETA level of quality. That means it includes all the documented features and has undergone a fair amount of public testing to be sure they work. It also means that there are known bugs and anyone using unstressed areas of the program may discover more bugs. If you uncover any bugs or have suggestions on how to improve anything in the Pila package (the program, documentation, this readme, etc) please send me mail at darrin@massena.com. This is a part-time effort for me but I really value your feedback and will respond as soon as I can. Consult http://www.massena.com/darrin/pilot/pila.htm for an up-to-date list of known bugs and other Pila status. KNOWN BUGS - Certain invalid syntaxes will cause the assembler to crash. For example defining an address operand like (a6,6) instead of 6(a6) will crash. (reported by Greg Hewgill) - Pila reports the compressed size of an application's data section as being larger than the uncompressed size! This is actually not a bug but a fact because Pila does not implement complete data section compression yet. The 'compressed' size is larger (only 16 byte or so) because of overhead the PalmOS' compression format introduces. Presumably, when complete compression is implemented the savings will more than offset the overhead REVISION HISTORY ALPHA 1 (7 Aug 96) - First release! BETA 1 (10 Sep 96) - added Wes Cherry's PilRC (0.71), a tool for creating Pilot resources, to the Pila package - added Bill Hunt's PilDis (Alpha 1), a tool for disassembling Pilot code resources - added Sample.rcp file to demonstrate resource creation. Sample.rcp replaces mbar1.bin and tfrm1.bin which are removed - added Sample.bat file to build Sample.prc - added special equates to Pilot.inc for the serial library APIs - implemented source file name printing in error messages - implemented a statistics dump after successful assembly. Displays sizes for code, data, resource, and the entire PRC. Keep those PRCs small! - implemented a very minor Startup.inc optimization - fixed bug that was causing line numbers to be offset by one inside include files and off by another one in the 'including' file - fixed a HUGE bug that caused the data section and A5 register to be improperly initialized - updated Sample.asm to demonstrate data section access (amongst other things) - updated PilaUM.htm to incorporate various suggestions I received from Alpha testers, including a new section on the PalmOS API calling convention and a pointer to an online version of the Motorola 680x0 Programmer's Reference Manual -- get it! Beta 2 (2 Oct 96) - added 'align' directive for aligning code/data on user-defined boundaries - added 'list' directive for enabling/disabling listing output - added include path support via PILAINC environment variable - added Copilot-compatible code symbol generation. Specify "-s" and your app's code symbols will be available while debugging under Copilot - updated Startup.inc to use Wes' new directives (see below) - updated documentation - changed all errors to be output to stdout, rather than a mix of stdout/ stderr - added Wes Cherry's PilRCUI, a tool for previewing Pilot form resources, to the Pila package - updated to Wes Cherry's PilRC version .8 Wes Cherry has been extending Pila and has added many new features to make assembly language programming easier and less bug-prone. His new directives and syntax support procedure parameter definition, procedure calling, trap calling, local and global variable definition, and structure definition and usage. Wow! - the new directives are: call, systrap, syslibtrap, local, global, proc, beginproc, endproc, struct, endstruct, and sizeof - added documentation for new directives to PilaUM.htm! Updated examples, etc to show new syntax - Pila names (e.g., labels, equates) are now case sensitive. Instructions and directives remain case insensitive - updated Pilot.inc to use the new structure syntax. Several incorrect structure member offsets were fixed in the process - updated Sample.asm to use the new directives - fixed the 'end' directive to work as it should and be optional