Difference between revisions of "API"
m (1 revision) |
m (→MOS API Entry Points on various platforms) |
||
Line 36: | Line 36: | ||
===MOS API Entry Points on various platforms=== | ===MOS API Entry Points on various platforms=== | ||
<pre> | <pre> | ||
− | + | | std | 6502 | Z80 | 6809 | PDP11 | 80x86 | 32016 | ARM | | |
− | + | | entry | 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 | | | | | | | | |
</pre> | </pre> | ||
Revision as of 00:00, 21 October 2015
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
| std | 6502 | Z80 | 6809 | PDP11 | 80x86 | 32016 | ARM | | entry | 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)