12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- { $Id$ }
- Notes about MorphOS version of Free Pascal:
- Stack:
- ========================================================================
- Under MorphOS, the default stack is set to 256 kB. Stack size can be set
- directly by the programmer with the compiler switch (-Cs), or with the
- {$MEMORY} directive. The memory area for the stack is dynamically
- allocated on program startup, so if you set this value too high, in low
- memory situations your program may exit immediately on startup without
- any further notice.
- Syscalls:
- ========================================================================
- Free Pascal currently supports ABox-style calls for MorphOS. Using
- additional hand-written assembly is not needed to call any ABox library
- function. However, you must declare every function you're going to use
- by the following way:
- Var
- my_LibBase: Pointer;
- function my_LibCall(param1: longint location 'd0',
- param2: longint location 'd1'): LongInt;
- SysCall my_LibBase 1234;
- Where my_LibBase is the library base returned by exec's OpenLibrary()
- call, and 1234 is the call offset. Please note that offset values in
- Free Pascal must be specified as positive values, and not negative as
- shown in MorphOS SDK.
-
- The value after location can be any 68k registers from d0-d7/a0-a6. Note
- that a7 and sp cannot be used. Register names are not case sensitive.
- In SysCalls you must specify location for every arguments explicity.
- MOST IMPORTANT: You must open libraries explicitly _BEFORE_ using any
- functions from it, because the compiler will not do it for you. Don't
- forget to close libraries before you exit.
- Before declaring a SysCall function, please check the units provided
- with FPC, the function you want to use might already be declared in one
- of the units, and ready to use.
- Alignment:
- ========================================================================
- Record elements are aligned to DWORD (4 bytes) under MorphOS. Use
- {$PACKRECORDS 2} if you need word aligned structures. For byte
- aligned records, use packed record.
- Thanks:
- ========================================================================
- MorphOS port of Free Pascal Compiler was possible, because Genesi
- S.a.r.l. <www.genesi.lu> provided a free Pegasos II/G4 machine to do
- the developments on it.
- {
- $Log$
- Revision 1.1 2004-06-06 18:32:50 karoly
- * initial revision
- }
|