Rev 1026 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 585 | savelij | 1 | |
| 1186 | savelij | 2 | ; LAST UPDATE: 14.02.2025 savelij |
| 585 | savelij | 3 | |
| 1026 | savelij | 4 | ; номера функций RST 8 |
| 1186 | savelij | 5 | INIT_VAR 0x40 |
| 780 | savelij | 6 | SETVAR _AY_PRN_INIT |
| 7 | SETVAR _AY_PRN_A_ |
||
| 8 | SETVAR _AY_PRN_TOKEN |
||
| 9 | SETVAR _AY_PRN_SCR |
||
| 10 | SETVAR _TAPE_INIT |
||
| 11 | SETVAR _TAPE_EMUL |
||
| 12 | SETVAR _WINW |
||
| 13 | SETVAR _PRINT_MESSAGE |
||
| 14 | SETVAR _PRINT_A |
||
| 15 | SETVAR _SCROLL_UP |
||
| 16 | SETVAR _SCROLL_DOWN |
||
| 17 | SETVAR _SET_MODE |
||
| 789 | savelij | 18 | SETVAR _MATH |
| 833 | savelij | 19 | SETVAR _VERSION |
| 1186 | savelij | 20 | SETVAR _FILE_BROWSER |
| 21 | SETVAR _NMI_FB_BLOCK |
||
| 22 | INIT_VAR 0x4F |
||
| 780 | savelij | 23 | SETVAR _BIOS |
| 24 | SETVAR _COM_DEV |
||
| 25 | SETVAR _COM_FAT |
||
| 26 | SETVAR _SORT_FINDFILES |
||
| 27 | SETVAR _MOUNTER |
||
| 28 | SETVAR _INST_FATBOOT |
||
| 29 | SETVAR _CMOS_RW |
||
| 30 | SETVAR _SETUP_PAL |
||
| 31 | SETVAR _SETUP_FONT |
||
| 32 | |||
| 1026 | savelij | 33 | ; функции изменения режимов работы |
| 34 | _ZXSCR_MODE EQU %00000001 ; ZX SCREEN |
||
| 35 | _TXTSCR_MODE EQU %00000010 ; TXT SCREEN |
||
| 36 | _TURBO_LOW EQU %00010000 ; TURBO 3,5 MHZ |
||
| 37 | _TURBO_HIGH EQU %00100000 ; TURBO 7,0 MHZ |
||
| 38 | _TURBO_MAX EQU %00110000 ; TURBO 14,0 MHZ |
||
| 39 | _MEM_MODE_48 EQU %01000000 ; MEMORY MODE 48 KB |
||
| 40 | _MEM_MODE_128 EQU %10000000 ; MEMORY MODE 128 KB |
||
| 41 | _MEM_MODE_PENT EQU %11000000 ; MEMORY MODE PENT 1024 KB |
||
| 585 | savelij | 42 | |
| 977 | savelij | 43 | ; биты ошибок |
| 44 | BITMASK INCORRECTFPGA, 7 ; прошивка FPGA zxevo_fw.bin не той системы |
||
| 45 | |||
| 1026 | savelij | 46 | ; функции деления, умножения, преобразования числа в текст |
| 789 | savelij | 47 | INIT_VAR |
| 48 | SETVAR _DIVIDE16 |
||
| 49 | SETVAR _MULTIPLY16 |
||
| 50 | SETVAR _DIVIDE32 |
||
| 51 | SETVAR _MULTIPLY32 |
||
| 52 | SETVAR _HEX4DECTXT |
||
| 53 | SETVAR _HEX2DECTXT |
||
| 54 | SETVAR _HEX1DECTXT |
||
| 55 | |||
| 1026 | savelij | 56 | ; функции работы с CMOS |
| 780 | savelij | 57 | INIT_VAR |
| 58 | SETVAR _INIT_CMOS |
||
| 59 | SETVAR _READ_CMOS |
||
| 60 | SETVAR _WRITE_CMOS |
||
| 61 | SETVAR _CLEAR_CMOS |
||
| 585 | savelij | 62 | |
| 1026 | savelij | 63 | ; функции монтировщика образов |
| 780 | savelij | 64 | INIT_VAR |
| 65 | SETVAR _OPEN_MOUNT ; монтирование образа |
||
| 66 | SETVAR _RDWR_MOUNT ; чтение/запись примонтированных образов |
||
| 67 | SETVAR _FIND_MOUNTED ; поиск монтируемых образов прописанных в IMAGE.FNT |
||
| 68 | SETVAR _GET_MOUNTED ; получение буфера описателей примонтированных образов |
||
| 69 | SETVAR _CLOSEMOUNT ; демонтирование образа |
||
| 70 | SETVAR _LOADIMAGE ; загрузка образа в рамдиск |
||
| 71 | SETVAR _REST_NAMELOAD ; получение описателя файла загруженного в рамдиск |
||
| 72 | SETVAR _CMP_DRIVE ; проверка примонтированного образа на указанной букве |
||
| 73 | SETVAR _GET_VIRT_BITS ; получение битов смонтированных дисков |
||
| 999 | savelij | 74 | SETVAR _SET_VIRTREAL ; переключение реального/виртуального дисковода |
| 75 | SETVAR _SET_REAL ; переключение реального дисковода |
||
| 76 | SETVAR _SET_VIRT ; переключение виртуального дисковода |
||
| 585 | savelij | 77 | |
| 1026 | savelij | 78 | ; номера функций менеджера устройств |
| 780 | savelij | 79 | INIT_VAR |
| 1026 | savelij | 80 | SETVAR _DEVFIND ; поиск устройств |
| 81 | SETVAR _SET_VOL ; выбор раздела |
||
| 82 | SETVAR _KOL_VOL ; запрос найденого |
||
| 83 | SETVAR _GET_FNDVOLUME ; получить таблицу найденных разделов |
||
| 84 | SETVAR _TO_DRV ; вызов драйвера выбранного устройства |
||
| 85 | SETVAR _SET_DEVICE ; установка битов устройства и LBA режима |
||
| 86 | SETVAR _CONTROL_SD ; контроль наличия SD карт |
||
| 87 | SETVAR _COMHDDN ; прямой вызов драйвера HDD NEMO (временная функция) |
||
| 88 | SETVAR _FREINIT_VOL ; полная переинициализация раздела |
||
| 89 | SETVAR _SET_SECTOR_NUM ; установка номера сектора для чтения/записи |
||
| 585 | savelij | 90 | |
| 1026 | savelij | 91 | ; номера функций вызова драйвера устройства |
| 780 | savelij | 92 | INIT_VAR |
| 1026 | savelij | 93 | SETVAR _DEV_INIT ; поиск и инициализация устройства |
| 94 | SETVAR _DEV_STATUS ; запрос статуса устройства. пока заглушена |
||
| 95 | SETVAR _DEV_READ ; чтение секторов |
||
| 96 | SETVAR _DEV_WRITE ; запись секторов |
||
| 97 | SETVAR _DEV_READID ; чтение ID сектора |
||
| 585 | savelij | 98 | |
| 1026 | savelij | 99 | ; номера вызываемых функций FAT драйвера |
| 780 | savelij | 100 | INIT_VAR |
| 1026 | savelij | 101 | SETVAR _INIT_FATVARS ; инициализация переменных FAT |
| 102 | SETVAR _READ_DIR ; получение описателя файла |
||
| 103 | SETVAR _ENTER_DIR ; вход/выход в дир |
||
| 104 | SETVAR _GET_PATH ; получение текущего пути |
||
| 105 | SETVAR _GET_LONGNAME ; получение длинного имени файла |
||
| 106 | SETVAR _FIND_NAME ; поиск по имени |
||
| 107 | SETVAR _FIND_FILEITEM ; поиск всех описателей с выдачей номеров найденного |
||
| 108 | SETVAR _SET_MASK_EXT ; установка маски расширений для поиска |
||
| 109 | SETVAR _OPEN_FILE ; открытие файла |
||
| 110 | SETVAR _READ_FILE ; последовательное чтение открытого файла |
||
| 111 | SETVAR _INIT_TEKDIR ; создание таблицы кластеров текущей директории |
||
| 112 | SETVAR _POS_FILES ; работа с текущей позицией |
||
| 113 | SETVAR _ROOT_DIR ; переход в корень текущего диска |
||
| 631 | savelij | 114 | |
| 1026 | savelij | 115 | ; подфункции функции _POS_FILES |
| 780 | savelij | 116 | INIT_VAR |
| 1026 | savelij | 117 | SETVAR _POSTF00 ; сохранение текущей позиции файла |
| 118 | SETVAR _POSTF01 ; восстановление текущей позиции файла |
||
| 119 | SETVAR _POSTF02 ; сброс текущей позиции в 0 и поиск первой "легальной" записи |
||
| 120 | SETVAR _POSTF03 ; перемотать на "B" файлов назад |
||
| 121 | SETVAR _POSTF04 ; перемотать на "B" файлов вперед |
||
| 122 | SETVAR _POSTF05 ; подсчет количества "легальных" записей |
||
| 123 | SETVAR _POSTF06 ; установить номер "легальной" записи из "BC" |
||
| 124 | SETVAR _POSTF07 ; вернуть в "BC" текущий номер "легальной" записи |
||
| 646 | savelij | 125 | |
| 1186 | savelij | 126 | ; подфункции FILE_BROWSER |
| 127 | FB |
||
| 128 | _INIT_VAR |
||
| 129 | _SETVAR .SELECT_FILE ; вывод окна для выбора файла |
||
| 130 | _SETVAR .GET_HABDLE ; получить описатель выбранного файла |
||
| 131 | _SETVAR .GET_FILETYPE ; получить тип выбранного файла |
||
| 132 | _SETVAR .SET_FILE_EXT ; установка расширений файлов |
||
| 133 | |||
| 1026 | savelij | 134 | ; номера поддерживаемых расширений для RST 8 |
| 135 | ; "TRDSCLFDITAPSPG$C FNTBMPROM" ;RST 8 |
||
| 136 | ; "TRDSCLFDITAPSPG$C BMPSNA" ;MAINMENU |
||
| 780 | savelij | 137 | INIT_VAR 1 |
| 821 | savelij | 138 | SETVAR _TRD ;TRD |
| 139 | SETVAR _SCL ;SCL |
||
| 140 | SETVAR _FDI ;FDI |
||
| 141 | SETVAR _TAP ;TAP |
||
| 142 | SETVAR _SPG ;SPG |
||
| 143 | SETVAR _HOB ;$C |
||
| 144 | SETVAR _FNT ;FNT |
||
| 145 | SETVAR _BMP ;BMP |
||
| 146 | SETVAR _ROM ;ROM |
||
| 888 | savelij | 147 | SETVAR _HOB1 ;$?? |
| 148 | SETVAR _HOB2 ;!?? |
||
| 670 | savelij | 149 | |
| 1026 | savelij | 150 | ; внутренние номера типов разделов |
| 780 | savelij | 151 | INIT_VAR |
| 152 | SETVAR _NO_INIT |
||
| 1026 | savelij | 153 | SETVAR _FAT12 ; 00 = 01 FAT12 |
| 154 | SETVAR _FAT16 ; 01 = 04,06,0E FAT16 |
||
| 155 | SETVAR _FAT32 ; 02 = 0B,0C FAT32 |
||
| 156 | SETVAR _TRDOS ; 03 TR-DOS диск |
||
| 780 | savelij | 157 | SETVAR _UNKNOWN ; файловая система еще не определена или неизвестна |
| 678 | savelij | 158 | |
| 1186 | savelij | 159 | ; описатели для рисования окна |
| 780 | savelij | 160 | INIT_VAR |
| 161 | SETVAR _X_COORD |
||
| 162 | SETVAR _Y_COORD |
||
| 163 | SETVAR _V_SIZE |
||
| 164 | SETVAR _H_SIZE |
||
| 165 | SETVAR _COLOR_WIN |
||
| 166 | SETVAR _COLOR_CUR |
||
| 167 | SETVAR _FLAGS |
||
| 168 | SETVAR _NUM_PKT |
||
| 169 | SETVAR _TEK_PKT_L |
||
| 170 | SETVAR _TEK_PKT_H |
||
| 171 | SETVAR _NUM_KOL_L |
||
| 172 | SETVAR _NUM_KOL_H |
||
| 173 | SETVAR _ADR_TXT_L |
||
| 174 | SETVAR _ADR_TXT_H |
||
| 175 | SETVAR _ADR_PRG_L |
||
| 176 | SETVAR _ADR_PRG_H |
||
| 177 | SETVAR _ADR_MOUSE_L |
||
| 178 | SETVAR _ADR_MOUSE_H |
||
| 179 | SETVAR _ADR_HOTKEY_L |
||
| 180 | SETVAR _ADR_HOTKEY_H |
||
| 687 | savelij | 181 | |
| 1186 | savelij | 182 | BITMASK DOWN_HEADER, 7 ; 1-есть нижний заголовок |
| 183 | BITMASK WINFRAME, 6 ; 0-рамка окна есть |
||
| 184 | BITMASK UPHEADER, 5 ; 1-есть верхний заголовок |
||
| 185 | BITMASK TEXT, 4 ; 0-есть текст для окна |
||
| 186 | BITMASK MENU_FILE, 3 ; 1-файлы, 0-меню |
||
| 187 | ; в байте текущего номера пункта _NUM_PKT |
||
| 188 | ; BIT 7-0 => 8-9 текущий пункт, |
||
| 189 | ; 1 => 8-9 адрес хранения |
||
| 190 | ; 6-0 => A-B количество пунктов |
||
| 191 | ; 1 => A-B адрес хранения |
||
| 192 | BITMASK ADR_PUNKT, 7 |
||
| 193 | BITMASK ADR_NUMS_PUNKT, 6 |
||
| 194 | |||
| 780 | savelij | 195 | JUMP_SIZE EQU 3 |
| 196 | |||
| 1186 | savelij | 197 | INIT_VAR 0x100 |
| 1026 | savelij | 198 | SETVAR _NEMO_RD_ID,JUMP_SIZE ; чтение сектора идентификации HDD с определением его наличия |
| 199 | SETVAR _NEMO_RD_SEC,JUMP_SIZE ; чтение секторов HDD |
||
| 200 | SETVAR _NEMO_WR_SEC,JUMP_SIZE ; запись секторов HDD |
||
| 780 | savelij | 201 | |
| 1026 | savelij | 202 | SETVAR _ZCSD_RD_ID,JUMP_SIZE ; чтение сектора идентификации набортной SD карты |
| 203 | SETVAR _ZCSD_RD_SEC,JUMP_SIZE ; чтение секторов набортной SD карты |
||
| 204 | SETVAR _ZCSD_WR_SEC,JUMP_SIZE ; запись секторов набортной SD карты |
||
| 780 | savelij | 205 | |
| 1026 | savelij | 206 | SETVAR _NGSSD_RD_ID,JUMP_SIZE ; чтение сектора идентификации SD карты NeoGS |
| 207 | SETVAR _NGSSD_RD_SEC,JUMP_SIZE ; чтение секторов SD карты NeoGS |
||
| 208 | SETVAR _NGSSD_WR_SEC,JUMP_SIZE ; запись секторов SD карты NeoGS |
||
| 780 | savelij | 209 | |
| 1026 | savelij | 210 | SETVAR _INIT_KEYB_PS2,JUMP_SIZE ; включение доступа к PS/2 клавиатуре |
| 211 | SETVAR _READ_KEYB_PS2,JUMP_SIZE ; считывание и декодирование сканкодов PS/2 |
||
| 212 | SETVAR _READ_STAT_PS2,JUMP_SIZE ; чтение статуса и декодированных клавиш PS/2 |
||
| 780 | savelij | 213 | |
| 1026 | savelij | 214 | SETVAR _INIT_TABLE_MEM,JUMP_SIZE ; получение таблицы занятых/свободных страниц памяти |
| 215 | SETVAR _GET_TABLE_MEM,JUMP_SIZE ; сброс всех занятых страницы памяти |
||
| 216 | SETVAR _ALLOC_PAGE,JUMP_SIZE ; получение номера свободной страницы памяти |
||
| 217 | SETVAR _FREE_PAGE,JUMP_SIZE ; освобождение по номеру страницы памяти |