home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / Ti / Magazine / Tests / DOORSOSD.ZIP / Doc / Kernel.txt < prev    next >
Encoding:
Text File  |  1999-07-15  |  2.0 KB  |  52 lines

  1.             Kernel infos
  2.             ------------
  3. This info may seem not very clear so if you really need it mail us:
  4.     <xvassor@mail.dotcom.fr>
  5.  
  6. Some adresses are used by the kernel:
  7.  
  8.  
  9. $30.w    : version of the kernel : $0090 for Doors OS 0.9
  10. $32.w    : OS identifier: 'DT' for Doors OS
  11. $34.l    : adress of the exec function:
  12.   At the beginning of a Doors prog, there is bsr 'Loader Code'
  13.  
  14. Loader Code:    tst.w    $30
  15.         bne    \OK
  16.         addq.l    #4,a7
  17.         rts    ;exits
  18.     \OK    move.l    $34,a0
  19.         jmp    (a0)
  20.  
  21. $38.l: adress of the reloc function
  22. ;---------------------------------------------------------------------
  23. ;input: d0 : handle to the file to relocate
  24. ;output:d0.w    :result of the relocation  a0:adress of the name of the library which caused the error (if there was an error)
  25. ;---------------------------------------------------------------------
  26.  
  27. $3C.l: adress of the reloc2 function
  28. ;---------------------------------------------------------------------
  29. ;same as reloc but the input parameter is a6: the adress to the very first instruction of the prog (the beginning of the file)
  30. ;---------------------------------------------------------------------
  31.  
  32.  
  33. $40.l: adress of the unreloc function
  34. ;---------------------------------------------------------------------
  35. ;input: d0.w    handle to the file to unrelocate
  36. ;output: nothing, but d0/a0 are modified
  37. ;---------------------------------------------------------------------
  38.  
  39. $44.l:    adress of the unreloc2 function
  40. ;---------------------------------------------------------------------
  41. ;same as unreloc but the input is a6: adress to the very first instruction of the prog.
  42. ;---------------------------------------------------------------------
  43.  
  44. $48.w: handle of the memory block containing the kernel (only for DoorsOS, version 1.02 or higher)
  45. ; This block is to be freed if you wanna uninstall the kernel
  46.  
  47. Here are d0 values as result:
  48. 0 -> alright
  49. 1 -> no mem
  50. 2 -> lib not found (a0: name of that lib)
  51. 3 -> wrong lib version (a0: name of that lib)
  52. 4 -> unrecognised file (signature is not '68k')