Difference between revisions of "API"
m (1 revision) |
m (Tweeked formatting.) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 22: | Line 22: | ||
===Vectors=== | ===Vectors=== | ||
*[[FSCV]] Low-level filing system control | *[[FSCV]] Low-level filing system control | ||
+ | *[[KEYV]] Keyboard control | ||
===Miscellaneous Calls=== | ===Miscellaneous Calls=== | ||
Line 35: | Line 36: | ||
===MOS API Entry Points on various platforms=== | ===MOS API Entry Points on various platforms=== | ||
− | <pre> | + | <div class="mw-widebody"><pre> |
− | + | | std | 6502 | Z80 | 6809 | PDP11 | 80x86 | 32016 | ARM | RISC-V | | |
− | + | |entry|vector| vector|vector| entry | entry vector | | entry vector | entry | | |
− | + | | | | | | | | | | | | |
− | + | IRQV | |&FFFE | &FFEE | | | | | | | | |
− | + | RSTV | |&FFFC | | | | | | | | | |
− | + | NMIV | |&FFFA | | | | | | | | | |
− | + | | | | | | | | | | | | |
− | + | USERV | |&0200 | | | | | | | | | |
− | + | ERROR | | BRK |RST &38| SWI |EMT &0F|INT &4F 0000:013C| |SWI &2B "OS_GenerateError"|ECALL &AC000F| | |
− | + | BRKV | |&0202 | &FFFA |&FFFA | | 0000:05F8| | | | | |
− | + | IRQ1V | |&0204 | | | | | | | | | |
− | + | IRQ2V | |&0206 | &FFB1 |&FFB1 | | | | | | | |
− | + | FAULT | |&00FD | &FF82 |&FF82 | | 0000:05F4| | | | | |
− | + | ESCFLG | |&00FF | &FF80 |&FF80 | | 0000:05F0| | | | | |
− | + | | | | | | | | | | | | |
− | + | OSQUIT | | | &FFBA |&FFBA |EMT &00| |SVC &11|SWI &11 "OS_Exit" |ECALL &AC0000| | |
− | + | | | | | | | | | | | | |
− | + | MOS Calls | | | | | | | | | | |
− | + | OSCLI |&FFF7|&0208 | &FFF8 |&FFF8 |EMT &01|INT &4C 0000:0130|SVC &08|SWI &05 "OS_CLI" &05|ECALL &AC0001| | |
− | + | OSBYTE |&FFF4|&020A | &FFF5 |&FFF5 |EMT &02|INT &4B 0000:012C|SVC &06|SWI &06 "OS_Byte" &06|ECALL &AC0002| | |
− | + | OSWORD |&FFF1|&020C | &FFF2 |&FFF2 |EMT &03|INT &4A 0000:0128|SVC &07|SWI &07 "OS_Word" &07|ECALL &AC0003| | |
− | + | | | | | | | | | | | | |
− | + | Character I/O | | | | | | | | | | |
− | + | OSWRCH |&FFEE|&020E | &FFEF |&FFEF |EMT &04|INT &49 0000:0124|SVC &01|SWI &00 "OS_WriteC" &03|ECALL &AC0004| | |
− | + | OSWRCR |&FFEC| | | | | | | | | | |
− | + | OSNEWL |&FFE7| | | |EMT &05|INT &48 0000:0120|SVC &04|SWI &03 "OS_NewLine" |ECALL &AC0005| | |
− | + | OSASCI |&FFE3| | | | |INT &47 0000:011C|SVC &03| | | | |
− | + | OSRDCH |&FFE0|&0210 | &FFE1 |&FFE1 |EMT &06|INT &46 0000:0118|SVC &05|SWI &04 "OS_ReadC" &04|ECALL &AC0006| | |
− | + | | | | | | | | | | | | |
− | + | Filing System Calls | | | | | | | | | |
− | + | OSFILE |&FFDD|&0212 | &FFDE |&FFDE |EMT &07|INT &45 0000:0114|SVC &0A|SWI &08 "OS_File" &08|ECALL &AC0007| | |
− | + | OSARGS |&FFDA|&0214 | &FFDB |&FFDB |EMT &08|INT &44 0000:0110|SVC &0C|SWI &09 "OS_Args" &09|ECALL &AC0008| | |
− | + | OSBGET |&FFD7|&0216 | &FFD8 |&FFD8 |EMT &09|INT &43 0000:010C|SVC &0D|SWI &0A "OS_BGet" &0A|ECALL &AC0009| | |
− | + | OSBPUT |&FFD4|&0218 | &FFD5 |&FFD5 |EMT &0A|INT &42 0000:0108|SVC &0E|SWI &0B "OS_BPut" &0B|ECALL &AC000A| | |
− | + | OSGBPB |&FFD1|&021A | &FFD2 |&FFD2 |EMT &0B|INT &41 0000:0104|SVC &0F|SWI &0C "OS_GBPB" &0C|ECALL &AC000B| | |
− | + | OSFIND |&FFCE|&021C | &FFCF |&FFCF |EMT &0C|INT &40 0000:0100|SVC &0B|SWI &0D "OS_Find" &0D|ECALL &AC000C| | |
− | + | 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></div> |
− | [[User: | + | [[User:Jgharston|Jgharston]] 16:54, 6 November 2009 (UTC) |
+ | <!-- | ||
+ | Need a note to say that Z80 BASIC and x86 BASIC implement CALL &FFE0-F7 from BASIC | ||
+ | --> |
Latest revision as of 17:50, 10 September 2023
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
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 | RISC-V | |entry|vector| vector|vector| entry | entry vector | | entry vector | entry | | | | | | | | | | | IRQV | |&FFFE | &FFEE | | | | | | | RSTV | |&FFFC | | | | | | | | NMIV | |&FFFA | | | | | | | | | | | | | | | | | | USERV | |&0200 | | | | | | | | ERROR | | BRK |RST &38| SWI |EMT &0F|INT &4F 0000:013C| |SWI &2B "OS_GenerateError"|ECALL &AC000F| BRKV | |&0202 | &FFFA |&FFFA | | 0000:05F8| | | | IRQ1V | |&0204 | | | | | | | | IRQ2V | |&0206 | &FFB1 |&FFB1 | | | | | | FAULT | |&00FD | &FF82 |&FF82 | | 0000:05F4| | | | ESCFLG | |&00FF | &FF80 |&FF80 | | 0000:05F0| | | | | | | | | | | | | | OSQUIT | | | &FFBA |&FFBA |EMT &00| |SVC &11|SWI &11 "OS_Exit" |ECALL &AC0000| | | | | | | | | | | MOS Calls | | | | | | | | | OSCLI |&FFF7|&0208 | &FFF8 |&FFF8 |EMT &01|INT &4C 0000:0130|SVC &08|SWI &05 "OS_CLI" &05|ECALL &AC0001| OSBYTE |&FFF4|&020A | &FFF5 |&FFF5 |EMT &02|INT &4B 0000:012C|SVC &06|SWI &06 "OS_Byte" &06|ECALL &AC0002| OSWORD |&FFF1|&020C | &FFF2 |&FFF2 |EMT &03|INT &4A 0000:0128|SVC &07|SWI &07 "OS_Word" &07|ECALL &AC0003| | | | | | | | | | | Character I/O | | | | | | | | | OSWRCH |&FFEE|&020E | &FFEF |&FFEF |EMT &04|INT &49 0000:0124|SVC &01|SWI &00 "OS_WriteC" &03|ECALL &AC0004| OSWRCR |&FFEC| | | | | | | | | OSNEWL |&FFE7| | | |EMT &05|INT &48 0000:0120|SVC &04|SWI &03 "OS_NewLine" |ECALL &AC0005| OSASCI |&FFE3| | | | |INT &47 0000:011C|SVC &03| | | OSRDCH |&FFE0|&0210 | &FFE1 |&FFE1 |EMT &06|INT &46 0000:0118|SVC &05|SWI &04 "OS_ReadC" &04|ECALL &AC0006| | | | | | | | | | | Filing System Calls | | | | | | | | OSFILE |&FFDD|&0212 | &FFDE |&FFDE |EMT &07|INT &45 0000:0114|SVC &0A|SWI &08 "OS_File" &08|ECALL &AC0007| OSARGS |&FFDA|&0214 | &FFDB |&FFDB |EMT &08|INT &44 0000:0110|SVC &0C|SWI &09 "OS_Args" &09|ECALL &AC0008| OSBGET |&FFD7|&0216 | &FFD8 |&FFD8 |EMT &09|INT &43 0000:010C|SVC &0D|SWI &0A "OS_BGet" &0A|ECALL &AC0009| OSBPUT |&FFD4|&0218 | &FFD5 |&FFD5 |EMT &0A|INT &42 0000:0108|SVC &0E|SWI &0B "OS_BPut" &0B|ECALL &AC000A| OSGBPB |&FFD1|&021A | &FFD2 |&FFD2 |EMT &0B|INT &41 0000:0104|SVC &0F|SWI &0C "OS_GBPB" &0C|ECALL &AC000B| OSFIND |&FFCE|&021C | &FFCF |&FFCF |EMT &0C|INT &40 0000:0100|SVC &0B|SWI &0D "OS_Find" &0D|ECALL &AC000C| 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)