Subversion Repositories pentevo

Rev

Rev 999 | 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           ; буфер сектора для загрузки образов