6502/816 is still something new to me so I'm still figuring out how to organise my code best. For subroutines I've been doing this strange form of calling convention, if you can call it that, where I use the first sixteen bytes of RAM for arguments and return data by using a pointer in X. I don't really like this much, and it makes recursion basically impossible. Is there a better way to do this? For NES and SNES programming, how do you prefer to do your function calling conventions?