; LAST UPDATE: 08.04.2023 savelij
DSSF
; Функции идентификации системы
.VERSION EQU 0x00 ; (Версия DSS)
; Функции для работы с диском
.CHDISK EQU 0x01 ; (Смена текущего диска)
.CURDISK EQU 0x02 ; (Номер текущего диска)
.DSKINFO EQU 0x03 ; (Информация о диске)
.BOOTDSK EQU 0x09 ; (Номер системного диска)
; Функции для работы с файлами
.CREATE EQU 0x0A ; (Создание файла)
.CREATE_NEW_FILE EQU 0x0B ; (Создание нового файла)
.DELETE EQU 0x0E ; (Удаление файла)
.RENAME EQU 0x10 ; (Переименование файла)
.OPEN EQU 0x11 ; (Открытие файла)
.CLOSE EQU 0x12 ; (Закрытие файла)
.READ EQU 0x13 ; (Чтение из файла)
.WRITE EQU 0x14 ; (Запись в файл)
.MOVE_FP EQU 0x15 ; (Перемещение указателя в файле)
.ATTRIB EQU 0x16 ; (Получение/изменение атрибута файла)
.GET_D_T EQU 0x17 ; (Информация о дате и времени файла)
.PUT_D_T EQU 0x18 ; (Изменение даты и времени файла)
.F_FIRST EQU 0x19 ; (Поиск первого совпадающего файла)
.F_NEXT EQU 0x1A ; (Поиск следующего совпадающего файла)
.MKDIR EQU 0x1B ; (Создание каталога)
.RMDIR EQU 0x1C ; (Устранение каталога)
.CHDIR EQU 0x1D ; (Смена текущего каталога)
.CURDIR EQU 0x1E ; (Информация о текущем каталоге)
; Функции для работы с датой и временем
.GETTIME EQU 0x21 ; (Текущая дата и время)
.SETTIME EQU 0x22 ; (Установить текущую дату и время)
; Функции управления памятью
.SETWIN EQU 0x38 ; (Подключение страницы памяти)
.SETWIN1 EQU 0x39 ; (Подключение страницы памяти в первое окно)
.SETWIN2 EQU 0x3A ; (Подключение страницы памяти во второе окно)
.SETWIN3 EQU 0x3B ; (Подключение страницы памяти в третье окно)
.INFOMEM EQU 0x3C ; (Информация о памяти)
.GETMEM EQU 0x3D ; (Выделение блока памяти)
.FREEMEM EQU 0x3E ; (Освобождение блока памяти)
.SETMEM EQU 0x3F ; (Изменение блока памяти)
; Функции ввода с клавиатуры
.WAITKEY EQU 0x30 ; (Ожидание символа с клавиатуры)
.SCANKEY EQU 0x31 ; (Опрос клавиатуры без ожидания)
.ECHOKEY EQU 0x32 ; (Ожидание символа с клавиатуры с печатью)
.CTRLKEY EQU 0x33 ; (Получить состояние клавиатуры)
.K_CLEAR EQU 0x35 ; (Очистить буфер клавиатуры и выполнить функцию)
.K_SETUP EQU 0x36 ; (Управление настройками клавиатуры)
.TESTKEY EQU 0x37 ; (Опрос буфера клавиатуры)
; Функции для исполнения программ
.EXEC EQU 0x40 ; (Выполнить файл)
.EXIT EQU 0x41 ; (Завершение программы)
.WAIT EQU 0x42 ; (Получить код завершения программы)
; Функции для работы со строками и командной строкой
.GSWITCH EQU 0x43 ; (Выделить параметр командной строки)
.DOSNAME EQU 0x44 ; (Преобразовать имя файла)
.EXCMDLN EQU 0x45 ; (Разбор командной строки)
.EXCMDLN_0 EQU 0x00 ; Подфункция 0 - Разобрать строку
.EXCMDLN_1 EQU 0x01 ; Подфункция 1 - Выделить имя диска
.EXCMDLN_2 EQU 0x02 ; Подфункция 2 - Выделить директорию
.EXCMDLN_3 EQU 0x03 ; Подфункция 3 - Выделить имя файла
.EXCMDLN_4 EQU 0x04 ; Подфункция 4 - Выделить расширение файла
.EXCMDLN_5 EQU 0x05 ; Подфункция 5 - Выделить имя диска, путь к файлу, имя файла и расширение файла
.EXCMDLN_7 EQU 0x07 ; Подфункция 7 - Выделить параметр командной строки
.EXCMDLN_8 EQU 0x08 ; Подфункция 8 - Преобразовать из 11 символьного формата в формат ДОС
.EXCMDLN_9 EQU 0x09 ; Подфункция 9 - Преобразовать из формата ДОС в 11 символьный формат
; Функции для работы с переменными
.ENVIRON EQU 0x46 ; (Системное окружение)
.APPINFO EQU 0x47 ; (Получение информации приложения)
; Функции работы с экраном
.SETVMOD EQU 0x50 ; (Выбор режима экрана)
.GETVMOD EQU 0x51 ; (Получить текущий режим экрана)
.LOCATE EQU 0x52 ; (Установить позицию курсора)
.CURSOR EQU 0x53 ; (Получить текущую позицию курсора)
.SELPAGE EQU 0x54 ; (Выбрать активную страницу экрана)
.SCROLL EQU 0x55 ; (Прокрутка окна)
.CLEAR EQU 0x56 ; (Очистка окна)
.RDCHAR EQU 0x57 ; (Считать символ с экрана)
.WRCHAR EQU 0x58 ; (Напечатать символ на экране)
.WINCOPY EQU 0x59 ; (Запомнить окно экрана)
.WINREST EQU 0x5A ; (Восстановить окно экрана)
.PUTCHAR EQU 0x5B ; (Напечатать символ в текущей позиции курсора)
.PCHARS EQU 0x5C ; (Напечатать строку символов в текущей позиции курсора)
; Функции для печати на принтере
.PRINT EQU 0x5F ; (Вывод символа на принтер без ожидания)