API
MOS Calls
- OSCLI Execute *command
- OSBYTE Various byte-wise functions
- OSWORD Various functions with control block data
Character I/O
- OSWRCH Send a character to output stream
- OSWRCR Send a CR to output stream
- OSNEWL Send a NewLine to output stream
- OSASCI Send an ASCII sequence to output stream
- OSRDCH Wait for a character from input stream
Filing System Calls
- OSFILE Operate on whole files
- OSARGS Read and write information on open files and filing systems
- OSBGET Read a byte from a channel
- OSBPUT Write a byte to a channel
- OSGBPB Read or write blocks of data
- OSFIND Open or close files
Vectors
- FSCV Low-level filing system control
Miscellaneous Calls
- NVWRCH Nonvectored OSWRCH, points to default contents of WRCHV
- NVRDCH Nonvectored OSRDCH, points to default contents of RDCHV
- GSREAD General String Reading
- GSINIT General String Initialisation
- OSEVEN Generate events
- VDUCHR Send a character to VDU drivers
- OSRDSC Read a byte from paged/banked memory
- DEFVEC Pointer to default vector table
- OSWRSC Write a byte to screen memory
MOS API Entry Points on various platforms
| 6502 | Z80 | 6809 | PDP11 | 80x86 | 32016 | ARM | | vector| vector| vector| entry | entry vector | | entry vector | | | | | | | | | * IRQV | &FFFE | &FFEE | | | | | | * RSTV | &FFFC | | | | | | | * NMIV | &FFFA | | | | | | | | | | | | | | | * USERV | &0200 | | | | | | | * ERROR | BRK |RST &38| SWI | EMT 15 | INT &4F (0000:013C) | | SWI &2B "OS_GenerateError" | * BRKV | &0202 | &FFFA | &FFFA | | (0000:05F8) | | | * IRQ1V | &0204 | | | | | | | * IRQ2V | &0206 | &FFB1 | &FFB1 | | | | | * FAULT | &00FD | &FF82 | &FF82 | | (0000:05F4) | | | * ESCFLG | &00FF | &FF80 | &FF80 | | (0000:05F0) | | | | | | | | | | | * QUIT | | | | EMT 0 | | SVC &11 | SWI &11 "OS_Exit" | | | | | | | | | ===MOS Calls=== | | | | | | | | * OSCLI &FFF7 | &0208 | &FFF8 | &FFF8 | EMT 1 | INT &4C (0000:0130) | SVC &08 | SWI &05 "OS_CLI" &05 | * OSBYTE &FFF4 | &020A | &FFF5 | &FFF5 | EMT 2 | INT &4B (0000:012C) | SVC &06 | SWI &06 "OS_Byte" &06 | * OSWORD &FFF1 | &020C | &FFF2 | &FFF2 | EMT 3 | INT &4A (0000:0128) | SVC &07 | SWI &07 "OS_Word" &07 | | | | | | | | | ===Character I/O===| | | | | | | | * OSWRCH &FFEE | &020E | &FFEF | &FFEF | EMT 4 | INT &49 (0000:0124) | SVC &01 | SWI &00 "OS_WriteC" &03 | * OSWRCR &FFEC | | | | | | | | * OSNEWL &FFE7 | | | | EMT 5 | INT &48 (0000:0120) | SVC &04 | SWI &03 "OS_NewLine" | * OSASCI &FFE3 | | | | | INT &47 (0000:011C) | SVC &03 | | * OSRDCH &FFE0 | &0210 | &FFE1 | &FFE1 | EMT 6 | INT &46 (0000:0118) | SVC &05 | SWI &04 "OS_ReadC" &04 | | | | | | | | | ===Filing System Calls=== | | | | | | | * OSFILE &FFDD | &0212 | &FFDE | &FFDE | EMT 7 | INT &45 (0000:0114) | SVC &0A | SWI &08 "OS_File" &08 | * OSARGS &FFDA | &0214 | &FFDB | &FFDB | EMT 8 | INT &44 (0000:0110) | SVC &0C | SWI &09 "OS_Args" &09 | * OSBGET &FFD7 | &0216 | &FFD8 | &FFD8 | EMT 9 | INT &43 (0000:010C) | SVC &0D | SWI &0A "OS_BGet" &0A | * OSBPUT &FFD4 | &0218 | &FFD5 | &FFD5 | EMT 10 | INT &42 (0000:0108) | SVC &0E | SWI &0B "OS_BPut" &0B | * OSGBPB &FFD1 | &021A | &FFD2 | &FFD2 | EMT 11 | INT &41 (0000:0104) | SVC &0F | SWI &0C "OS_GBPB" &0C | * OSFIND &FFCE | &021C | &FFCF | &FFCF | EMT 12 | INT &40 (0000:0100) | SVC &0B | SWI &0D "OS_Find" &0D | * FSCV | &021E | | | | | | SWI &0F "OS_FSControl" &29 | | | | | | | | | * NVWRCH &FFCB | | | | | | | | * NVRDCH &FFC8 | | | | | | | | * GSREAD &FFC5 | | | | | | | | * GSINIT &FFC2 | | | | | | | | * OSEVENT &FFBF | &0220 | &FFFC | &FFFC | | | | | * VDUCHR &FFBC | | | | | | | | * OSRDSC &FFB9 | | | | | | | | * DEFVEC &FFB6 | | | | | | | | * OSWRSC &FFB3 | | | | | | | | | | | | | | | | * UPTV | &0222 | | | | | | | * NETV | &0224 | | | | | | | * VDUV | &0226 | | | | | | | * KEYV | &0228 | | | | | | | * INSV | &022A | | | | | | | * REMV | &022C | | | | | | | * CNPV | &022E | | | | | | | * USR1V | &0230 | | | | | | | * USR2V | &0232 | | | | | | | * USR3V | &0234 | | | | | | |
Jgharston 16:54, 6 November 2009 (UTC)