I cannot do the same with a 6502 program using
SWEET16. Too much 6502
native code!
I can, and have, run SWEET16 code on a non-6502-compatible processor,
using an interpreter I wrote.
It is true that you can't run mixed SWEET16 and 6502 code on such a
setup, unless you simulate the 6502 also, but that's beside the point.
SWEET16 code is NOT native 6502 code, even though it usually is run on
an interpreter on a 6502.
And not, it isn't just an unusual subroutine calling convention. It
*is* an interpreter, with a non-6502 machine state, and its own
instruction set. That it allows you to return to 6502 code when you
want to doesn't somehow magically make it not be an interpreter. It has
a loop that fetches, decodes, and executes SWEET16 opcodes.
Cleverly done, yes. But SWEET16 code is not 6502 native code, any more
than CHIP8 code is 1802 native code.