5 hours ago, Scott Robison said:
In all seriousness, C128 had an extended SYS command: SYS address,a,x,y,s
Where a,x,y,s were optional and were used as values for the given registers if given.
I would think a better solution for X16 BASIC is to just extend the SYS command to be "SYS addr,bank,a,x,y,s" where bank can be ROM or RAM based on the address provided. That way it allows setting of register values and SYSing into either ROM or RAM banks depending on the context, just like JSRFAR does.
Are there any vararg functions in the current BASIC implementation? I'm not aware. A vararg SYS command could be a lot of work. I don't know if it's worth it.
There is much less need for a FAR SYS command that lets you jump to banked RAM. The RAM bank can easily be switched from BASIC with a POKE 0,[RAM BANK] before using the standard SYS command.
My implementation of FSYS does only switch ROM banks.