This is an old revision of the document!
Table of Contents
SVC API
Supervisor calls API aimed to call host services from MVM.
Functions
| Function | Name | INT 21h equivalent | Description |
|---|---|---|---|
| 0 | SVC_DUPHANDLE | AH=45h | Duplicate handle (params and result same as in INT 21H AH=45H) |
| 1 | SVC_ERROREXIT | — | Terminate MVM with error message (top of stack - far pointer to message ASCIIZ) |
| 2 | SVC_EXIT | AH=4Ch | Terminate MVM and return code to parent process from AX |
| 3 | SVC_CLOSE | AH=3Eh | Close file handle (interface not investigated yet) |
| 4 | SVC_RESETDISK | AH=0Dh | Reset disk buffers |
| 5 | SVC_GETPSP | AH=62h | Get current PSP (interface not investigated yet) |
| 6 | SVC_SELECTDRIVE | AH=0Eh | Select default drive (params and result same as in INT 21H AH=0EH) |
| 7 | SVC_SETDTA | AH=1Ah | Set DTA from DS:DX (params and result same as in INT 21H AH=1AH) |
| 8 | SVC_GETVERSION | AH=30h | Get version (interface not investigated yet) |
| 9 | SVC_WRITE | AH=40h | Write file handle (interface not investigated yet) |
| 10 | SVC_SETDATE | AH=2Bh | Set system date (params and result same as in INT 21H AH=2BH) |
| 11 | SVC_SETTIME | AH=2Dh | Set system time (params and result same as in INT 21H AH=2DH) |
| 12 | SVC_GETDATE | AH=2Ah | Get system date (result same as in INT 21H AH=2AH) |
| 13 | SVC_GETTIME | AH=2Ch | Get system time (result same as in INT 21H AH=2CH) |
| 14 | SVC_READ | AH=3Fh | Read file handle (interface not investigated yet) |
| 15 | SVC_CHGFILEPTR | AH=42h | Set file handle position (interface not investigated yet) |
| 16 | SVC_RMDIR | AH=3Ah | Delete directory (params and result same as in INT 21H AH=3AH) |
| 17 | SVC_MKDIR | AH=39h | Create directory (interface not investigated yet) |
| 18 | SVC_QCURDIR | AH=47h | Get current directory (params and result same as in INT 21H AH=47H) |
| 19 | SVC_CHDIR | AH=3Bh | Change directory (params and result same as in INT 21H AH=3BH) |
| 20 | SVC_GETSETFILETIME | AH=57h | Get/Set file time (interface not investigated yet) |
| 21 | SVC_COMMITFILE | AH=68h | Commit file (interface not investigated yet) |
| 22 | SVC_FINDFIRSTFCB | AH=11h | Find first file using FCB (interface not investigated yet) |
| 23 | SVC_FINDNEXTFCB | AH=12h | Find next file using FCB (interface not investigated yet) |
| 24 | |||
| 25 | SVC_FINDFIRST | AH=4Eh | Find first file (interface not investigated yet) |
| 26 | |||
| 27 | |||
| 28 | SVC_OPEN | AH=3Dh | Open file (interface not investigated yet) |
| 29 | SVC_DELETEFCB | AH=13h | Delete file using FCB (DS:DX → unopened FCB, ES → environment segment) |
| 30 | SVC_RENAMEFCB | AH=17h | Rename file using FCB (params and result same as in INT 21H AH=17H) |
| 31 | SVC_DELETE | AH=41h | Delete file (interface not investigated yet) |
| 32 | SVC_MOVE | AH=56h | Rename file (interface not investigated yet) |
| 33 | |||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | SVC_OPENFCB | AH=0Fh | Open file using FCB (interface not investigated yet) |
| 38 | |||
| 39 | SVC_CLOSEFCB | AH=10h | Close file using FCB (interface not investigated yet) |
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | |||
| 44 | SVC_SETVERIFY | AH=2Eh | Set VERIFY flag from AL |
| 45 | SVC_FINDNEXT | AH=4Fh | Find next file (interface not investigated yet) |
| 46 | SVC_CREATE | AH=3Ch | Create new file (interface not investigated yet) |
| 47 | SVC_CREATETEMP | AH=5Ah | Create temp file (interface not investigated yet) |
| 48 | |||
| 49 | SVC_PARSEFILENAME | AH=29h | Parse filename to FCB (params and result same as in INT 21H AH=29H) – creates an unopened FCB from an ASCIIZ string |
| 50 | |||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | |||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | SVC_ABSDISKREAD | INT 25h | Absolute disk read (interface not investigated yet; corresponds to INT 25h) |
| 62 | SVC_ABSDISKWRITE | INT 26h | Absolute disk write (interface not investigated yet; corresponds to INT 26h) |
| 63 | |||
| 64 | |||
| 65 | |||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | |||
| 71 | |||
| 72 | |||
| 73 | |||
| 74 | |||
| 75 | |||
| 76 | |||
| 77 | |||
| 78 | |||
| 79 | |||
| 80 | |||
| 81 | |||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 |
Structures
| SVC API | |
|---|---|
| Supervisor calls | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
| Structures | FCB XFCB FILETIME FILEDATE |




