home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PDA Software Library
/
pdasoftwarelib.iso
/
ZAURUS
/
PILISDK
/
README.TXT
< prev
next >
Wrap
Text File
|
1997-02-07
|
10KB
|
221 lines
hello,
I am Patrick Dehlinger, and I work in France on PDA development.
My compagny name is PALMWARE and my user ID is 100014.1025@compuserve.com
Here is the third version of PILI (platform independant language interpreter)
this is released under Freeware concept and also under limitations, by using
this application you accept all the limitations.
LIKE ANYTHING ELSE THAT'S FREE, PILI AND ITS ASSOCIATED UTILITIES ARE
PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES
RESULTING FROM THE USE OF THIS SOFTWARE.
You can't reverse engeneer this SDK.
You can't sell part or all of this SDK.
This SDK is limited to personal use.
You can not use this SDK to own money, especially, you can't use it for
professional application, etc ...
You can't use-it to develop Sharewares without a special licence agreement.
This licence agreement is valid for one software at a time, you must have
this licence agreement in order to sell your Shareware, and must indicate
the given licence number on all your softwares. Also user must registers
to Palmware, and you also must send us the user name and address, when he
register to you. This licence is under limitations, you can sell only to
end users (home business), but you can't sell to resellers, corporations,
industries, governement , administrations etc ...(profesional business).
Palmware is free to accept or refuse this licence agreement.
The price and conditions for this licence will be communicate by private email.
If you do not want to write Sharewares, all the applications written with
this SDK are intended to be free, but you can ask for donations if you want,
and I will also accept them.
Sources of your applications will remain yours, and you are not obliged to
release them to public domain.
PILI op-code , documentations, executables and binaries are copyright
Palmware S.A.R.L. France and Patrick Dehlinger and are under international
law.If laws in your country don't permit such limitations, you can't use
this software, E-MAIL me if this is the case.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you can't understand the meaning of this legal stuff, don't use this
software, please e-mail me, I will try to explain more and make it clear.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OK,
So if you accept all this stuff, here we go. (sorry for my english,
feel free to send me mail for unclear parts).
FIRST: ALL PREVIOUS APPLICATION MUST BE RECOMPILE WITH THIS VERSION OF PILI
AND USE THIS VERSION OF FNCALL.INC, if you don't, result is impredictable.
some fncall definitions (labels) have changed, so use the new ones.
please read the function.doc to see the changes, and because I have spend a
lot of time to write-it.
As I said, this version of pili is for public use, and so it will be great if
you make your developments available to all of the Zaurus community. I
understand that you could want some fees for your work, and so I have include
into the licence agreement the ability to ask for donations, but you still
can't release your software under Shareware without a Palmware licence
agreement as this will become a commercial software (see previous text).
This version is called 1.01b, All functions are there, but not all of them are
tested (ie they could not work exactly they suppose to do <bg>). I have join
some demo soft. The binary file which is generate by the compiler needs to be
installed as a PC-FILE. Pili will alowed you to select and download it to Pili
run area, the previous one will be deleted. If you want to save the previous
software you can upload-it by pressing the 'SEND' key ('GET' will load a new
application into Pili memory).
You can also download a PC-FILE document/file to Pili internal Vdisk by
pressing the 'NEW-ENTRY' key (CAUTION, you are limited to the total amount
of 55Kb). You can upload a file from internal vdisk to PC-FILE by pressing
the 'MENU' key and entering the vdisk file name (this is usefull for
spreadsheet and document application). You can also have a full list of all
the files contained into the Vdisk by entering 'alldir.txt' filename after
pressing 'MENU' key, it will be upload to PC-FILE directly.
(you have then to import this file from PC-FILE into document).
You also have 3 more keys:
'F' will ask for formating the Pili Vdisk.
'2nd'+'shift'+'u' will suppress all the pili data's from memory this can be
done to either remove pili from memory or to restart an installation (move
the vmem files from main to card for example)
'2nd'+'shift'+'D' will display an dump/editor (press 'h' within to get more help),
CAUTION if you modify Zaurus internal memory without knowing what you are
doing (or want to do) you can (AND WILL) destroy your data's.
The processor design is based on a virtual 32 bit CISC CPU with floating point
support. It will be interpreted on the target platform with a special runtime.
take a look to the file INTER.PRO wich contain all the instructions
descriptions (caution, don't change this file, it is use by vasm.exe).
This VCPU will allowed you to write powerfull applications for the Zaurus, but
for the moment, only the assembler is available (I hope someone will port the
small-c to handle this cpu, you can find the source in the ddj forum).
Even with this assembler, and just with a few opcodes, you are able to write
applications. I have enhanced this with some libaries functions (ie native
coded functions) wich can be called thrue the FNCALL family instructions.
Mainly this functions can handle input/output, events and communications.
Description of coding:
the assembler supports some additions such as the 'DL' pseudo wich allow
to directly enter longs (4bytes, 32bits) integers. And the 'DF' wich allow
to directly enter floats (4bytes, 32bits) floating points numbers.
You need to start your code with the header.
;
; ALL APPLI NEAD TO START WITH THIS AND TO END WITH THE BOTTOM'S LABEL'S
;
pili_header:
JR start ; jump to start of prog
dl pili_bottom-pili_header ; /* size of binary image */
db "PILI BINARY MAIN " ; header for main application
db 0 ; null terminate
dl $+0 ; Initialise $ counter
; include file for library definitions and virtual registers assignement
include fncall.inc
and then you can include some files
after that you have your code, starting with the 'start' label
;-----------------------------------------------------------------------------
;
;
;
; YOU PROGRAMM START
;
start:
FNCALL08 clearscreen,0 ; clear the screen
........
and ending with
;-------------------------------------------------------------------------
;
;
; *********************** END OF PROGRAMM *********************
;
;
pili_bottom: ; NEED TO BE THERE FOR HEADER
end
You NEED to folow this rules.
All the labels are 8 characters, so Label_01 is the same as Label_0100, but you
can use the -C switch wich will make the compiler label case sensitive,
so Label_xx will be different from label_XX.
include files can be either Source code (include statement) or binary (binclude
statement)
You can enter data's by using
DS xxxxx ; it will reserve xxxxx bytes of memory
DB xx,yy,zz ; it will store xx,yy,zz
DB "Hello" ; NOTE: to use library display you need to add a 0 at the end
DB 0 ; of the text, you can't do it on the same line.
DL xx,yy ; Enter longs integers (32 bits, 4 bytes)
DW xx,yy ; Enter integers (16 bits, 2 bytes)
You also have some specific directives such as
$ (compiler address counter)
$DATE_TIME (date and time when you compile the source, null terminate)
$LINE (line actualy compile)
$MODULE (source name, null terminate)
You do not have to deal with Zaurus memory, but your code WILL be
changed when running, exactly as memory, if you start after compile
with a 0 somewhere in code, and then write at this label something, it will be
definitively changed.
You also have 2 utilities, one to convert b/w 320*240 pcx images to PILI
internal format: PCX2BIN.EXE
Syntax is PCX2BIN 'image.pcx' 'image.bin'
You can add the C switch to compress your image (up to 50% compression)
The other utility is to convert binary data's (such as image) to assembler
format, wich can be included or copied to your source.
You also have vasm.exe, witch is the compiler, it can produce list by using the
-L option. Syntaxe is VASM -L 'source code', run vasm with no parameters to get
a help text. In list, Address are listed from 0 to FFFF, so address 2000h while
be listed exactly as would be 12000h address.
after compiling, you have to download to Zaurus in the PC-FILE area.
PILI100.ZPM file is the runtime and is a normal Zaurus
application. You HAVE to install this runtime and an applications to
main memory. You HAVE TO POWER OFF the unit after ANY PC-LINK use, and BEFORE
USING the Pili runtime. if you don't, Zaurus will crash and you will need
to press reset to get control back (you should not loose data's).
KEEP IN MIND that this is language, so runtime should not crash your Zaurus
but an application could. In any case it is a good idea to have BACKUPS before
using the sdk or download a new application. And also, if you backup to a
memory card, DON'T leave the card into the Zaurus when using it.
I didn't crash my Z1 and Z2 for a long time now, so it should not destroy
your data's.
Fell free to send comments and question into the pili thread on compuserve.
Enjoy
Patrick.