Here are some conventions about SysRPL calls: First get ROMPTRs: always do something like "USYS" palparse, don't rely on static ROMPTRs to call USYS or the functions themselves, since they might be renumbered in another version. Then call these ROMPTRs with just the same arguments as UserRPL, except that numbers are COERCEd (but not IPs!) The return value is the same as UserRPL plus TRUE, or the error code plus FALSE. Just have a look at rpl.s in my source code: almost every UserRPL call is :: CKparm :: sysrplcall ?SEMI ERRORSTO ERRJMP ; ; :)