API
From BeebWiki
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 | 80x86 | PDP11 | 32016 | ARM | 6809 |
| vector| vector| entry vector | entry | | entry vector | vector|
| | | | | | | |
* IRQV | &FFFE | &FFEE | | | | | |
* RSTV | &FFFC | | | | | | |
* NMIV | &FFFA | | | | | | |
| | | | | | | |
* USERV | &0200 | | | | | | |
* ERROR | BRK |RST &38| INT &4F (0000:013C) | EMT 15 | | SWI &2B "OS_GenerateError" | |
* BRKV | &0202 | &FFFA | INT &4F (0000:013C) | | | | |
* IRQ1V | &0204 | | | | | | |
* IRQ2V | &0206 | | | | | | |
| | | | | | | |
* QUIT | | | | EMT 0 | SVC &11 | SWI &11 "OS_Exit" | |
| | | | | | | |
===MOS Calls=== | | | | | | | |
* OSCLI &FFF7 | &0208 | &FFF8 | INT &4C (0000:0130) | EMT 1 | SVC &08 | SWI &05 "OS_CLI" (&05) | &FFF8 |
* OSBYTE &FFF4 | &020A | &FFF5 | INT &4B (0000:012C) | EMT 2 | SVC &06 | SWI &06 "OS_Byte" (&06) | &FFF5 |
* OSWORD &FFF1 | &020C | &FFF2 | INT &4A (0000:0128) | EMT 3 | SVC &07 | SWI &07 "OS_Word" (&07) | &FFF2 |
| | | | | | | |
===Character I/O===| | | | | | | |
* OSWRCH &FFEE | &020E | &FFEF | INT &49 (0000:0124) | EMT 4 | SVC &01 | SWI &00 "OS_WriteC" (&03) | &FFEF |
* OSWRCR &FFEC | | | | | | | |
* OSNEWL &FFE7 | | | INT &48 (0000:0120) | EMT 5 | SVC &04 | SWI &03 "OS_NewLine" | |
* OSASCI &FFE3 | | | INT &47 (0000:011C) | | SVC &03 | | |
* OSRDCH &FFE0 | &0210 | &FFE1 | INT &46 (0000:0118) | EMT 6 | SVC &05 | SWI &04 "OS_ReadC" (&04) | &FFE1 |
| | | | | | | |
===Filing System Calls=== | | | | | | |
* OSFILE &FFDD | &0212 | &FFDE | INT &45 (0000:0114) | EMT 7 | SVC &0A | SWI &08 "OS_File" (&08) | &FFDE |
* OSARGS &FFDA | &0214 | &FFDB | INT &44 (0000:0110) | EMT 8 | SVC &0C | SWI &09 "OS_Args" (&09) | &FFDB |
* OSBGET &FFD7 | &0216 | &FFD8 | INT &43 (0000:010C) | EMT 9 | SVC &0D | SWI &0A "OS_BGet" (&0A) | &FFD8 |
* OSBPUT &FFD4 | &0218 | &FFD5 | INT &42 (0000:0108) | EMT 10 | SVC &0E | SWI &0B "OS_BPut" (&0B) | &FFD5 |
* OSGBPB &FFD1 | &021A | &FFD2 | INT &41 (0000:0104) | EMT 11 | SVC &0F | SWI &0C "OS_GBPB" (&0C) | &FFD2 |
* OSFIND &FFCE | &021C | &FFCF | INT &40 (0000:0100) | EMT 12 | SVC &0B | SWI &0D "OS_Find" (&0D) | &FFCF |
* FSCV | &021E | | | | | SWI &0F "OS_FSControl" (&29) | |
| | | | | | | |
* NVWRCH &FFCB | | | | | | | |
* NVRDCH &FFC8 | | | | | | | |
* GSREAD &FFC5 | | | | | | | |
* GSINIT &FFC2 | | | | | | | |
* OSEVENT &FFBF | &0220 | &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)

