Subversion Repositories pentevo

Rev

Rev 1026 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ; LAST UPDATE: 14.02.2025 savelij
  3.  
  4. ; номера функций RST 8
  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
  18.  SETVAR _MATH
  19.  SETVAR _VERSION
  20.  SETVAR _FILE_BROWSER
  21.  SETVAR _NMI_FB_BLOCK
  22.  INIT_VAR 0x4F
  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.  
  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
  42.  
  43. ; биты ошибок
  44.  BITMASK INCORRECTFPGA,         7               ; прошивка FPGA zxevo_fw.bin не той системы
  45.  
  46. ; функции деления, умножения, преобразования числа в текст
  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.  
  56. ; функции работы с CMOS
  57.  INIT_VAR
  58.  SETVAR _INIT_CMOS
  59.  SETVAR _READ_CMOS
  60.  SETVAR _WRITE_CMOS
  61.  SETVAR _CLEAR_CMOS
  62.  
  63. ; функции монтировщика образов
  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                          ; получение битов смонтированных дисков
  74.  SETVAR _SET_VIRTREAL                           ; переключение реального/виртуального дисковода
  75.  SETVAR _SET_REAL                               ; переключение реального дисковода
  76.  SETVAR _SET_VIRT                               ; переключение виртуального дисковода
  77.  
  78. ; номера функций менеджера устройств
  79.  INIT_VAR
  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                         ; установка номера сектора для чтения/записи
  90.  
  91. ; номера функций вызова драйвера устройства
  92.  INIT_VAR
  93.  SETVAR _DEV_INIT                               ; поиск и инициализация устройства
  94.  SETVAR _DEV_STATUS                             ; запрос статуса устройства. пока заглушена
  95.  SETVAR _DEV_READ                               ; чтение секторов
  96.  SETVAR _DEV_WRITE                              ; запись секторов
  97.  SETVAR _DEV_READID                             ; чтение ID сектора
  98.  
  99. ; номера вызываемых функций FAT драйвера
  100.  INIT_VAR
  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                               ; переход в корень текущего диска
  114.  
  115. ; подфункции функции _POS_FILES
  116.  INIT_VAR
  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" текущий номер "легальной" записи
  125.  
  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.  
  134. ; номера поддерживаемых расширений для RST 8
  135. ; "TRDSCLFDITAPSPG$C FNTBMPROM"         ;RST 8
  136. ; "TRDSCLFDITAPSPG$C BMPSNA"            ;MAINMENU
  137.  INIT_VAR 1
  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
  147.  SETVAR _HOB1           ;$??
  148.  SETVAR _HOB2           ;!??
  149.  
  150. ; внутренние номера типов разделов
  151.  INIT_VAR
  152.  SETVAR _NO_INIT
  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 диск
  157.  SETVAR _UNKNOWN                                ;               файловая система еще не определена или неизвестна
  158.  
  159. ; описатели для рисования окна
  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
  181.  
  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.  
  195. JUMP_SIZE       EQU 3
  196.  
  197.  INIT_VAR 0x100
  198.  SETVAR _NEMO_RD_ID,JUMP_SIZE                   ; чтение сектора идентификации HDD с определением его наличия
  199.  SETVAR _NEMO_RD_SEC,JUMP_SIZE                  ; чтение секторов HDD
  200.  SETVAR _NEMO_WR_SEC,JUMP_SIZE                  ; запись секторов HDD
  201.  
  202.  SETVAR _ZCSD_RD_ID,JUMP_SIZE                   ; чтение сектора идентификации набортной SD карты
  203.  SETVAR _ZCSD_RD_SEC,JUMP_SIZE                  ; чтение секторов набортной SD карты
  204.  SETVAR _ZCSD_WR_SEC,JUMP_SIZE                  ; запись секторов набортной SD карты
  205.  
  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
  209.  
  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
  213.  
  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                    ; освобождение по номеру страницы памяти
  218.