On x86, you get numbered software interrupts, like int 21h and int 80h. 65816 doesn’t really have that. It can emulate it, but the costs outweigh the benefits in my book.
So, you have the ability to say “call the kernel”. What part of the kernel are you calling? How are you passing arguments? How are you returning values? Basically, what is the kernel calling convention?