home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / ZAURUS / PILISDK / README.TXT < prev    next >
Text File  |  1997-02-07  |  10KB  |  221 lines

  1. hello,
  2.  
  3. I am Patrick Dehlinger, and I work in France on PDA development.
  4. My compagny name is PALMWARE and my user ID is 100014.1025@compuserve.com
  5.  
  6.  
  7. Here is the third version of PILI (platform independant language interpreter)
  8. this is released under Freeware concept and also under limitations, by using
  9. this application you accept all the limitations.
  10. LIKE ANYTHING ELSE THAT'S FREE, PILI AND ITS ASSOCIATED UTILITIES ARE
  11. PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR
  12. IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES
  13. RESULTING FROM THE USE OF THIS SOFTWARE.
  14. You can't reverse engeneer this SDK.
  15. You can't sell part or all of this SDK.
  16. This SDK is limited to personal use.
  17. You can not use this SDK to own money, especially, you can't use it for
  18. professional application, etc ...
  19. You can't use-it to develop Sharewares without a special licence agreement.
  20. This licence agreement is valid for one software at a time, you must have
  21. this licence agreement in order to sell your Shareware, and must indicate
  22. the given licence number on all your softwares. Also user must registers
  23. to Palmware, and you also must send us the user name and address, when he
  24. register to you. This licence is under limitations, you can sell only to
  25. end users (home business), but  you can't sell to resellers, corporations,
  26. industries, governement , administrations etc ...(profesional business).
  27. Palmware is free to accept or refuse this licence agreement.
  28. The price and conditions for this licence will be communicate by private email.
  29. If you do not want to write Sharewares, all the applications written with
  30. this SDK are intended to be free, but you can ask for donations if you want,
  31. and I will also accept them.
  32. Sources of your applications will remain yours, and you are not obliged to
  33. release them to public domain.
  34. PILI op-code , documentations, executables and binaries are copyright
  35. Palmware S.A.R.L. France and Patrick Dehlinger and are under international
  36. law.If laws in your country don't permit such limitations, you can't use
  37. this software, E-MAIL me if this is the case.
  38.  
  39. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  40. If you can't understand the meaning of this legal stuff, don't use this
  41. software, please e-mail me, I will try to explain more and make it clear.
  42. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  43.  
  44.  
  45. OK,
  46. So if you accept all this stuff, here we go. (sorry for my english,
  47. feel free to send me mail for unclear parts).
  48.  
  49. FIRST: ALL PREVIOUS APPLICATION MUST BE RECOMPILE WITH THIS VERSION OF PILI
  50. AND USE THIS VERSION OF FNCALL.INC, if you don't, result is impredictable.
  51. some fncall definitions (labels) have changed, so use the new ones.
  52. please read the function.doc to see the changes, and because I have spend a
  53. lot of time to write-it.
  54.  
  55.  
  56. As I said, this version of pili is for public use, and so it will be great if
  57. you make your developments available to all of the Zaurus community. I
  58. understand that you could want some fees for your work, and so I have include
  59. into the licence agreement the ability to ask for donations, but you still
  60. can't release your software under Shareware without a Palmware licence
  61. agreement as this will become a commercial software (see previous text).
  62.  
  63. This version is called 1.01b, All functions are there, but not all of them are
  64. tested (ie they could not work exactly they suppose to do <bg>). I have join
  65. some demo soft. The binary file which is generate by the compiler needs to be
  66. installed as a PC-FILE. Pili will alowed you to select and download it  to Pili
  67. run area, the previous one will be deleted. If you want to save the previous
  68. software you can upload-it by pressing the 'SEND' key ('GET' will load a new
  69. application into Pili memory).
  70.  
  71. You can also download a PC-FILE document/file to Pili internal Vdisk by
  72. pressing the 'NEW-ENTRY' key (CAUTION, you are limited to the total amount
  73. of 55Kb). You can upload a file from internal vdisk to PC-FILE by pressing
  74. the 'MENU' key and entering the vdisk file name (this is usefull for
  75. spreadsheet and document application). You can also have a full list of all
  76. the files contained into the Vdisk by entering 'alldir.txt' filename after
  77. pressing 'MENU' key, it will be upload to PC-FILE directly.
  78. (you have then to import this file from PC-FILE into document).
  79.  
  80. You also have 3 more keys:
  81.  
  82. 'F' will ask for formating the Pili Vdisk.
  83.  
  84. '2nd'+'shift'+'u' will suppress all the pili data's from memory this can be
  85. done to either remove pili from memory or to restart an installation (move
  86. the vmem files from main to card for example)
  87.  
  88. '2nd'+'shift'+'D' will display an dump/editor (press 'h' within to get more help),
  89. CAUTION if you modify Zaurus internal memory without knowing what you are
  90. doing (or want to do) you can (AND WILL) destroy your data's.
  91.  
  92. The processor design is based on a virtual 32 bit CISC CPU with floating point
  93. support. It will be interpreted on the target platform with a special runtime.
  94. take a look to the file INTER.PRO wich contain all the instructions
  95. descriptions (caution, don't change this file, it is use by vasm.exe).
  96. This VCPU will allowed you to write powerfull applications for the Zaurus, but
  97. for the moment, only the assembler is available (I hope someone will port the
  98. small-c to handle this cpu, you can find the source in the ddj forum).
  99. Even with this assembler, and just with a few opcodes, you are able to write
  100. applications. I have enhanced this with some libaries functions (ie native
  101. coded functions) wich can be called thrue the FNCALL family instructions.
  102. Mainly this functions can handle input/output, events and communications.
  103.  
  104.  
  105. Description of coding:
  106. the assembler supports some additions such as the 'DL' pseudo wich allow
  107. to directly enter longs (4bytes, 32bits) integers. And the 'DF' wich allow
  108. to directly enter floats (4bytes, 32bits) floating points numbers.
  109. You need to start your code with the header.
  110.  
  111. ;
  112. ; ALL APPLI NEAD TO START WITH THIS AND TO END WITH THE BOTTOM'S LABEL'S
  113. ;
  114. pili_header:
  115.      JR start                   ; jump to start of prog
  116.      dl pili_bottom-pili_header ; /* size of binary image */
  117.      db "PILI BINARY MAIN "     ; header for main application
  118.      db 0                       ; null terminate
  119.      dl $+0                     ; Initialise $ counter
  120.  
  121. ; include file for library definitions and virtual registers assignement
  122.  include fncall.inc
  123.  
  124. and then you can include some files
  125.  
  126.  
  127. after that you have your code, starting with the 'start' label
  128.  
  129. ;-----------------------------------------------------------------------------
  130. ;
  131. ;
  132. ;
  133. ; YOU PROGRAMM START
  134. ;
  135.  
  136. start:
  137.  
  138.      FNCALL08 clearscreen,0         ; clear the screen
  139.  
  140. ........
  141.  
  142. and ending with
  143.  
  144. ;-------------------------------------------------------------------------
  145. ;
  146. ;
  147. ;     *********************** END OF PROGRAMM *********************
  148. ;
  149. ;
  150.  
  151. pili_bottom: ; NEED TO BE THERE FOR HEADER
  152.  
  153.   end
  154.  
  155.  
  156.  
  157. You NEED to folow this rules.
  158.  
  159. All the labels are 8 characters, so Label_01 is the same as Label_0100, but you
  160. can use the -C switch wich will make the compiler label case sensitive,
  161. so Label_xx will be different from label_XX.
  162.  
  163. include files can be either Source code (include statement) or binary (binclude
  164. statement)
  165.  
  166. You can enter data's by using
  167.   DS xxxxx       ; it will reserve xxxxx bytes of memory
  168.   DB xx,yy,zz    ; it will store xx,yy,zz
  169.   DB "Hello"     ; NOTE: to use library display you need to add a 0 at the end
  170.   DB 0           ; of the text, you can't do it on the same line.
  171.   DL xx,yy       ; Enter longs integers (32 bits, 4 bytes)
  172.   DW xx,yy       ; Enter integers (16 bits, 2 bytes)
  173.  
  174. You also have some specific directives such as
  175.  $              (compiler address counter)
  176.  $DATE_TIME     (date and time when you compile the source, null terminate)
  177.  $LINE          (line actualy compile)
  178.  $MODULE        (source name, null terminate)
  179.  
  180.  
  181.  
  182. You do not have to deal with Zaurus memory, but your code WILL be
  183. changed when running, exactly as memory, if you start after compile
  184. with a 0 somewhere in code, and then write at this label something, it will be
  185. definitively changed.
  186.  
  187. You also have 2 utilities, one to convert b/w 320*240 pcx images to PILI
  188. internal format: PCX2BIN.EXE
  189. Syntax is PCX2BIN 'image.pcx' 'image.bin'
  190. You can add the C switch to compress your image (up to 50% compression)
  191.  
  192. The other utility is to convert binary data's (such as image) to assembler
  193. format, wich can be included or copied to your source.
  194.  
  195. You also have vasm.exe, witch is the compiler, it can produce list by using the
  196. -L option. Syntaxe is VASM -L 'source code', run vasm with no parameters to get
  197. a help text. In list, Address are listed from 0 to FFFF, so address 2000h while
  198. be listed exactly as would be 12000h address.
  199.  
  200. after compiling, you have to download to Zaurus in the PC-FILE area.
  201.  
  202. PILI100.ZPM file is the runtime and is a normal Zaurus
  203. application. You HAVE to install this runtime and an applications to
  204. main memory. You HAVE TO POWER OFF the unit after ANY PC-LINK use, and BEFORE
  205. USING the Pili runtime. if you don't, Zaurus will crash and you will need
  206. to press reset to get control back (you should not loose data's).
  207.  
  208. KEEP IN MIND that this is language, so runtime should not crash your Zaurus
  209. but an application could. In any case it is a good idea to have BACKUPS before
  210. using the sdk or download a new application. And also, if you backup to a
  211. memory card, DON'T leave the card into the Zaurus when using it.
  212.  
  213. I didn't crash my Z1 and Z2 for a long time now, so it should not destroy
  214. your data's.
  215.  
  216. Fell free to send comments and question into the pili thread on compuserve.
  217.  
  218. Enjoy
  219.  
  220. Patrick.
  221.