;LAST UPDATE: 14.10.2018 savelij
;номера функций RST 8
INIT_VAR 0X40
SETVAR _AY_PRN_INIT
SETVAR _AY_PRN_A_
SETVAR _AY_PRN_TOKEN
SETVAR _AY_PRN_SCR
SETVAR _TAPE_INIT
SETVAR _TAPE_EMUL
SETVAR _WINW
SETVAR _PRINT_MESSAGE
SETVAR _PRINT_A
SETVAR _SCROLL_UP
SETVAR _SCROLL_DOWN
SETVAR _SET_MODE
INIT_VAR 0X4F
SETVAR _BIOS
SETVAR _COM_DEV
SETVAR _COM_FAT
SETVAR _SORT_FINDFILES
SETVAR _MOUNTER
SETVAR _INST_FATBOOT
SETVAR _CMOS_RW
SETVAR _SETUP_PAL
SETVAR _SETUP_FONT
;функции изменения режимов работы
_ZXSCR_MODE EQU %00000001 ;ZX SCREEN
_TXTSCR_MODE EQU %00000010 ;TXT SCREEN
_TURBO_LOW EQU %00010000 ;TURBO 3,5 MHZ
_TURBO_HIGH EQU %00100000 ;TURBO 7,0 MHZ
_TURBO_MAX EQU %00110000 ;TURBO 14,0 MHZ
_MEM_MODE_48 EQU %01000000 ;MEMORY MODE 48 KB
_MEM_MODE_128 EQU %10000000 ;MEMORY MODE 128 KB
_MEM_MODE_PENT EQU %11000000 ;MEMORY MODE PENT 1024 KB
;функции работы с CMOS
INIT_VAR
SETVAR _INIT_CMOS
SETVAR _READ_CMOS
SETVAR _WRITE_CMOS
SETVAR _CLEAR_CMOS
;функции монтировщика образов
INIT_VAR
SETVAR _OPEN_MOUNT ; монтирование образа
SETVAR _RDWR_MOUNT ; чтение/запись примонтированных образов
SETVAR _FIND_MOUNTED ; поиск монтируемых образов прописанных в IMAGE.FNT
SETVAR _GET_MOUNTED ; получение буфера описателей примонтированных образов
SETVAR _CLOSEMOUNT ; демонтирование образа
SETVAR _LOADIMAGE ; загрузка образа в рамдиск
SETVAR _STOR_NAMELOAD ; сохранение описателя файла загруженного в рамдиск
SETVAR _REST_NAMELOAD ; получение описателя файла загруженного в рамдиск
SETVAR _CMP_DRIVE ; проверка примонтированного образа на указанной букве
SETVAR _GET_VIRT_BITS ; получение битов смонтированных дисков
SETVAR _MOUNT_RAMDISK ; монтирование рамдиска
;номера функций менеджера устройств
INIT_VAR
SETVAR _DEVFIND ;00 ПОИСК УСТРОЙСТВ
SETVAR _SET_VOL ;01 ВЫБОР РАЗДЕЛА
SETVAR _KOL_VOL ;02 ЗАПРОС НАЙДЕНОГО
SETVAR _GET_FNDVOLUME ;03 ПОЛУЧИТЬ ТАБЛИЦУ НАЙДЕННЫХ РАЗДЕЛОВ
SETVAR _TO_DRV ;04 ВЫЗОВ ДРАЙВЕРА ВЫБРАННОГО УСТРОЙСТВА
SETVAR _SET_DEVICE ;05 УСТАНОВКА БИТОВ УСТРОЙСТВА И LBA РЕЖИМА
SETVAR _CONTROL_SD ;06 КОНТРОЛЬ НАЛИЧИЯ SD КАРТ
SETVAR _COMHDDN ;07 ПРЯМОЙ ВЫЗОВ ДРАЙВЕРА HDD NEMO (ВРЕМЕННАЯ ФУНКЦИЯ)
SETVAR _FREINIT_VOL ;08 ПОЛНАЯ ПЕРЕИНИЦИАЛИЗАЦИЯ РАЗДЕЛА
;номера функций вызова драйвера устройства
INIT_VAR
SETVAR _DEV_INIT ;00 ПОИСК И ИНИЦИАЛИЗАЦИЯ УСТРОЙСТВА
SETVAR _DEV_STATUS ;01 ЗАПРОС СТАТУСА УСТРОЙСТВА. ПОКА ЗАГЛУШЕНА
SETVAR _DEV_READ ;02 ЧТЕНИЕ СЕКТОРОВ
SETVAR _DEV_WRITE ;03 ЗАПИСЬ СЕКТОРОВ
SETVAR _DEV_READID ;04 ЧТЕНИЕ ID СЕКТОРА
;номера вызываемых функций FAT драйвера
INIT_VAR
SETVAR _INIT_FATVARS ;ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННЫХ FAT
SETVAR _READ_DIR ;ПОЛУЧЕНИЕ ОПИСАТЕЛЯ ФАЙЛА
SETVAR _ENTER_DIR ;ВХОД/ВЫХОД В ДИР
SETVAR _GET_PATH ;ПОЛУЧЕНИЕ ТЕКУЩЕГО ПУТИ
SETVAR _GET_LONGNAME ;ПОЛУЧЕНИЕ ДЛИННОГО ИМЕНИ ФАЙЛА
SETVAR _FIND_NAME ;ПОИСК ПО ИМЕНИ
SETVAR _FIND_FILEITEM ;ПОИСК ВСЕХ ОПИСАТЕЛЕЙ С ВЫДАЧЕЙ НОМЕРОВ НАЙДЕННОГО
SETVAR _SET_MASK_EXT ;УСТАНОВКА МАСКИ РАСШИРЕНИЙ ДЛЯ ПОИСКА
SETVAR _OPEN_FILE ;ОТКРЫТИЕ ФАЙЛА
SETVAR _READ_FILE ;ПОСЛЕДОВАТЕЛЬНОЕ ЧТЕНИЕ ОТКРЫТОГО ФАЙЛА
SETVAR _INIT_TEKDIR ;СОЗДАНИЕ ТАБЛИЦЫ КЛАСТЕРОВ ТЕКУЩЕЙ ДИРЕКТОРИИ
SETVAR _POS_FILES ;РАБОТА С ТЕКУЩЕЙ ПОЗИЦИЕЙ
;подфункции функции _POS_FILES
INIT_VAR
SETVAR _POSTF00 ;СОХРАНЕНИЕ ТЕКУЩЕЙ ПОЗИЦИИ ФАЙЛА
SETVAR _POSTF01 ;ВОССТАНОВЛЕНИЕ ТЕКУЩЕЙ ПОЗИЦИИ ФАЙЛА
SETVAR _POSTF02 ;СБРОС ТЕКУЩЕЙ ПОЗИЦИИ В 0 И ПОИСК ПЕРВОЙ "ЛЕГАЛЬНОЙ" ЗАПИСИ
SETVAR _POSTF03 ;ПЕРЕМОТАТЬ НА "B" ФАЙЛОВ НАЗАД
SETVAR _POSTF04 ;ПЕРЕМОТАТЬ НА "B" ФАЙЛОВ ВПЕРЕД
SETVAR _POSTF05 ;ПОДСЧЕТ КОЛИЧЕСТВА "ЛЕГАЛЬНЫХ" ЗАПИСЕЙ
SETVAR _POSTF06 ;УСТАНОВИТЬ НОМЕР "ЛЕГАЛЬНОЙ" ЗАПИСИ ИЗ "BC"
SETVAR _POSTF07 ;ВЕРНУТЬ В "BC" ТЕКУЩИЙ НОМЕР "ЛЕГАЛЬНОЙ" ЗАПИСИ
;номера поддерживаемых расширений для RST 8
INIT_VAR 1
SETVAR _TRD
SETVAR _SCL
SETVAR _HOB1 ;$??
SETVAR _HOB2 ;!??
SETVAR _SPG
SETVAR _FDI
SETVAR _TAP
SETVAR _HOB
SETVAR _FNT
SETVAR _BMP
SETVAR _ROM
;[внутренние номера типов разделов]
INIT_VAR
SETVAR _NO_INIT
SETVAR _FAT12 ;00 = 01 FAT12
SETVAR _FAT16 ;01 = 04,06,0E FAT16
SETVAR _FAT32 ;02 = 0B,0C FAT32
SETVAR _TRDOS ;03 TR-DOS диск
SETVAR _UNKNOWN ; файловая система еще не определена или неизвестна
;описатели для рисования окна
INIT_VAR
SETVAR _X_COORD
SETVAR _Y_COORD
SETVAR _V_SIZE
SETVAR _H_SIZE
SETVAR _COLOR_WIN
SETVAR _COLOR_CUR
SETVAR _FLAGS
SETVAR _NUM_PKT
SETVAR _TEK_PKT_L
SETVAR _TEK_PKT_H
SETVAR _NUM_KOL_L
SETVAR _NUM_KOL_H
SETVAR _ADR_TXT_L
SETVAR _ADR_TXT_H
SETVAR _ADR_PRG_L
SETVAR _ADR_PRG_H
SETVAR _ADR_MOUSE_L
SETVAR _ADR_MOUSE_H
SETVAR _ADR_HOTKEY_L
SETVAR _ADR_HOTKEY_H
JUMP_SIZE EQU 3
INIT_VAR 0X100
SETVAR _NEMO_RD_ID,JUMP_SIZE ;чтение сектора идентификации HDD с определением его наличия
SETVAR _NEMO_RD_SEC,JUMP_SIZE ;чтение секторов HDD
SETVAR _NEMO_WR_SEC,JUMP_SIZE ;запись секторов HDD
SETVAR _ZCSD_RD_ID,JUMP_SIZE ;чтение сектора идентификации набортной SD карты
SETVAR _ZCSD_RD_SEC,JUMP_SIZE ;чтение секторов набортной SD карты
SETVAR _ZCSD_WR_SEC,JUMP_SIZE ;запись секторов набортной SD карты
SETVAR _NGSSD_RD_ID,JUMP_SIZE ;чтение сектора идентификации SD карты NeoGS
SETVAR _NGSSD_RD_SEC,JUMP_SIZE ;чтение секторов SD карты NeoGS
SETVAR _NGSSD_WR_SEC,JUMP_SIZE ;запись секторов SD карты NeoGS
SETVAR _INIT_KEYB_PS2,JUMP_SIZE ;включение доступа к PS/2 клавиатуре
SETVAR _READ_KEYB_PS2,JUMP_SIZE ;считывание и декодирование сканкодов PS/2
SETVAR _READ_STAT_PS2,JUMP_SIZE ;чтение статуса и декодированных клавиш PS/2
SETVAR _INIT_TABLE_MEM,JUMP_SIZE ;получение таблицы занятых/свободных страниц памяти
SETVAR _GET_TABLE_MEM,JUMP_SIZE ;сброс всех занятых страницы памяти
SETVAR _ALLOC_PAGE,JUMP_SIZE ;получение номера свободной страницы памяти
SETVAR _FREE_PAGE,JUMP_SIZE ;освобождение по номеру страницы памяти