Sm modules

From Vita Development Wiki
Revision as of 02:35, 28 February 2018 by Xyz (talk | contribs) (Created page with "== sm common code == sm modules are loaded to 0x80B000, then code from that addr is executed. These functions are called: * Init (__libc_init_array?) * main() ** Some unknow...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

sm common code

sm modules are loaded to 0x80B000, then code from that addr is executed. These functions are called:

  • Init (__libc_init_array?)
  • main()
    • Some unknown sub is called.
    • Then it registers all cmd handlers creating a list of pairs function id=>function ptr
    • Main loop:
      • Calls syscall 4 to register interrupt 9, this is the command handler
      • Then it busyloops until some flag is set to 0
      • Calls syscall 4 to unregister interrupt 9
    • Some other unk func
  • Deinit
  • Syscall 1 is executed (unload)
  • Then it infinite loops