OS calls are made by writing a word to OSWORD (0xFFFF), that word specifies the address of the parameter block.   The first word in the parameter block specifies the call to be made, the remainder of the block gives the input parameters and space for the output parameters.

OSWORD calls execute on the RPi.   They are a mixture of system calls (man 2), library calls (man 3) and other calls.  OSWORD take the namespace starting with the two letters OS, generally follow the posix naming convention and are predefined by the assembler.

Ultimately this table will be generated from the assembler, for now some examples are:


Other related names that are defined in the same namespace are:

 OSrdonly read only mode for OSopen
 OSwronly  write only mode of OSopen
 OSrdwr read/write mode for OSopen

Also compile with ncurses so that games can be ported (e.g https://www.viget.com/articles/game-programming-in-c-with-the-ncurses-library)

The processor works in terms of 16 bit words.  RPi memory and the file system is byte oriented, whist test is most naturally UTF-8.  The processor uses the Basic Multilingual Plane to represent characters (but not the full UTF-16) and these are converted to UTF-8 on output.   The plan is to read binary into the lower 8 bits of every word.   Thus it is essential that the text/binary mode be set correctly for all file operations.