Subversion Repositories pentevo

Rev

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                    ; освобождение по номеру страницы памяти