Subversion Repositories pentevo

Rev

Rev 999 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 17.09.2022 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.  
  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.  
  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
  41.  
  42. ; биты ошибок
  43.  BITMASK INCORRECTFPGA,         7               ; прошивка FPGA zxevo_fw.bin не той системы
  44.  
  45. ; функции деления, умножения, преобразования числа в текст
  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.  
  55. ; функции работы с CMOS
  56.  INIT_VAR
  57.  SETVAR _INIT_CMOS
  58.  SETVAR _READ_CMOS
  59.  SETVAR _WRITE_CMOS
  60.  SETVAR _CLEAR_CMOS
  61.  
  62. ; функции монтировщика образов
  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                          ; получение битов смонтированных дисков
  73.  SETVAR _SET_VIRTREAL                           ; переключение реального/виртуального дисковода
  74.  SETVAR _SET_REAL                               ; переключение реального дисковода
  75.  SETVAR _SET_VIRT                               ; переключение виртуального дисковода
  76.  
  77. ; номера функций менеджера устройств
  78.  INIT_VAR
  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                         ; установка номера сектора для чтения/записи
  89.  
  90. ; номера функций вызова драйвера устройства
  91.  INIT_VAR
  92.  SETVAR _DEV_INIT                               ; поиск и инициализация устройства
  93.  SETVAR _DEV_STATUS                             ; запрос статуса устройства. пока заглушена
  94.  SETVAR _DEV_READ                               ; чтение секторов
  95.  SETVAR _DEV_WRITE                              ; запись секторов
  96.  SETVAR _DEV_READID                             ; чтение ID сектора
  97.  
  98. ; номера вызываемых функций FAT драйвера
  99.  INIT_VAR
  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                               ; переход в корень текущего диска
  113.  
  114. ; подфункции функции _POS_FILES
  115.  INIT_VAR
  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" текущий номер "легальной" записи
  124.  
  125. ; номера поддерживаемых расширений для RST 8
  126. ; "TRDSCLFDITAPSPG$C FNTBMPROM"         ;RST 8
  127. ; "TRDSCLFDITAPSPG$C BMPSNA"            ;MAINMENU
  128.  INIT_VAR 1
  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
  138.  SETVAR _HOB1           ;$??
  139.  SETVAR _HOB2           ;!??
  140.  
  141. ; внутренние номера типов разделов
  142.  INIT_VAR
  143.  SETVAR _NO_INIT
  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 диск
  148.  SETVAR _UNKNOWN                                ;               файловая система еще не определена или неизвестна
  149.  
  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
  172.  
  173. JUMP_SIZE       EQU 3
  174.  
  175.  INIT_VAR 0X100
  176.  SETVAR _NEMO_RD_ID,JUMP_SIZE                   ; чтение сектора идентификации HDD с определением его наличия
  177.  SETVAR _NEMO_RD_SEC,JUMP_SIZE                  ; чтение секторов HDD
  178.  SETVAR _NEMO_WR_SEC,JUMP_SIZE                  ; запись секторов HDD
  179.  
  180.  SETVAR _ZCSD_RD_ID,JUMP_SIZE                   ; чтение сектора идентификации набортной SD карты
  181.  SETVAR _ZCSD_RD_SEC,JUMP_SIZE                  ; чтение секторов набортной SD карты
  182.  SETVAR _ZCSD_WR_SEC,JUMP_SIZE                  ; запись секторов набортной SD карты
  183.  
  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
  187.  
  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
  191.  
  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                    ; освобождение по номеру страницы памяти
  196.