OSWORD

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:

 OSopen  
 OSread  
 OSwrite  
 OSfopen  
 OSfputc 
  

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

 OSstdin 
 OSstdout  
 OSstderr  
 OSrdonly read only mode for OSopen
 OSwronly  write only mode of OSopen
 OSrdwr read/write mode for OSopen
  

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.