home *** CD-ROM | disk | FTP | other *** search
- Kernel infos
- ------------
- This info may seem not very clear so if you really need it mail us:
- <xvassor@mail.dotcom.fr>
-
- Some adresses are used by the kernel:
-
-
- $30.w : version of the kernel : $0090 for Doors OS 0.9
- $32.w : OS identifier: 'DT' for Doors OS
- $34.l : adress of the exec function:
- At the beginning of a Doors prog, there is bsr 'Loader Code'
-
- Loader Code: tst.w $30
- bne \OK
- addq.l #4,a7
- rts ;exits
- \OK move.l $34,a0
- jmp (a0)
-
- $38.l: adress of the reloc function
- ;---------------------------------------------------------------------
- ;input: d0 : handle to the file to relocate
- ;output:d0.w :result of the relocation a0:adress of the name of the library which caused the error (if there was an error)
- ;---------------------------------------------------------------------
-
- $3C.l: adress of the reloc2 function
- ;---------------------------------------------------------------------
- ;same as reloc but the input parameter is a6: the adress to the very first instruction of the prog (the beginning of the file)
- ;---------------------------------------------------------------------
-
-
- $40.l: adress of the unreloc function
- ;---------------------------------------------------------------------
- ;input: d0.w handle to the file to unrelocate
- ;output: nothing, but d0/a0 are modified
- ;---------------------------------------------------------------------
-
- $44.l: adress of the unreloc2 function
- ;---------------------------------------------------------------------
- ;same as unreloc but the input is a6: adress to the very first instruction of the prog.
- ;---------------------------------------------------------------------
-
- $48.w: handle of the memory block containing the kernel (only for DoorsOS, version 1.02 or higher)
- ; This block is to be freed if you wanna uninstall the kernel
-
- Here are d0 values as result:
- 0 -> alright
- 1 -> no mem
- 2 -> lib not found (a0: name of that lib)
- 3 -> wrong lib version (a0: name of that lib)
- 4 -> unrecognised file (signature is not '68k')