There isn't a general programming subforum so it'll have to do here! I'm coding for the Genesis anyway so close enough So far I've been gathering a game framework in small pieces, and it's nearly time to put them together to make a complete game, but this has been bothering me: I can't find good examples of function calling conventions. So far I've just been winging it, passing parameters via registers and backing then up when necessary, but it's not going to work well when the code gets complex. My two questions: 1. Should I settle on an "all round solution" to passing function parameters to a subroutine? Should they all go via the stack, or via registers, a mixture of both? 2. How should I back up registers before branching to a subroutine? Should it be done before the jump or after, and should I back up the lot or is it really important to be selective about backing up only the ones used? It probably helps to say I have no idea how fast this CPU is and how much damage I can cause to performance by not being very picky about each individual case; which is what I've been doing so far, but it's very time consuming and prone to errors. Obviously in cases that show up as bottlenecks I would dive in and make some custom arrangements. This is the last thing on my checklist that needs settling on before starting the big work, since it's a right royal mess to change once I've started. So, how was it done back in the day?