Subversion Repositories pentevo

Rev

Rev 999 | Details | Compare with Previous | Last modification | View Log | RSS feed

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