Rev 999 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 999 | Rev 1041 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | 1 | ||
2 | ; LAST UPDATE: 23.12.2021 savelij |
2 | ; LAST UPDATE: 25.11.2022 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 LOW (-0x05)-1 ; 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 LOW (-0x05)-1; 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 | RAM_EVODOS EQU 1 ; страница копии EVO-DOS для перехвата |
21 | RAM_EVODOS EQU 1 ; страница копии EVO-DOS для перехвата |
22 | RAM_FATVARS EQU 2 ; страница для переменых FAT |
22 | RAM_FATVARS EQU 2 ; страница для переменых FAT |
23 | RAM_BASIC EQU 3 ; страница BASIC стандартная версия |
23 | RAM_BASIC EQU 3 ; страница BASIC стандартная версия |
Line 25... | Line 25... | ||
25 | RAM_MOUNTER EQU 5 ; страница для монтирования образов |
25 | RAM_MOUNTER EQU 5 ; страница для монтирования образов |
26 | RAM_STS EQU 6 ; страница для отладчика STS |
26 | RAM_STS EQU 6 ; страница для отладчика STS |
27 | RAM_ADDSTS EQU 7 ; страница для отладки ROM |
27 | RAM_ADDSTS EQU 7 ; страница для отладки ROM |
28 | RAM_SCR_FONT EQU 8 ; страница сохраненных экранов и фонтов |
28 | RAM_SCR_FONT EQU 8 ; страница сохраненных экранов и фонтов |
29 | RAM_TEMP EQU 9 ; страница всяких временных переменных |
29 | RAM_TEMP EQU 9 ; страница всяких временных переменных |
30 | RAM_RAMDISK EQU 0X0A ; страница начала рамдиска |
30 | RAM_RAMDISK EQU 0x0A ; страница начала рамдиска |
31 | RAM_DATARAMD EQU 0X0B ; страница начала данных рамдиска |
31 | RAM_DATARAMD EQU 0x0B ; страница начала данных рамдиска |
32 | RAM_TEMP2 EQU 0X3F ; страница сортировки файлов и просмотра содержимого образов |
32 | RAM_TEMP2 EQU 0x3F ; страница сортировки файлов и просмотра содержимого образов |
33 | RAM_FLASHER EQU 0X40 ; страница начала загрузки прошивки |
33 | RAM_FLASHER EQU 0x40 ; страница начала загрузки прошивки |
34 | RAM_TAPE EQU 0X60 ; страница для загрузки TAP файла |
34 | RAM_TAPE EQU 0x60 ; страница для загрузки TAP файла |
35 | 35 | ||
36 | ; страницы ROM |
36 | ; страницы ROM |
37 | ROM_ERS EQU 0 ; номер страницы ROM EVO RESET SERVICE |
37 | ROM_ERS EQU 0 ; номер страницы ROM EVO RESET SERVICE |
38 | ROM_BAS128 EQU 1 ; номер страницы ROM BASIC 128 |
38 | ROM_BAS128 EQU 1 ; номер страницы ROM BASIC 128 |
39 | ROM_DOS EQU 2 ; номер страницы ROM EVO-DOS для реальной дискеты |
39 | ROM_DOS EQU 2 ; номер страницы ROM EVO-DOS для реальной дискеты |
Line 42... | Line 42... | ||
42 | ROM_MAINMENU EQU 5 ; номер страницы упакованного главное меню |
42 | ROM_MAINMENU EQU 5 ; номер страницы упакованного главное меню |
43 | ROM_RST80 EQU 6 ; номер страницы ROM RST 8 |
43 | ROM_RST80 EQU 6 ; номер страницы ROM RST 8 |
44 | ROM_RST81 EQU 7 ; номер страницы ROM RST 8 |
44 | ROM_RST81 EQU 7 ; номер страницы ROM RST 8 |
45 | ROM_RST82 EQU 8 ; номер страницы ROM RST 8 |
45 | ROM_RST82 EQU 8 ; номер страницы ROM RST 8 |
46 | ROM_RST83 EQU 9 ; номер страницы ROM RST 8 |
46 | ROM_RST83 EQU 9 ; номер страницы ROM RST 8 |
47 | ROM_ADD_DOS EQU 0X0A ; номер страницы ROM EVO-DOS для эмуляции |
47 | ROM_ADD_DOS EQU 0x0A ; номер страницы ROM EVO-DOS для эмуляции |
48 | ROM_ADD_BAS48 EQU 0X0B ; номер страницы ROM BASIC 48 |
48 | ROM_ADD_BAS48 EQU 0x0B ; номер страницы ROM BASIC 48 |
49 | ROM_BAS48_STD EQU 0X18 ; номер страницы ROM BASIC 48 (стандартная версия) |
49 | ROM_BAS48_STD EQU 0x18 ; номер страницы ROM BASIC 48 (стандартная версия) |
50 | ROM_BAS128_STD EQU 0X19 ; номер страницы ROM BASIC 128 (стандартная версия) |
50 | ROM_BAS128_STD EQU 0x19 ; номер страницы ROM BASIC 128 (стандартная версия) |
51 | ROM_BAS48_128 EQU 0X1A ; номер страницы ROM BASIC 48 (стандартная версия для BASIC 128) |
51 | ROM_BAS48_128 EQU 0x1A ; номер страницы ROM BASIC 48 (стандартная версия для BASIC 128) |
52 | ROM_ATMCPM EQU 0X1B ; номер страницы ROM АТМ CP/M |
52 | ROM_ATMCPM EQU 0x1B ; номер страницы ROM АТМ CP/M |
53 | 53 | ||
54 | CONF4PROF EQU 0X90 ; стартовая страница для EVO PROFROM 128K |
54 | CONF4PROF EQU 0x90 ; стартовая страница для EVO PROFROM 128K |
55 | CONF4GLUK EQU 0X94 ; стартовая страница для GLUK 64K |
55 | CONF4GLUK EQU 0x94 ; стартовая страница для GLUK 64K |
56 | CONF4CUSTOM EQU 0X9C ; стартовая страница для пользовательской прошивки 64К |
56 | CONF4CUSTOM EQU 0x9C ; стартовая страница для пользовательской прошивки 64К |
57 | 57 | ||
58 | CPU0 EQU 0X0000 ; начало окна проецирования 0 |
58 | CPU0 EQU 0x0000 ; начало окна проецирования 0 |
59 | CPU1 EQU 0X4000 ; начало окна проецирования 1 |
59 | CPU1 EQU 0x4000 ; начало окна проецирования 1 |
60 | CPU2 EQU 0X8000 ; начало окна проецирования 2 |
60 | CPU2 EQU 0x8000 ; начало окна проецирования 2 |
61 | CPU3 EQU 0XC000 ; начало окна проецирования 3 |
61 | CPU3 EQU 0xC000 ; начало окна проецирования 3 |
62 | 62 | ||
63 | ; маска кнопок мыши |
63 | ; маска кнопок мыши |
64 | BITMASK MOUSE_M_KEY, 2 |
64 | BITMASK MOUSE_M_KEY, 2 |
65 | BITMASK MOUSE_R_KEY, 1 |
65 | BITMASK MOUSE_R_KEY, 1 |
66 | BITMASK MOUSE_L_KEY, 0 |
66 | BITMASK MOUSE_L_KEY, 0 |
Line 79... | Line 79... | ||
79 | BAUD38400 EQU 115200/38400 |
79 | BAUD38400 EQU 115200/38400 |
80 | BAUD57600 EQU 115200/57600 |
80 | BAUD57600 EQU 115200/57600 |
81 | BAUD115200 EQU 115200/115200 |
81 | BAUD115200 EQU 115200/115200 |
82 | 82 | ||
83 | ; одностраничный текстмод |
83 | ; одностраничный текстмод |
84 | LSYM EQU 0X01C0 ; смещение в странице начала левых символов текстмода |
84 | LSYM EQU 0x01C0 ; смещение в странице начала левых символов текстмода |
85 | LATTR EQU 0X31C0 ; смещение в странице начала левых атрибутов символов |
85 | LATTR EQU 0x31C0 ; смещение в странице начала левых атрибутов символов |
86 | RSYM EQU 0X11C0 ; смещение в странице начала правых символов текстмода |
86 | RSYM EQU 0x11C0 ; смещение в странице начала правых символов текстмода |
87 | RATTR EQU 0X21C1 ; смещение в странице начала правых атрибутов символов |
87 | RATTR EQU 0x21C1 ; смещение в странице начала правых атрибутов символов |
88 | 88 | ||
89 | ; ATM текстмод |
89 | ; ATM текстмод |
90 | ALSYM EQU 0X01C0 ; смещение в странице начала левых символов текстмода |
90 | ALSYM EQU 0x01C0 ; смещение в странице начала левых символов текстмода |
91 | ALATTR EQU 0X21C0 ; смещение в странице начала левых атрибутов символов |
91 | ALATTR EQU 0x21C0 ; смещение в странице начала левых атрибутов символов |
92 | ARSYM EQU 0X21C0 ; смещение в странице начала правых символов текстмода |
92 | ARSYM EQU 0x21C0 ; смещение в странице начала правых символов текстмода |
93 | ARATTR EQU 0X01C1 ; смещение в странице начала правых атрибутов символов |
93 | ARATTR EQU 0x01C1 ; смещение в странице начала правых атрибутов символов |
94 | 94 | ||
95 | ; цвета и яркости |
95 | ; цвета и яркости |
96 | BLACK EQU 0 |
96 | BLACK EQU 0 |
97 | BLUE EQU 1 |
97 | BLUE EQU 1 |
98 | RED EQU 2 |
98 | RED EQU 2 |
99 | MAGENTA EQU 3 |
99 | MAGENTA EQU 3 |
100 | GREEN EQU 4 |
100 | GREEN EQU 4 |
101 | CYAN EQU 5 |
101 | CYAN EQU 5 |
102 | YELLOW EQU 6 |
102 | YELLOW EQU 6 |
103 | WHITE EQU 7 |
103 | WHITE EQU 7 |
104 | BR_INK EQU 0X40 |
104 | BR_INK EQU 0x40 |
105 | BR_PAPER EQU 0X80 |
105 | BR_PAPER EQU 0x80 |
106 | 106 | ||
107 | ; цвета для ATM видеорежимов |
107 | ; цвета для ATM видеорежимов |
108 | G_L EQU %10000000 |
108 | BITMASK G_L, 7 |
109 | G_H EQU %00010000 |
109 | BITMASK G_H, 4 |
110 | R_L EQU %01000000 |
110 | BITMASK R_L, 6 |
111 | R_H EQU %00000010 |
111 | BITMASK R_H, 1 |
112 | B_L EQU %00100000 |
112 | BITMASK B_L, 5 |
113 | B_H EQU %00000001 |
113 | BITMASK B_H, 0 |
114 | 114 | ||
115 | ; маска порта 7FFD |
115 | ; маска порта 7FFD |
116 | ZX_SCREEN EQU %00001000 |
116 | BITMASK ZX_SCREEN, 3 |
117 | ZX_ROM EQU %00010000 |
117 | BITMASK ZX_ROM, 4 |
118 | 118 | ||
119 | ; маска порта 0xBF |
119 | ; маска порта 0xBF |
120 | BITMASK BREAK_BF, 4 ; бит разрешения срабатывания BREAK на адресе |
120 | BITMASK BREAK_BF, 4 ; бит разрешения срабатывания BREAK на адресе |
121 | BITMASK NMI_BF, 3 ; бит генерации NMI |
121 | BITMASK NMI_BF, 3 ; бит генерации NMI |
122 | BITMASK FONT_BF, 2 ; бит разрешения изменения шрифта |
122 | BITMASK FONT_BF, 2 ; бит разрешения изменения шрифта |
Line 141... | Line 141... | ||
141 | NUM_TXTSCR EQU %00000111 ; номер видеорежима для ATM порта (одностраничный текстмод 80*25) |
141 | NUM_TXTSCR EQU %00000111 ; номер видеорежима для ATM порта (одностраничный текстмод 80*25) |
142 | 142 | ||
143 | SET_VIDEOMODE EQU %00001000 |
143 | SET_VIDEOMODE EQU %00001000 |
144 | 144 | ||
145 | ; номера видеорежимов с маской для записи в порт |
145 | ; номера видеорежимов с маской для записи в порт |
146 | V_EGA EQU NUM_EGA | 0XA0 |
146 | V_EGA EQU NUM_EGA | 0xA0 |
147 | V_APPMULTI EQU NUM_APPMULTI | 0XA0 |
147 | V_APPMULTI EQU NUM_APPMULTI | 0xA0 |
148 | V_ZXSCR EQU NUM_ZXSCR | 0XA0 |
148 | V_ZXSCR EQU NUM_ZXSCR | 0xA0 |
149 | V_TXTATM EQU NUM_TXTATM | 0XA0 |
149 | V_TXTATM EQU NUM_TXTATM | 0xA0 |
150 | V_TXT1PAGE EQU NUM_TXTSCR | 0XA0 |
150 | V_TXT1PAGE EQU NUM_TXTSCR | 0xA0 |
151 | 151 | ||
152 | ; маски отладчика |
152 | ; маски отладчика |
153 | BITMASK DBG_ACTIV, 7 ; активен отладчик |
153 | BITMASK DBG_ACTIV, 7 ; активен отладчик |
154 | BITMASK TRACE_DBG, 6 ; трассировка |
154 | BITMASK TRACE_DBG, 6 ; трассировка |
155 | BITMASK STEP_DBG, 5 ; пошаговая отладка |
155 | BITMASK STEP_DBG, 5 ; пошаговая отладка |
156 | ; BITMASK CASH_INST, 4 ; установлен CASH REMEMBER |
156 | ; BITMASK CASH_INST, 4 ; установлен CASH REMEMBER |
157 | ; BITMASK CASH_ACTIV, 3 ; активен CASH REMEMBER |
157 | ; BITMASK CASH_ACTIV, 3 ; активен CASH REMEMBER |
158 | 158 | ||
159 | ; смещения FDI образа |
159 | ; смещения FDI образа |
160 | FDI_TABLE_CYL EQU 0X4000 ; адрес таблицы начал дорожек в образе |
160 | FDI_TABLE_CYL EQU 0x4000 ; адрес таблицы начал дорожек в образе |
161 | FDI_PAGE_START EQU 0X40FF ; смещение в страницах начала секторов образа |
161 | FDI_PAGE_START EQU 0x40FF ; смещение в страницах начала секторов образа |
162 | FDI_BYTE_SMESH EQU 0X41FE ; смещение в байтах начала образа загруженного в рамдиск |
162 | FDI_BYTE_SMESH EQU 0x41FE ; смещение в байтах начала образа загруженного в рамдиск |
163 | FDI_BLOCK_SMESH EQU 0X41FF ; смещение в блоках (по 256 байт) начала секторов образа |
163 | FDI_BLOCK_SMESH EQU 0x41FF ; смещение в блоках (по 256 байт) начала секторов образа |
164 | FDI_IMAGE1SECT EQU 0X4400 ; адрес загрузки первого сектора для определения смещения |
164 | FDI_IMAGE1SECT EQU 0x4400 ; адрес загрузки первого сектора для определения смещения |
165 | 165 | ||
166 | ; ячейки в CMOS |
166 | ; ячейки в CMOS |
- | 167 | INIT_VAR |
|
167 | _CMOS_SECOND EQU 0 ; секунды |
168 | SETVAR _CMOS_SECOND ; секунды |
168 | _CMOS_SECOND_AL EQU 1 ; секунды будильника |
169 | SETVAR _CMOS_SECOND_AL ; секунды будильника |
169 | _CMOS_MINUTE EQU 2 ; минуты |
170 | SETVAR _CMOS_MINUTE ; минуты |
170 | _CMOS_MINUTE_AL EQU 3 ; минуты будильника |
171 | SETVAR _CMOS_MINUTE_AL ; минуты будильника |
171 | _CMOS_HOUR EQU 4 ; часы |
172 | SETVAR _CMOS_HOUR ; часы |
172 | _CMOS_HOUR_AL EQU 5 ; часы будильника |
173 | SETVAR _CMOS_HOUR_AL ; часы будильника |
173 | _CMOS_DAY EQU 6 ; день недели |
174 | SETVAR _CMOS_DAY ; день недели |
174 | _CMOS_DAY_MONTH EQU 7 ; день месяца |
175 | SETVAR _CMOS_DAY_MONTH ; день месяца |
175 | _CMOS_MONTH EQU 8 ; месяц |
176 | SETVAR _CMOS_MONTH ; месяц |
176 | _CMOS_YEAR EQU 9 ; год |
177 | SETVAR _CMOS_YEAR ; год |
177 | 178 | ||
178 | ; номера ячеек CMOS и их содержимое |
179 | ; номера ячеек CMOS и их содержимое |
179 | CRCCMOSHIGH EQU 0XEF ; старший байт CRC CMOS |
180 | CRCCMOSHIGH EQU 0xEF ; старший байт CRC CMOS |
180 | CRCCMOSLOW EQU 0XEE ; младший байт CRC CMOS |
181 | CRCCMOSLOW EQU 0xEE ; младший байт CRC CMOS |
181 | CMOS_BYTE_00 EQU 0XED ; адрес хранения в CMOS |
182 | CMOS_BYTE_00 EQU 0xED ; адрес хранения в CMOS |
182 | CMOS_BYTE_01 EQU 0XEC ; адрес хранения в CMOS |
183 | CMOS_BYTE_01 EQU 0xEC ; адрес хранения в CMOS |
183 | VIRT_REAL_DRIVE EQU 0XEB ; хранение номера реального и виртуального дисковода, тип DOS |
184 | VIRT_REAL_DRIVE EQU 0xEB ; хранение номера реального и виртуального дисковода, тип DOS |
184 | HDD_TIMEOUT EQU 0XEA ; задержка опредения наличия винта после включения питания |
185 | HDD_TIMEOUT EQU 0xEA ; задержка опредения наличия винта после включения питания |
185 | CMOS_BYTE_02 EQU 0XE9 ; адрес хранения в CMOS |
186 | CMOS_BYTE_02 EQU 0xE9 ; адрес хранения в CMOS |
186 | CMOS_BYTE_03 EQU 0XE8 ; адрес хранения в CMOS |
187 | CMOS_BYTE_03 EQU 0xE8 ; адрес хранения в CMOS |
187 | 188 | ||
188 | ; ячейка CMOS 0xED CMOS_BYTE_00 |
189 | ; ячейка CMOS 0xED CMOS_BYTE_00 |
189 | BITMASK TURBO14, 7 ; разрешение включения TURBO 14MHZ |
190 | BITMASK TURBO14, 7 ; разрешение включения TURBO 14MHZ |
190 | BITMASK EMUL_TAPE, 6 ; разрешение эмуляции загрузки с ленты |
191 | BITMASK EMUL_TAPE, 6 ; разрешение эмуляции загрузки с ленты |
191 | BITMASK PRINTER_AY, 5 ; разрешение подмены драйвера печати в BASIC48 |
192 | BITMASK PRINTER_AY, 5 ; разрешение подмены драйвера печати в BASIC48 |
192 | BITMASK RELOAD_FONT, 4 ; разрешение перезагрузки шрифта при сбросе |
193 | BITMASK RELOAD_FONT, 4 ; разрешение перезагрузки шрифта при сбросе |
193 | BITMASK TYPE_FONT, 3 ; выбор кодировки шрифта |
194 | BITMASK TYPE_FONT, 3 ; выбор кодировки шрифта |
194 | BITMASK AUTO_TAPE, 2 ; автозапуск TAP файлов |
195 | BITMASK AUTO_TAPE, 2 ; автозапуск TAP файлов |
195 | 196 | ||
196 | ; номера сбросов, биты 1-0 ячейки 0xED (CMOS_BYTE_00) |
197 | ; номера сбросов, биты 1-0 ячейки 0xED (CMOS_BYTE_00) |
- | 198 | INIT_VAR |
|
197 | RESET2CUSTOM EQU 3 ; сброс в CUSTOM ROM |
199 | SETVAR RESET2EVOSERV ; сброс в EVO SERVICE |
198 | RESET2PROFROM EQU 2 ; сброс в PROFROM |
200 | SETVAR RESET2GLUK ; сброс в GLUK SERVICE |
199 | RESET2GLUK EQU 1 ; сброс в GLUK SERVICE |
201 | SETVAR RESET2PROFROM ; сброс в PROFROM |
200 | RESET2EVOSERV EQU 0 ; сброс в EVO SERVICE |
202 | SETVAR RESET2CUSTOM ; сброс в CUSTOM ROM |
201 | 203 | ||
202 | ; ячейка CMOS 0xEC CMOS_BYTE_01 |
204 | ; ячейка CMOS 0xEC CMOS_BYTE_01 |
203 | BITMASK TURBO357, 7 ; турбо режим 3,5 или 7 Мгц |
205 | BITMASK TURBO357, 7 ; турбо режим 3,5 или 7 Мгц |
204 | BITMASK SD_NGS_ONOFF, 6 ; включение/выключение доступа к SD КАРТЕ NEOGS |
206 | BITMASK SD_NGS_ONOFF, 6 ; включение/выключение доступа к SD КАРТЕ NEOGS |
205 | BITMASK AUTOMOUNT, 5 ; вкл/выкл автомонтирования из файла |
207 | BITMASK AUTOMOUNT, 5 ; вкл/выкл автомонтирования из файла |
206 | BITMASK CLOCK_VIEW, 4 ; хранение отображение часов |
208 | BITMASK CLOCK_VIEW, 4 ; хранение отображение часов |
207 | BITMASK SOUNDKEYS, 3 ; разрешение озвучивания нажатых клавиш |
209 | BITMASK SOUNDKEYS, 3 ; разрешение озвучивания нажатых клавиш |
208 | BITMASK REZIDENT, 2 ; разрешение проверки наличия резидента |
210 | BITMASK REZIDENT, 2 ; разрешение проверки наличия резидента |
209 | 211 | ||
210 | ; номера моделей памяти, биты 1-0 ячейки 0xEC (CMOS_BYTE_01) |
212 | ; номера моделей памяти, биты 1-0 ячейки 0xEC (CMOS_BYTE_01) |
- | 213 | INIT_VAR |
|
211 | _128K EQU 2 ; память 128 Кб |
214 | SETVAR _1MB ; память 1 Мб |
212 | _48K EQU 1 ; память 48 Кб |
215 | SETVAR _48K ; память 48 Кб |
213 | _1MB EQU 0 ; память 1 Мб |
216 | SETVAR _128K ; память 128 Кб |
214 | 217 | ||
215 | KOL_MODES EQU 4 ; количество режимов сброса |
218 | KOL_MODES EQU 4 ; количество режимов сброса |
216 | MKOL_MODES EQU 3 ; маска для количества режимов сброса |
219 | MKOL_MODES EQU %00000011 ; маска для количества режимов сброса |
217 | 220 | ||
218 | ; ячейка CMOS 0xEB |
221 | ; ячейка CMOS 0xEB |
219 | BITMASK ACCESSZCSD, 7 ; разрешение доступа к ZC SD CARD |
222 | BITMASK ACCESSZCSD, 7 ; разрешение доступа к ZC SD CARD |
220 | BITMASK ACCESSSDG, 6 ; разрешения доступа к SD карте NEOGS |
223 | BITMASK ACCESSSDG, 6 ; разрешения доступа к SD карте NEOGS |
221 | BITMASK ACCESSHDDM, 5 ; разрешение доступа к HDD MASTER |
224 | BITMASK ACCESSHDDM, 5 ; разрешение доступа к HDD MASTER |
Line 229... | Line 232... | ||
229 | 232 | ||
230 | ; ячейка CMOS 0xE8 |
233 | ; ячейка CMOS 0xE8 |
231 | BITMASK KILL_REZIDENT, 7 ; изменение резидента перед запуском |
234 | BITMASK KILL_REZIDENT, 7 ; изменение резидента перед запуском |
232 | 235 | ||
233 | ; номера загружаемых устройств |
236 | ; номера загружаемых устройств |
- | 237 | INIT_VAR |
|
234 | _SD EQU 2 ; SD карта |
238 | SETVAR _FDD ; дисковод |
235 | _HDD EQU 1 ; винчестер |
239 | SETVAR _HDD ; винчестер |
236 | _FDD EQU 0 ; дисковод |
240 | SETVAR _SD ; SD карта |
237 | 241 | ||
238 | _SD_NONE EQU 0X80 ; признак не вставленной карты |
242 | _SD_NONE EQU 0x80 ; признак не вставленной карты |
239 | 243 | ||
240 | ; переменные для 0 окна проецирования |
244 | ; переменные для 0 окна проецирования |
241 | DEBUG_ONOFF EQU 0X0013 ; вкл/выкл отладчика |
245 | DEBUG_ONOFF EQU 0x0013 ; вкл/выкл отладчика |
242 | ADR_SEL_ROM EQU 0X0014 ; адрес переключения страниц ROM |
246 | ADR_SEL_ROM EQU 0x0014 ; адрес переключения страниц ROM |
243 | CONT_RST8 EQU 0X002C ; адрес продолжения обработки RST 8 |
247 | CONT_RST8 EQU 0x002C ; адрес продолжения обработки RST 8 |
244 | CONTINUE_MAGIC EQU 0X0034 ; адрес перехода продолжения обработчика MAGIC |
248 | CONTINUE_MAGIC EQU 0x0034 ; адрес перехода продолжения обработчика MAGIC |
245 | ADR_PERFECT EQU 0X0036 ; адрес расположения PERFECT COMANDER |
249 | ADR_PERFECT EQU 0x0036 ; адрес расположения PERFECT COMANDER |
246 | EI_RET EQU 0X003E ; адрес расположения EI:RET |
250 | EI_RET EQU 0x003E ; адрес расположения EI:RET |
247 | UNP_DOS_FE EQU 0X0040 ; адрес распаковщика DOS FE |
251 | UNP_DOS_FE EQU 0x0040 ; адрес распаковщика DOS FE |
248 | UNP_SONGLN EQU 0X0043 ; адрес распаковки SONGLINES |
252 | UNP_SONGLN EQU 0x0043 ; адрес распаковки SONGLINES |
249 | UNPACK EQU 0X0080 ; адрес распаковщика |
253 | UNPACK EQU 0x0080 ; адрес распаковщика |
250 | _BIOS_JUMPS EQU 0X0100 ; адрес начала таблицы переходов в драйверы девайсов |
254 | _BIOS_JUMPS EQU 0x0100 ; адрес начала таблицы переходов в драйверы девайсов |
251 | ADRBRK_EMUTAP EQU 0X0569 ; адрес установки бряка для эмуляции загрузки TAP |
255 | ADRBRK_EMUTAP EQU 0x0569 ; адрес установки бряка для эмуляции загрузки TAP |
252 | START_STS EQU 0XC000 ; адрес входа в отладчик |
256 | START_STS EQU 0xC000 ; адрес входа в отладчик |
253 | ADR_RST8END EQU 0X3CE8 ; адрес возврата из RST 8 |
257 | ADR_RST8END EQU 0x3CE8 ; адрес возврата из RST 8 |
254 | ICALL2PAGE EQU 0X8000 ; адрес вызывов кода из другой страницы |
258 | ICALL2PAGE EQU 0x8000 ; адрес вызывов кода из другой страницы |
255 | 259 | ||
- | 260 | INIT_VAR |
|
256 | OFFSET_FNTSAVE EQU 0 ;800 смещение в странице для сохранения считанного шрифта |
261 | SETVAR OFFSET_FNTSAVE, 0x800 ; смещение в странице для сохранения считанного шрифта |
257 | OFFSET_BUFSYM EQU OFFSET_FNTSAVE+0X800 ;800 смещение в странице текущего шрифта |
262 | SETVAR OFFSET_BUFSYM, 0x800 ; смещение в странице текущего шрифта |
258 | OFFSET_SCRSAVE EQU OFFSET_BUFSYM+0X800 ;1B00 смещение в странице для сохранения экрана |
263 | SETVAR OFFSET_SCRSAVE, 0x1B00 ; смещение в странице для сохранения экрана |
259 | OFFSET_USBDRV EQU OFFSET_SCRSAVE+0X1B00 ;??? смещение до начала USB драйвера |
264 | SETVAR OFFSET_USBDRV, 0 ; ??? смещение до начала USB драйвера |
260 | 265 | ||
261 | BUF_512 EQU CPU3-0X200 ;200 буфер сектора |
266 | BUF_512 EQU CPU3-0x200 ; буфер сектора |
262 | BUF_TABLVOL EQU BUF_512-0X100 ;100 буфер таблицы найденных разделов |
267 | BUF_TABLVOL EQU BUF_512-0x100 ; буфер таблицы найденных разделов |
263 | BUF_TEKVOL EQU BUF_TABLVOL-0X100 ;100 буфер выбранного раздела |
268 | BUF_TEKVOL EQU BUF_TABLVOL-0x100 ; буфер выбранного раздела |
264 | BUF_TDIRCLS EQU BUF_TEKVOL-0X800 ;800 буфер кластеров текущей директории |
269 | BUF_TDIRCLS EQU BUF_TEKVOL-0x800 ; буфер кластеров текущей директории |
265 | BUF_256 EQU BUF_TDIRCLS-0X100 ;100 буфер 256 байт для переносов |
270 | BUF_256 EQU BUF_TDIRCLS-0x100 ; буфер 256 байт для переносов |
266 | BUF_PATH EQU BUF_256-0X100 ;100 буфер текущего пути |
271 | BUF_PATH EQU BUF_256-0x100 ; буфер текущего пути |
267 | MOUNT_DRIVES EQU BUF_PATH-0X100 ;100 буфер описателей примонтированных файлов |
272 | MOUNT_DRIVES EQU BUF_PATH-0x100 ; буфер описателей примонтированных файлов |
268 | BUF_LEVELDIR EQU MOUNT_DRIVES-0X100 ;200 буфер сохранения позиций окон при переходах по директориям |
273 | BUF_LEVELDIR EQU MOUNT_DRIVES-0x100 ; буфер сохранения позиций окон при переходах по директориям |
269 | BUF_WINPATH EQU BUF_LEVELDIR-0X400 ;400 буфер сохранения позиций в окне при хождении по директориям |
274 | BUF_WINPATH EQU BUF_LEVELDIR-0x400 ; буфер сохранения позиций в окне при хождении по директориям |
270 | 275 | ||
271 | ; переменные для менеджера устройств |
276 | ; переменные для менеджера устройств |
- | 277 | INIT_VAR BUF_TABLVOL + 0xE0 |
|
272 | DEVICES EQU BUF_TABLVOL+0XE0 ;10 список обнаруженных девайсов |
278 | SETVAR DEVICES, 0x10 ; список обнаруженных девайсов |
273 | GO_DEV EQU DEVICES+0X10 ;2 адрес вызова драйвера устройства |
279 | SETVAR GO_DEV, WORD ; адрес вызова драйвера устройства |
274 | KOLDVOL EQU GO_DEV+2 ;1 количество найденных разделов |
280 | SETVAR KOLDVOL, BYTE ; количество найденных разделов |
275 | SETDVOL EQU KOLDVOL+1 ;1 номер выбранного раздела |
281 | SETVAR SETDVOL, BYTE ; номер выбранного раздела |
276 | ADRTEKV EQU SETDVOL+1 ;2 адрес описателя текущего раздела |
282 | SETVAR ADRTEKV, WORD ; адрес описателя текущего раздела |
277 | SAVE_TEK_VOL EQU ADRTEKV+2 ;1 временное сохранение текущего раздела |
283 | SETVAR SAVE_TEK_VOL, BYTE ; временное сохранение текущего раздела |
278 | TEK_TYPE EQU SAVE_TEK_VOL+1 ;1 временное хранение типа текущего устройства |
284 | SETVAR TEK_TYPE, BYTE ; временное хранение типа текущего устройства |
279 | FLAGS_DRV EQU TEK_TYPE+1 ;1 флаговый байт драйверов |
285 | SETVAR FLAGS_DRV, BYTE ; флаговый байт драйверов |
280 | ;7 =0-драйвер SD карты NEOGS не установлен, =1-установлен |
286 | ;7 =0-драйвер SD карты NEOGS не установлен, =1-установлен |
281 | ;6 |
287 | ;6 |
282 | ;5 |
288 | ;5 |
283 | ;4 |
289 | ;4 |
284 | ;3 |
290 | ;3 |
285 | ;2 |
291 | ;2 |
286 | ;1 =0-SD ZC карта не обнаружена, 1-обнаружена |
292 | ;1 =0-SD ZC карта не обнаружена, 1-обнаружена |
287 | ;0 =0-SD NeoGS не обнаружена, 1-обнаружена |
293 | ;0 =0-SD NeoGS не обнаружена, 1-обнаружена |
288 | CRC_DRVS EQU BUF_TABLVOL+0XFE ;2 контрольная сумма таблицы найденных разделов |
294 | CRC_DRVS EQU BUF_TABLVOL + 0xFE ; контрольная сумма таблицы найденных разделов |
289 | 295 | ||
290 | ; переменные для 1 окна проецирования |
296 | ; переменные для 1 окна проецирования |
291 | INIT_VAR |
297 | INIT_VAR |
292 | SETVAR BUF_ALLVOL, 0x1000 ;1000 буфер переменных для всех разделов (16 MAX) |
298 | SETVAR BUF_ALLVOL, 0x1000 ; буфер переменных для всех разделов (16 MAX) |
293 | SETVAR MOUNT_CLS, 0x1000 ;1000 буфер кластеров примонтированных файлов |
299 | SETVAR MOUNT_CLS, 0x1000 ; буфер кластеров примонтированных файлов |
294 | SETVAR TEK_BUFPATH, 0x1000 ;1000 буфер текущих путей на разделах |
300 | SETVAR TEK_BUFPATH, 0x1000 ; буфер текущих путей на разделах |
295 | SETVAR BUF_PATHMOUNT, 0x400 ;400 буфер путей для поиска примонтированных файлов |
301 | SETVAR BUF_PATHMOUNT, 0x400 ; буфер путей для поиска примонтированных файлов |
296 | SETVAR BUF_DIRCEP, 0x100 ;100 буфер цепочки текущей директории |
302 | SETVAR BUF_DIRCEP, 0x100 ; буфер цепочки текущей директории |
297 | SETVAR BUF_TEMPSEC, 0x200 ;200 буфер сектора для загрузки образов |
303 | SETVAR BUF_TEMPSEC, 0x200 ; буфер сектора для загрузки образов |