Rev 1041 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1041 | Rev 1186 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | 1 | ||
| 2 | ; LAST UPDATE: 25.11.2022 savelij |
2 | ; LAST UPDATE: 16.02.2025 savelij |
| 3 | 3 | ||
| 4 | include ports_evo.a80 |
4 | include ports_evo.a80 |
| 5 | 5 | ||
| 6 | ; страницы VIDEO RAM |
6 | ; страницы VIDEO RAM |
| 7 | VMODE7_0 EQU LOW (-0x08)-1 ; 0xF7 страница одностраничного текстмода 0 экран |
7 | VMODE7_0 EQU LOW (-0x08)-1 ; 0xF7 страница одностраничного текстмода 0 экран |
| 8 | VMODE7_1 EQU LOW (-0x0A)-1 ; 0xF5 страница одностраничного текстмода 1 экран |
8 | VMODE7_1 EQU LOW (-0x0A)-1 ; 0xF5 страница одностраничного текстмода 1 экран |
| 9 | VMODE6_0M EQU LOW (-0x05)-1 ; 0xFA страница ATM текстмода монохром 0 экран |
9 | VMODE6_0M EQU LOW (-0x05)-1 ; 0xFA страница ATM текстмода монохром 0 экран |
| 10 | VMODE6_0C EQU LOW (-0x01)-1 ; 0xFE страница ATM текстмода цвет 0 экран |
10 | VMODE6_0C EQU LOW (-0x01)-1 ; 0xFE страница ATM текстмода цвет 0 экран |
| 11 | VMODE6_1M EQU LOW (-0x07)-1 ; 0xF8 страница ATM текстмода монохром 1 экран |
11 | VMODE6_1M EQU LOW (-0x07)-1 ; 0xF8 страница ATM текстмода монохром 1 экран |
| 12 | VMODE6_1C EQU LOW (-0x03)-1 ; 0xFC страница ATM текстмода цвет 1 экран |
12 | VMODE6_1C EQU LOW (-0x03)-1 ; 0xFC страница ATM текстмода цвет 1 экран |
| 13 | ZXSCR_0 EQU LOW (-0x05)-1 ; 0xFA страница ZX экрана 0 |
13 | ZXSCR_0 EQU VMODE6_0M ; 0xFA страница ZX экрана 0 |
| 14 | ZXSCR_1 EQU LOW (-0x07)-1 ; 0xF8 страница ZX экрана 1 |
14 | ZXSCR_1 EQU LOW (-0x07)-1 ; 0xF8 страница ZX экрана 1 |
| 15 | 15 | ||
| 16 | ; страницы памяти ZX стандарта |
16 | ; страницы памяти ZX стандарта |
| 17 | ZXSTD_CPU1 EQU LOW (-0x05)-1; 0xFA ; страница 1 окна проецирования |
17 | ZXSTD_CPU1 EQU VMODE6_0M ; 0xFA страница 1 окна проецирования |
| 18 | ZXSTD_CPU2 EQU LOW (-0x02)-1; 0xFD ; страница 2 окна проецирования |
18 | ZXSTD_CPU2 EQU LOW (-0x02)-1 ; 0xFD страница 2 окна проецирования |
| 19 | 19 | ||
| 20 | ; страницы RAM |
20 | ; страницы RAM |
| - | 21 | INIT_VAR |
|
| - | 22 | SETVAR RAM_NMI ; страница основных переменных RST 8 и обработчика NMI |
|
| 21 | RAM_EVODOS EQU 1 ; страница копии EVO-DOS для перехвата |
23 | SETVAR RAM_EVODOS ; страница копии EVO-DOS для перехвата |
| 22 | RAM_FATVARS EQU 2 ; страница для переменых FAT |
24 | SETVAR RAM_FATVARS ; страница для переменых FAT |
| 23 | RAM_BASIC EQU 3 ; страница BASIC стандартная версия |
25 | SETVAR RAM_SORTFILES ; страница сортированных описателей FAT |
| 24 | RAM_PROFROM EQU 4 ; страница переменных PROFROM |
26 | SETVAR RAM_PROFROM ; страница переменных PROFROM |
| 25 | RAM_MOUNTER EQU 5 ; страница для монтирования образов |
27 | SETVAR RAM_MOUNTER ; страница для монтирования образов |
| 26 | RAM_STS EQU 6 ; страница для отладчика STS |
28 | SETVAR RAM_STS ; страница для отладчика STS |
| 27 | RAM_ADDSTS EQU 7 ; страница для отладки ROM |
29 | SETVAR RAM_ADDSTS ; страница для отладки ROM |
| 28 | RAM_SCR_FONT EQU 8 ; страница сохраненных экранов и фонтов |
30 | SETVAR RAM_SCR_FONT ; страница сохраненных экранов и фонтов |
| 29 | RAM_TEMP EQU 9 ; страница всяких временных переменных |
31 | SETVAR RAM_TEMP ; страница всяких временных переменных |
| 30 | RAM_RAMDISK EQU 0x0A ; страница начала рамдиска |
32 | SETVAR RAM_RAMDISK ; страница начала описателя рамдиска |
| 31 | RAM_DATARAMD EQU 0x0B ; страница начала данных рамдиска |
33 | SETVAR RAM_DATARAMD, 800/16 ; страница начала данных рамдиска |
| 32 | RAM_TEMP2 EQU 0x3F ; страница сортировки файлов и просмотра содержимого образов |
- | |
| 33 | RAM_FLASHER EQU 0x40 ; страница начала загрузки прошивки |
34 | SETVAR RAM_TAPE, 0 ; страница для загрузки TAP файла |
| 34 | RAM_TAPE EQU 0x60 ; страница для загрузки TAP файла |
35 | SETVAR RAM_FLASHER, 512/16 ; страница начала загрузки прошивки |
| 35 | 36 | ||
| 36 | ; страницы ROM |
37 | ; страницы ROM |
| - | 38 | INIT_VAR |
|
| 37 | ROM_ERS EQU 0 ; номер страницы ROM EVO RESET SERVICE |
39 | SETVAR ROM_ERS ; номер страницы ROM EVO RESET SERVICE |
| 38 | ROM_BAS128 EQU 1 ; номер страницы ROM BASIC 128 |
40 | SETVAR ROM_BAS128 ; номер страницы ROM BASIC 128 |
| 39 | ROM_DOS EQU 2 ; номер страницы ROM EVO-DOS для реальной дискеты |
41 | SETVAR ROM_DOS ; номер страницы ROM EVO-DOS для реальной дискеты |
| 40 | ROM_BAS48 EQU 3 ; номер страницы ROM BASIC 48 |
42 | SETVAR ROM_BAS48 ; номер страницы ROM BASIC 48 |
| 41 | - | ||
| - | 43 | SETVAR ROM_EMPTY ; свободна |
|
| 42 | ROM_MAINMENU EQU 5 ; номер страницы упакованного главное меню |
44 | SETVAR ROM_MAINMENU ; номер страницы упакованного главное меню |
| 43 | ROM_RST80 EQU 6 ; номер страницы ROM RST 8 |
45 | SETVAR ROM_RST80 ; номер страницы ROM RST 8 |
| 44 | ROM_RST81 EQU 7 ; номер страницы ROM RST 8 |
46 | SETVAR ROM_RST81 ; номер страницы ROM RST 8 |
| 45 | ROM_RST82 EQU 8 ; номер страницы ROM RST 8 |
47 | SETVAR ROM_RST82 ; номер страницы ROM RST 8 |
| 46 | ROM_RST83 EQU 9 ; номер страницы ROM RST 8 |
48 | SETVAR ROM_RST83 ; номер страницы ROM RST 8 |
| 47 | ROM_ADD_DOS EQU 0x0A ; номер страницы ROM EVO-DOS для эмуляции |
49 | SETVAR ROM_ADD_DOS ; номер страницы ROM EVO-DOS для эмуляции |
| 48 | ROM_ADD_BAS48 EQU 0x0B ; номер страницы ROM BASIC 48 |
50 | SETVAR ROM_ADD_BAS48 ; номер страницы ROM BASIC 48 |
| - | 51 | ; стандартные бейсики и TURBO 2+ |
|
| - | 52 | INIT_VAR 0x18 |
|
| 49 | ROM_BAS48_STD EQU 0x18 ; номер страницы ROM BASIC 48 (стандартная версия) |
53 | SETVAR ROM_BAS48_STD ; номер страницы ROM BASIC 48 (стандартная версия) |
| 50 | ROM_BAS128_STD EQU 0x19 ; номер страницы ROM BASIC 128 (стандартная версия) |
54 | SETVAR ROM_BAS128_STD ; номер страницы ROM BASIC 128 (стандартная версия) |
| 51 | ROM_BAS48_128 EQU 0x1A ; номер страницы ROM BASIC 48 (стандартная версия для BASIC 128) |
55 | SETVAR ROM_BAS48_128 ; номер страницы ROM BASIC 48 (стандартная версия для BASIC 128) |
| 52 | ROM_ATMCPM EQU 0x1B ; номер страницы ROM АТМ CP/M |
56 | SETVAR ROM_ATMCPM ; номер страницы ROM АТМ CP/M |
| 53 | - | ||
| - | 57 | ; страницы конфигов |
|
| 54 | CONF4PROF EQU 0x90 ; стартовая страница для EVO PROFROM 128K |
58 | CONF4PROF EQU 0x90 ; стартовая страница для EVO PROFROM 128K |
| 55 | CONF4GLUK EQU 0x94 ; стартовая страница для GLUK 64K |
59 | CONF4GLUK EQU 0x94 ; стартовая страница для GLUK 64K |
| 56 | CONF4CUSTOM EQU 0x9C ; стартовая страница для пользовательской прошивки 64К |
60 | CONF4CUSTOM EQU 0x9C ; стартовая страница для пользовательской прошивки 64К |
| 57 | 61 | ||
| - | 62 | ; границы страниц |
|
| 58 | CPU0 EQU 0x0000 ; начало окна проецирования 0 |
63 | CPU0 EQU 0x0000 ; начало окна проецирования 0 |
| 59 | CPU1 EQU 0x4000 ; начало окна проецирования 1 |
64 | CPU1 EQU 0x4000 ; начало окна проецирования 1 |
| 60 | CPU2 EQU 0x8000 ; начало окна проецирования 2 |
65 | CPU2 EQU 0x8000 ; начало окна проецирования 2 |
| 61 | CPU3 EQU 0xC000 ; начало окна проецирования 3 |
66 | CPU3 EQU 0xC000 ; начало окна проецирования 3 |
| 62 | 67 | ||
| Line 148... | Line 153... | ||
| 148 | V_ZXSCR EQU NUM_ZXSCR | 0xA0 |
153 | V_ZXSCR EQU NUM_ZXSCR | 0xA0 |
| 149 | V_TXTATM EQU NUM_TXTATM | 0xA0 |
154 | V_TXTATM EQU NUM_TXTATM | 0xA0 |
| 150 | V_TXT1PAGE EQU NUM_TXTSCR | 0xA0 |
155 | V_TXT1PAGE EQU NUM_TXTSCR | 0xA0 |
| 151 | 156 | ||
| 152 | ; маски отладчика |
157 | ; маски отладчика |
| - | 158 | DEBUGGER |
|
| 153 | BITMASK DBG_ACTIV, 7 ; активен отладчик |
159 | _BITMASK ACTIV, 7 ; активен отладчик |
| 154 | BITMASK TRACE_DBG, 6 ; трассировка |
160 | _BITMASK TRACE, 6 ; трассировка |
| 155 | BITMASK STEP_DBG, 5 ; пошаговая отладка |
161 | _BITMASK STEP, 5 ; пошаговая отладка |
| 156 | ; BITMASK CASH_INST, 4 ; установлен CASH REMEMBER |
162 | ; BITMASK CASH_INST, 4 ; установлен CASH REMEMBER |
| 157 | ; BITMASK CASH_ACTIV, 3 ; активен CASH REMEMBER |
163 | ; BITMASK CASH_ACTIV, 3 ; активен CASH REMEMBER |
| 158 | 164 | ||
| 159 | ; смещения FDI образа |
165 | ; смещения FDI образа |
| 160 | FDI_TABLE_CYL EQU 0x4000 ; адрес таблицы начал дорожек в образе |
166 | FDI_TABLE_CYL EQU 0x4000 ; адрес таблицы начал дорожек в образе |
| Line 162... | Line 168... | ||
| 162 | FDI_BYTE_SMESH EQU 0x41FE ; смещение в байтах начала образа загруженного в рамдиск |
168 | FDI_BYTE_SMESH EQU 0x41FE ; смещение в байтах начала образа загруженного в рамдиск |
| 163 | FDI_BLOCK_SMESH EQU 0x41FF ; смещение в блоках (по 256 байт) начала секторов образа |
169 | FDI_BLOCK_SMESH EQU 0x41FF ; смещение в блоках (по 256 байт) начала секторов образа |
| 164 | FDI_IMAGE1SECT EQU 0x4400 ; адрес загрузки первого сектора для определения смещения |
170 | FDI_IMAGE1SECT EQU 0x4400 ; адрес загрузки первого сектора для определения смещения |
| 165 | 171 | ||
| 166 | ; ячейки в CMOS |
172 | ; ячейки в CMOS |
| - | 173 | CMOS |
|
| 167 | INIT_VAR |
174 | _INIT_VAR |
| 168 | SETVAR _CMOS_SECOND ; секунды |
175 | _SETVAR .SECOND ; секунды |
| 169 | SETVAR _CMOS_SECOND_AL ; секунды будильника |
176 | _SETVAR .SECOND_AL ; секунды будильника |
| 170 | SETVAR _CMOS_MINUTE ; минуты |
177 | _SETVAR .MINUTE ; минуты |
| 171 | SETVAR _CMOS_MINUTE_AL ; минуты будильника |
178 | _SETVAR .MINUTE_AL ; минуты будильника |
| 172 | SETVAR _CMOS_HOUR ; часы |
179 | _SETVAR .HOUR ; часы |
| 173 | SETVAR _CMOS_HOUR_AL ; часы будильника |
180 | _SETVAR .HOUR_AL ; часы будильника |
| 174 | SETVAR _CMOS_DAY ; день недели |
181 | _SETVAR .DAY ; день недели |
| 175 | SETVAR _CMOS_DAY_MONTH ; день месяца |
182 | _SETVAR .DAY_MONTH ; день месяца |
| 176 | SETVAR _CMOS_MONTH ; месяц |
183 | _SETVAR .MONTH ; месяц |
| 177 | SETVAR _CMOS_YEAR ; год |
184 | _SETVAR .YEAR ; год |
| 178 | - | ||
| - | 185 | _SETVAR .REG_A ; регистр A |
|
| - | 186 | _SETVAR .REG_B ; регистр B |
|
| - | 187 | _SETVAR .REG_C ; регистр C |
|
| - | 188 | _SETVAR .REG_D ; регистр D |
|
| 179 | ; номера ячеек CMOS и их содержимое |
189 | ; сохранения настроек ERS |
| - | 190 | _INIT_VAR 0xF0 |
|
| 180 | CRCCMOSHIGH EQU 0xEF ; старший байт CRC CMOS |
191 | _MINUSVAR .CRCHIGH ; EF старший байт CRC CMOS |
| 181 | CRCCMOSLOW EQU 0xEE ; младший байт CRC CMOS |
192 | _MINUSVAR .CRCLOW ; EE младший байт CRC CMOS |
| 182 | CMOS_BYTE_00 EQU 0xED ; адрес хранения в CMOS |
193 | _MINUSVAR .BYTE_00 ; ED адрес хранения в CMOS |
| 183 | CMOS_BYTE_01 EQU 0xEC ; адрес хранения в CMOS |
194 | _MINUSVAR .BYTE_01 ; EC адрес хранения в CMOS |
| 184 | VIRT_REAL_DRIVE EQU 0xEB ; хранение номера реального и виртуального дисковода, тип DOS |
195 | _MINUSVAR .VIRT_REAL_DRIVE ; EB хранение номера реального и виртуального дисковода, тип DOS |
| 185 | HDD_TIMEOUT EQU 0xEA ; задержка опредения наличия винта после включения питания |
196 | _MINUSVAR .HDD_TIMEOUT ; EA задержка опредения наличия винта после включения питания |
| 186 | CMOS_BYTE_02 EQU 0xE9 ; адрес хранения в CMOS |
197 | _MINUSVAR .BYTE_02 ; E9 адрес хранения в CMOS |
| 187 | CMOS_BYTE_03 EQU 0xE8 ; адрес хранения в CMOS |
198 | _MINUSVAR .BYTE_03 ; E8 адрес хранения в CMOS |
| - | 199 | ; расширенный доступ через CMOS к AVR |
|
| - | 200 | _INIT_VAR 0xF0 |
|
| - | 201 | _SETVAR .READ_PS2 |
|
| - | 202 | ; битовые поля в CMOS регистры A-D |
|
| - | 203 | CMOSREG |
|
| - | 204 | _BITMASK A_RO_UIP, 7 |
|
| - | 205 | _BITMASK A_RW_DV2, 6 |
|
| - | 206 | _BITMASK A_RW_DV1, 5 |
|
| - | 207 | _BITMASK A_RW_DV0, 4 |
|
| - | 208 | _BITMASK A_RW_RS3, 3 |
|
| - | 209 | _BITMASK A_RW_RS2, 2 |
|
| - | 210 | _BITMASK A_RW_RS1, 1 |
|
| - | 211 | _BITMASK A_RW_RS0, 0 |
|
| - | 212 | _BITMASK B_RW_SET, 7 |
|
| - | 213 | _BITMASK B_RW_PIE, 6 |
|
| - | 214 | _BITMASK B_RW_AIE, 5 |
|
| - | 215 | _BITMASK B_RW_UIE, 4 |
|
| - | 216 | _BITMASK B_RW_SQWE, 3 |
|
| - | 217 | _BITMASK B_RW_DM, 2 |
|
| - | 218 | _BITMASK B_RW_24_12, 1 |
|
| - | 219 | _BITMASK B_RW_DSE, 0 |
|
| - | 220 | _BITMASK C_RO_IRQF, 7 |
|
| - | 221 | _BITMASK C_RO_PF, 6 |
|
| - | 222 | _BITMASK C_RO_AF, 5 |
|
| - | 223 | _BITMASK C_RO_UF, 4 |
|
| - | 224 | _BITMASK D_RO_VRT, 7 |
|
| 188 | 225 | ||
| 189 | ; ячейка CMOS 0xED CMOS_BYTE_00 |
226 | ; ячейка CMOS 0xED CMOS_BYTE_00 |
| - | 227 | CMOS_ED |
|
| 190 | BITMASK TURBO14, 7 ; разрешение включения TURBO 14MHZ |
228 | _BITMASK TURBO14, 7 ; разрешение включения TURBO 14MHZ |
| 191 | BITMASK EMUL_TAPE, 6 ; разрешение эмуляции загрузки с ленты |
229 | _BITMASK EMUL_TAPE, 6 ; разрешение эмуляции загрузки с ленты |
| 192 | BITMASK PRINTER_AY, 5 ; разрешение подмены драйвера печати в BASIC48 |
230 | _BITMASK PRINTER_AY, 5 ; разрешение подмены драйвера печати в BASIC48 |
| 193 | BITMASK RELOAD_FONT, 4 ; разрешение перезагрузки шрифта при сбросе |
231 | _BITMASK RELOAD_FONT, 4 ; разрешение перезагрузки шрифта при сбросе |
| 194 | BITMASK TYPE_FONT, 3 ; выбор кодировки шрифта |
232 | _BITMASK TYPE_FONT, 3 ; выбор кодировки шрифта |
| 195 | BITMASK AUTO_TAPE, 2 ; автозапуск TAP файлов |
233 | _BITMASK AUTO_TAPE, 2 ; автозапуск TAP файлов |
| 196 | 234 | ||
| 197 | ; номера сбросов, биты 1-0 ячейки 0xED (CMOS_BYTE_00) |
235 | ; номера сбросов, биты 1-0 ячейки 0xED (CMOS_BYTE_00) |
| 198 | INIT_VAR |
236 | _INIT_VAR |
| 199 | SETVAR RESET2EVOSERV ; сброс в EVO SERVICE |
237 | _SETVAR .RESET2EVOSERV ; сброс в EVO SERVICE |
| 200 | SETVAR RESET2GLUK ; сброс в GLUK SERVICE |
238 | _SETVAR .RESET2GLUK ; сброс в GLUK SERVICE |
| 201 | SETVAR RESET2PROFROM ; сброс в PROFROM |
239 | _SETVAR .RESET2PROFROM ; сброс в PROFROM |
| 202 | SETVAR RESET2CUSTOM ; сброс в CUSTOM ROM |
240 | _SETVAR .RESET2CUSTOM ; сброс в CUSTOM ROM |
| 203 | 241 | ||
| 204 | ; ячейка CMOS 0xEC CMOS_BYTE_01 |
242 | ; ячейка CMOS 0xEC CMOS_BYTE_01 |
| - | 243 | CMOS_EC |
|
| 205 | BITMASK TURBO357, 7 ; турбо режим 3,5 или 7 Мгц |
244 | _BITMASK TURBO357, 7 ; турбо режим 3,5 или 7 Мгц |
| 206 | BITMASK SD_NGS_ONOFF, 6 ; включение/выключение доступа к SD КАРТЕ NEOGS |
245 | _BITMASK SD_NGS_ONOFF, 6 ; включение/выключение доступа к SD КАРТЕ NEOGS |
| 207 | BITMASK AUTOMOUNT, 5 ; вкл/выкл автомонтирования из файла |
246 | _BITMASK AUTOMOUNT, 5 ; вкл/выкл автомонтирования из файла |
| 208 | BITMASK CLOCK_VIEW, 4 ; хранение отображение часов |
247 | _BITMASK CLOCK_VIEW, 4 ; хранение отображение часов |
| 209 | BITMASK SOUNDKEYS, 3 ; разрешение озвучивания нажатых клавиш |
248 | _BITMASK SOUNDKEYS, 3 ; разрешение озвучивания нажатых клавиш |
| 210 | BITMASK REZIDENT, 2 ; разрешение проверки наличия резидента |
249 | _BITMASK REZIDENT, 2 ; разрешение проверки наличия резидента |
| 211 | 250 | ||
| 212 | ; номера моделей памяти, биты 1-0 ячейки 0xEC (CMOS_BYTE_01) |
251 | ; номера моделей памяти, биты 1-0 ячейки 0xEC (CMOS_BYTE_01) |
| 213 | INIT_VAR |
252 | _INIT_VAR |
| 214 | SETVAR _1MB ; память 1 Мб |
253 | _SETVAR ._1MB ; память 1 Мб |
| 215 | SETVAR _48K ; память 48 Кб |
254 | _SETVAR ._48K ; память 48 Кб |
| 216 | SETVAR _128K ; память 128 Кб |
255 | _SETVAR ._128K ; память 128 Кб |
| 217 | 256 | ||
| 218 | KOL_MODES EQU 4 ; количество режимов сброса |
257 | .KOL_MODES EQU 4 ; количество режимов сброса |
| 219 | MKOL_MODES EQU %00000011 ; маска для количества режимов сброса |
258 | .MKOL_MODES EQU %00000011 ; маска для количества режимов сброса |
| 220 | 259 | ||
| 221 | ; ячейка CMOS 0xEB |
260 | ; ячейка CMOS 0xEB |
| - | 261 | CMOS_EB |
|
| 222 | BITMASK ACCESSZCSD, 7 ; разрешение доступа к ZC SD CARD |
262 | _BITMASK ACCESSZCSD, 7 ; разрешение доступа к ZC SD CARD |
| 223 | BITMASK ACCESSSDG, 6 ; разрешения доступа к SD карте NEOGS |
- | |
| 224 | BITMASK ACCESSHDDM, 5 ; разрешение доступа к HDD MASTER |
263 | _BITMASK ACCESSHDDM, 6 ; разрешение доступа к HDD MASTER |
| 225 | BITMASK ACCESSHDDS, 4 ; разрешение доступа к HDD SLAVE |
264 | _BITMASK ACCESSHDDS, 5 ; разрешение доступа к HDD SLAVE |
| 226 | _REAL_DRIVE EQU %00001100 ; маска номера реального дисковода |
265 | .REAL_DRIVE EQU %00001100 ; маска номера реального дисковода |
| 227 | _VIRT_DRIVE EQU %00000011 ; маска номера виртуального дисковода |
266 | .VIRT_DRIVE EQU %00000011 ; маска номера виртуального дисковода |
| - | 267 | ||
| - | 268 | ; ячейка CMOS 0xEA |
|
| - | 269 | CMOS_EA |
|
| - | 270 | .SCREENSAVER EQU %11110000 ; таймаут до запуска скринсейвера |
|
| - | 271 | .DETECTHDD EQU %00001111 ; таймаут до начала детекта HDD |
|
| 228 | 272 | ||
| 229 | ; ячейка CMOS 0xE9 |
273 | ; ячейка CMOS 0xE9 |
| - | 274 | CMOS_E9 |
|
| - | 275 | _BITMASK KILL_REZIDENT, 7 ; изменение резидента перед запуском |
|
| 230 | BITMASK AUTOBOOT, 7 ; автостарт загружаемого устройства |
276 | _BITMASK AUTOBOOT, 6 ; автостарт загружаемого устройства |
| 231 | BOOTDEVICE EQU %00000011 ; номер загружаемого устройства |
277 | .BOOTDEVICE EQU %00000011 ; номер загружаемого устройства |
| 232 | - | ||
| 233 | ; ячейка CMOS 0xE8 |
- | |
| 234 | BITMASK KILL_REZIDENT, 7 ; изменение резидента перед запуском |
- | |
| 235 | 278 | ||
| 236 | ; номера загружаемых устройств |
279 | ; номера загружаемых устройств |
| 237 | INIT_VAR |
280 | INIT_VAR |
| 238 | SETVAR _FDD ; дисковод |
281 | SETVAR _FDD ; дисковод |
| 239 | SETVAR _HDD ; винчестер |
282 | SETVAR _HDD ; винчестер |
| Line 261... | Line 304... | ||
| 261 | SETVAR OFFSET_FNTSAVE, 0x800 ; смещение в странице для сохранения считанного шрифта |
304 | SETVAR OFFSET_FNTSAVE, 0x800 ; смещение в странице для сохранения считанного шрифта |
| 262 | SETVAR OFFSET_BUFSYM, 0x800 ; смещение в странице текущего шрифта |
305 | SETVAR OFFSET_BUFSYM, 0x800 ; смещение в странице текущего шрифта |
| 263 | SETVAR OFFSET_SCRSAVE, 0x1B00 ; смещение в странице для сохранения экрана |
306 | SETVAR OFFSET_SCRSAVE, 0x1B00 ; смещение в странице для сохранения экрана |
| 264 | SETVAR OFFSET_USBDRV, 0 ; ??? смещение до начала USB драйвера |
307 | SETVAR OFFSET_USBDRV, 0 ; ??? смещение до начала USB драйвера |
| 265 | 308 | ||
| 266 | BUF_512 EQU CPU3-0x200 ; буфер сектора |
- | |
| 267 | BUF_TABLVOL EQU BUF_512-0x100 ; буфер таблицы найденных разделов |
- | |
| 268 | BUF_TEKVOL EQU BUF_TABLVOL-0x100 ; буфер выбранного раздела |
- | |
| 269 | BUF_TDIRCLS EQU BUF_TEKVOL-0x800 ; буфер кластеров текущей директории |
- | |
| 270 | BUF_256 EQU BUF_TDIRCLS-0x100 ; буфер 256 байт для переносов |
- | |
| 271 | BUF_PATH EQU BUF_256-0x100 ; буфер текущего пути |
- | |
| 272 | MOUNT_DRIVES EQU BUF_PATH-0x100 ; буфер описателей примонтированных файлов |
- | |
| 273 | BUF_LEVELDIR EQU MOUNT_DRIVES-0x100 ; буфер сохранения позиций окон при переходах по директориям |
- | |
| 274 | BUF_WINPATH EQU BUF_LEVELDIR-0x400 ; буфер сохранения позиций в окне при хождении по директориям |
- | |
| 275 | - | ||
| 276 | ; переменные для менеджера устройств |
309 | ; переменные для менеджера устройств |
| - | 310 | DEVMAN_VARS |
|
| 277 | INIT_VAR BUF_TABLVOL + 0xE0 |
311 | _INIT_VAR BUF_VOLUMES + 0xE0 |
| 278 | SETVAR DEVICES, 0x10 ; список обнаруженных девайсов |
312 | _SETVAR .DEVICES, 0x10 ; список обнаруженных девайсов |
| 279 | SETVAR GO_DEV, WORD ; адрес вызова драйвера устройства |
313 | _SETVAR .GO_DEV, WORD ; адрес вызова драйвера устройства |
| 280 | SETVAR KOLDVOL, BYTE ; количество найденных разделов |
314 | _SETVAR .KOLDVOL, BYTE ; количество найденных разделов |
| 281 | SETVAR SETDVOL, BYTE ; номер выбранного раздела |
315 | _SETVAR .SETDVOL, BYTE ; номер выбранного раздела |
| 282 | SETVAR ADRTEKV, WORD ; адрес описателя текущего раздела |
316 | _SETVAR .ADRTEKV, WORD ; адрес описателя текущего раздела |
| 283 | SETVAR SAVE_TEK_VOL, BYTE ; временное сохранение текущего раздела |
317 | _SETVAR .SAVE_TEK_VOL, BYTE ; временное сохранение текущего раздела |
| 284 | SETVAR TEK_TYPE, BYTE ; временное хранение типа текущего устройства |
318 | _SETVAR .TEK_TYPE, BYTE ; временное хранение типа текущего устройства |
| 285 | SETVAR FLAGS_DRV, BYTE ; флаговый байт драйверов |
319 | _SETVAR .FLAGS_DRV, BYTE ; флаговый байт драйверов |
| 286 | ;7 =0-драйвер SD карты NEOGS не установлен, =1-установлен |
320 | ;7 =0-драйвер SD карты NEOGS не установлен, =1-установлен |
| 287 | ;6 |
321 | ;6 |
| 288 | ;5 |
322 | ;5 |
| 289 | ;4 |
323 | ;4 |
| 290 | ;3 |
324 | ;3 |
| 291 | ;2 |
325 | ;2 |
| 292 | ;1 =0-SD ZC карта не обнаружена, 1-обнаружена |
326 | ;1 =0-SD ZC карта не обнаружена, 1-обнаружена |
| 293 | ;0 =0-SD NeoGS не обнаружена, 1-обнаружена |
327 | ;0 =0-SD NeoGS не обнаружен, 1-обнаружен |
| 294 | CRC_DRVS EQU BUF_TABLVOL + 0xFE ; контрольная сумма таблицы найденных разделов |
- | |
| 295 | 328 | ||
| 296 | ; переменные для 1 окна проецирования |
329 | ; переменные для 1 окна проецирования |
| 297 | INIT_VAR |
330 | INIT_VAR |
| 298 | SETVAR BUF_ALLVOL, 0x1000 ; буфер переменных для всех разделов (16 MAX) |
331 | SETVAR BUF_ALLVOL, 16 * 0x100 ; буфер переменных для всех разделов (16 MAX) |
| 299 | SETVAR MOUNT_CLS, 0x1000 ; буфер кластеров примонтированных файлов |
332 | SETVAR MOUNT_CLS, 0x1000 ; буфер кластеров примонтированных файлов |
| 300 | SETVAR TEK_BUFPATH, 0x1000 ; буфер текущих путей на разделах |
333 | SETVAR BUF_CURRPATH, 0x1000 ; буфер текущих путей на разделах |
| 301 | SETVAR BUF_PATHMOUNT, 0x400 ; буфер путей для поиска примонтированных файлов |
334 | SETVAR BUF_PATHMOUNT, 0x400 ; буфер путей для поиска примонтированных файлов |
| - | 335 | ||
| - | 336 | ; буферы в 0 паге с конца страницы (растет вниз) |
|
| - | 337 | INIT_VAR CPU3 |
|
| - | 338 | MINUSVAR BUF_512, 0x200 ; буфер сектора |
|
| - | 339 | MINUSVAR BUF_MOVE256, 0x100 ; буфер 256 байт для переносов |
|
| - | 340 | MINUSVAR BUF_MOUNTDRIVES, 0x100 ; буфер описателей примонтированных файлов |
|
| - | 341 | MINUSVAR BUF_VOLUMES, 0x100 ; буфер таблицы найденных разделов |
|
| - | 342 | MINUSVAR BUF_CURRFATVAR, 0x100 ; буфер выбранного раздела |
|
| 302 | SETVAR BUF_DIRCEP, 0x100 ; буфер цепочки текущей директории |
343 | MINUSVAR BUF_DIRCLS, 0x800 ; буфер кластеров текущей директории |
| 303 | SETVAR BUF_TEMPSEC, 0x200 ; буфер сектора для загрузки образов |
344 | MINUSVAR BUF_DIRCEP, 0x100 ; буфер цепочки номеров текущей директории |
| - | 345 | ||
| - | 346 | FATVARS |
|
| - | 347 | _INIT_VAR CPU3 |
|
| - | 348 | _SETVAR .WINPOS, 0x600 ; буфер сохранения позиций в окне при хождении по директориям FILE BROWSER NMI |
|
| - | 349 | _SETVAR .COPY_VARS_INT, BUF_DIRCEP_Size + \ |
|
| - | 350 | BUF_DIRCLS_Size + \ |
|
| - | 351 | BUF_CURRFATVAR_Size + \ |
|
| - | 352 | BUF_VOLUMES_Size ; внутренние FAT переменные |
|
| - | 353 | _SETVAR .COPY_VARS_EXT, BUF_DIRCEP_Size + \ |
|
| - | 354 | BUF_DIRCLS_Size + \ |
|
| - | 355 | BUF_CURRFATVAR_Size + \ |
|
| - | 356 | BUF_VOLUMES_Size ; внешние FAT переменные |
|