Files
ZiFi/_sd/READ_ME.TXT
T
2026-08-31 21:04:48 +03:00

788 lines
35 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[08.03.2016 21:00:03] Koshi: FAT engine errors:
1 - long name is not valid (mkfile, mkdir)
2 - short name index fatality (mkfile, mkdir)
3 - long name already exists (mkfile, mkdir)
4 - short name already exists (mkfile, mkdir)
8 - not found
16 - no free space
255 - unknown error
Исходники плагинов:
wild_player - полноценный плагин WildPlayer'a (поддерживает плей листы m3u/ayl)
rom_writer - полноценный плагин-прошиватель ПЗУ/виртПЗУ (в данный момент только 64к файлы)
mounter - полноценный плагин-манунтилка/дизмаунтилка vDOS дисков
(маунтит TRD образы напрямую с FAT, SCL образы как RAM диск, rs232)
file_cr - полноценный плагин-креатор файлов (File Creator)
gsplayer - полноценный GS плеер, проигрывает MP3, MOD, WAV
video_pl - экспериментальный плагин, Video Player
(пока-что может проигрывать видео 256 x 2,4,6,...,192)
bmpview - BMP Viewer & Sprite Cutter. Поддерживает 8bit BMP до 512x512. Режет 16/256c спрайты!
ilbmview - IFF/ILBM Viewer. предназначен для просмотра файлов в формате IFF/ILBM
multigigascreen - просмотрщик ZX экранов. в том числе гигаскринов, мультиколоров и мультигигаскринов
tapsna - TAP mounter and SNA launcher. запускает SNA файлы и монтирует TAP на RAM диск
txt_editor - текстовый редактор, вешается на F4 (если загружен)
PLUG01.ASM - пример плагина (стартовый плагин)
PLUG02.ASM - ещё один пример
PLUG03.ASM - пример с заголовком скринсейвера
Plug-in System version #07:
------------------------------------------------------
#6000-#6003 - номер страницы в соотв. окне
#6004 - ABT (флаг выставляется, если был нажат ESC)
#6005 - ENT (флаг выставляется, если был нажат ENTER)
#6009-#600A - TMN (переменная-таймер, инкрементится по инту)
Common information:
#6006 - точка доступа к функциям.
в A записывается номер функции которую нужно вызвать.
все остальные регистры указываются в описании функции!
вызов плагина производится простым CALL #8000
на входе в плагин передаётся:
A - тип вызова:
#00 - по расширению
#01 - при загрузке плагина
#02 - по таймеру
#03 - из меню запуска плагинов
#14 - по F4
[DE,HL] - длина файла в байтах
BC - адрес где лежит имя открытого файла (только для типов #00 и #14!)
(формат: name(1-255), 0(1))
IX - адрес где находится структура активной панели
!при запуске плагина надо вызывать GEDPL (если нужно, чтобы появился основной тхт экран)
!т.к. при входе в плагин может быть любой экран!
!вызывать GEDPL лучше всего после анализа контента файла
!(когда убедились, что файл действительно подходит)
По выходу из плагина:
A=0 - просто выход
A=1 - файл не опознан, пусть забирают вьюверы/другой плагин
A=2 - перейти на следующий файл в каталоге
A=3 - перечитать каталог (не доступно из плагинов запущенных по таймеру)
------------------------------------------------------
Plug-in Header (512b):
Offset¦Len.¦Description
------+----+---------------------------
+0¦ 16¦reserved
------+----+---------------------------
+16¦ 16¦"WildCommanderMDL"
------+----+---------------------------
+32¦ 1¦Версия формата (#07)
------+----+---------------------------
+33¦ 1¦reserved
------+----+---------------------------
+34¦ 1¦Количество страниц
¦ ¦(которое будет выделено
¦ ¦плагину, в этой области
¦ ¦хранится сам плагин.)
¦ ¦часть страниц может быть
¦ ¦задействована исключительно
¦ ¦под буфер, который не будет
¦ ¦никем трогаться, даже после
¦ ¦выхода из плагина!
¦ ¦соотв. тут можно хранить
¦ ¦данные, которые могут
¦ ¦потребоваться при следующем
¦ ¦запуске плагина...
------+----+---------------------------
+35¦ 1¦номер страницы, которая
¦ ¦будет включаться в #8000!
¦ ¦(из области заданной в +34)
¦ ¦нумерация начинается от 0!
------+----+---------------------------
+36¦ 2*6¦+0 - Номер страницы [от 0]
¦ ¦ (из области заданной
¦ ¦ в +34(1))
¦ ¦+1 - Размер блока (x512b)
¦ ¦ (данные блоки лежат
¦ ¦ следом за заголовком
¦ ¦ плагина)
------+----+---------------------------
+48¦ 2*8¦reserved
------+----+---------------------------
+64¦3*32¦блок расширений
¦ ¦"TXT", "WRD" и т.д.
------+----+---------------------------
+160¦ 1¦#00
------+----+---------------------------
+161¦ 4¦максимальный размер файла
¦ ¦(определяет, какие файлы
¦ ¦не нужно передавать)
------+----+---------------------------
+165¦ 32¦Имя плагина
------+----+---------------------------
+197¦ 1¦Тип условий при которых
¦ ¦должен вызываться плагин
------+----+---------------------------
+198¦ 6¦при +197(1)=#14:
¦ ¦содержит текст, который
¦ ¦будет выведен напротив
¦ ¦подсказки F4 ("Edit ")
------+----+---------------------------
+204¦ 308¦reserved
------+----+---------------------------
Условия вызова плагина (+197(1)):
#00 - только по расширению
#01 - сразу после загрузки плагина (только при загрузке по ENTER!)
#02 - по таймеру скринсейвера и из меню
#03 - из меню запуска
#14 - по F4
так же все плагины вызываются по расширению, если таковые указаны!
блок расширений можно забить нулями, когда не нужна инициация по расширениям.
------------------------------------------------------
Structure of Window (SOW):
Offset¦Len.¦Description
------+----+-------------------------
+0¦ 1¦0 - стандартное окно
¦ ¦1 - окно с заголовками и
¦ ¦ текстом
¦ ¦ (но без курсора)
¦ ¦2 - с курсором
------+----+-------------------------
+1¦ 1¦маска цвета курсора
------+----+-------------------------
+2¦ 1¦позиция окна X
+3¦ 1¦позиция окна Y
------+----+-------------------------
+4¦ 1¦ширина окна (Width)
+5¦ 1¦высота окна (Height)
¦ ¦ 0 = во весь экран
¦ ¦(0 заменяется на актуальное значение!)
------+----+-------------------------
+6¦ 1¦цвет окна (Paper+Ink)
------+----+-------------------------
+7¦ 1¦reserved (always=0!)
------+----+-------------------------
+8¦ 2¦адрес буфера, где лежит
¦ ¦информация из под окна
¦ ¦ #FFFF=при выводе окна
¦ ¦ буфер не используется!
¦ ¦ #0000=окно не выведено
------+----+-------------------------
+10¦ 1¦линия разделитель 1
+11¦ 1¦линия разделитель 2
¦ ¦если !=0 то выводим оную.
¦ ¦значение задает смещение
¦ ¦по вертикали с низу!
------+----+-------------------------
-------------------------------------
+12¦ 1¦позиция курсора в окне (от 1)
+13¦ 1¦нижний ограничитель
------+----+-------------------------
+14¦ 1¦цвет курсора (накладывается по маске из +1(1))
+15¦ 1¦цвет окна под курсором
------+----+-------------------------
для +0(1)=1:
-------------------------------------
+12¦ 2¦адрес строки для верхнего заголовка окна
------+----+-------------------------
+14¦ 2¦адрес строки для нижнего заголовка окна
------+----+-------------------------
+16¦ 2¦адрес строки/абзаца для вывода в окно
------+----+-------------------------
для +0(1)=2:
-------------------------------------
+16¦ 2¦адрес строки для верхнего заголовка окна
------+----+-------------------------
+18¦ 2¦адрес строки для нижнего заголовка окна
------+----+-------------------------
+20¦ 2¦адрес строки/абзаца для вывода в окно
------+----+-------------------------
Структура текстовой разметки (для функций TXTPR, MEZZ, PRWOW):
#FE,XXXX - линковка на строку, абзацы линковать бесполезно
#00 - конец строки и абзаца
#00,#00 - разделитель между сообщениями (только для MEZZ)
так же может быть разделителем и концом строки/абзаца одновременно!
#0B,XX - сдвиг вправо на XX символов
#0C,YY - сдвиг вниз на YY строк (не трогает цвета и X)
#0D - перенос строки, изменяет цвет текста на фоновый
#0E - центрирование строки, текущая позиция X сбрасывается!
(не работает если строка >= ширины окна, либо если есть линковка)
#09 - инверсия цвета (меняет папер и инк местами)
#01-08 цветовые коды, задается цвет для чернил
(1 - синий, 7 - белый, 8 - черный)
#01-#08,#01-#08 задание цветов папер+инк
(1 -черный, 8 - белый)
в случае, когда цвет чернил и бумаги одинаковый, то
выставляется фоновый папер с ярким инком!
(при этом: 1,1 - ярко синий, 7,7 - ярко белый)
Initialisations:
------------------------------------------------------
86¦INT_PL
¦i:A'
¦ #00 - disable all INT functions, while plugin running
¦ #01 - отключить обновление времени на TXT-экране
¦ #02 - отключить опрос PS/2 клавиатуры на прерываниях
¦
¦ #FF - включение и инициализация обработчика INT от плагина
¦ i:HL - адрес обработчика в плагине (#8000-#BFFE)
¦
¦по выходу из плагина все параметры восстанавливаются!
--+---------------------------------------------------
Main Functions:
------------------------------------------------------
0¦MNGC_PL
¦включение страницы на #C000 (из выделенного блока)
¦нумерация совпадает с использующейся в +36
¦i:A' - номер страницы (от 0)
¦ #FF - страница с фонтом (1го текстового экрана)
¦ #FE - первый текстовый экран (в нём панели)
--+---------------------------------------------------
78¦MNG0_PL
¦включение страницы на #0000 (из выделенного блока)
¦i:A' - номер страницы (от 0)
¦не влияет на работу FAT драйвера, НО все структуры
¦которые будут подаваться файловым функциям, должны
¦лежать в адресах #8000-#FFFF!
--+---------------------------------------------------
79¦MNG8_PL
¦включение страницы на #8000 (из выделенного блока)
¦i:A' - номер страницы (от 0)
--+---------------------------------------------------
1¦PRWOW
¦вывод окна на экран
¦(включает основной ТХТ экран в #C000)
¦i:IX - адрес по которому лежит структура окна (SOW)
--+---------------------------------------------------
2¦RRESB
¦стирание окна (восстановление информации)
¦(включает основной ТХТ экран в #C000)
¦i:IX - SOW
--+---------------------------------------------------
3¦PRSRW
¦(включает основной ТХТ экран в #C000)
¦печать строки в окне
¦i:IX - SOW
¦ HL - Text addres (должен быть в #8000-#BFFF!)
¦ D - Y
¦ E - X
¦ BC - Lenght
--+---------------------------------------------------
4¦PRIAT
¦выставление цвета (вызывается сразу после PRSRW)
¦i:PRSRW - выставленные координаты и длина
¦ A' - цвет
--+---------------------------------------------------
5¦GADRW
¦получение адреса в окне
¦(включает основной ТХТ экран в #C000)
¦i:IX - SOW
¦ D - Y
¦ E - X
¦o:HL - Address
--+---------------------------------------------------
6¦CURSOR
¦печать курсора
¦i:IX - SOW
--+---------------------------------------------------
7¦CURSER
¦стирание курсора (восстановление цвета)
¦i:IX - SOW
--+---------------------------------------------------
8¦YN
¦меню ok/cancel
¦i:A'
¦ #01 - инициализация (вычисляет координаты)
¦ #00 - обработка нажатий (вызывать раз в фрейм)
¦ #FF - выход
¦ o:NZ - выбран CANCEL
¦ Z - выбран OK
--+---------------------------------------------------
9¦ISTR
¦редактирование строки, вывод индикации, опрос состояний
¦i:A'
¦ #FF - инициализация, тип 0 (рисует курсор)
¦ i:HL - адрес строки (на экране)
¦ DE - CURMAX+CURNOW (длина строки
¦ + начальная позиция курсора в ней)
¦ #00 - опрос клавиатуры
¦ [опрашивает LF,RG,BackSpace,Delete,Insert,]
¦ [ctrl+shift... ]
¦ [собственно редактируется строка,]
¦ [нужно вызывать каждый фрейм ]
¦ #01 - выход (стирает курсор)
¦ o:HL - адрес строки
¦
¦ #FD - инициализация, тип 2 (рисует курсор)
¦ i:HL - адрес строки (буфер)
¦ HL'- размер буфера
¦ D - Y внутри окна
¦ E - X внутри окна
¦ BC - CURMAX+CURNOW
¦ (размер окна вывода + позиц. курсора)
¦ #02 - вывод на экран блока из буфера с курсором
¦ (вызывать каждый фрейм, вместе с #00 и #03)
¦
¦ #FE - инициализация индикации
¦ (INS/OVR + ENG/RUS + CAPS)
¦ i: H - 0:выводить в верхнем заголовке окна
¦ 1:выводить в нижнем заголовке окна
¦ L - reserved (#FF)
¦ #03 - обновление индикаторов (вывод)
¦
¦ #FC - опрос CAPS, INS, CTRL+SHIFT
¦ изменяет соотв. состояния, вызывать каждое
¦ прерывание.
¦ i:none
¦ o: A - состояния
¦ [7]: %0 - INS
¦ %1 - OVR
¦ [6]: %0 - CAPS off
¦ %1 - CAPS on
¦ [5-2]:reserved
¦ [1-0]:%00 - ENG
¦ %01 - RUS
¦ %10 - reserved
¦ %11 - reserved
¦
¦после инициализации тип 0:
¦можно вызывать только #00, #01, а так же #FE+#03!
¦
¦после инициализации тип 2:
¦нужно вызывать #00 и #02 каждый фрейм
¦в #00 идет редактирование буфера и вывод курсора, а
¦по #02 идет вывод на экран текста, в область задан-
¦ную координатами XY и шириной=CURMAX.
¦так же можно вызывать #FE+#03
¦
¦недопустимо одновременно вызывать #00 и #FC!!!
--+---------------------------------------------------
10¦NORK
¦перевод байта в HEX (текстовый формат)
¦i:HL - Text Address
¦ A - Value
--+---------------------------------------------------
11¦TXTPR
¦вывод текста в окне
¦i:IX - SOW
¦ HL - адрес текста (строки/абзаца)
¦ D - Y (внутри окна)
¦ E - X (внутри окна)
¦
¦o: D - Y (след строка)
¦ E - X (без изменений)
--+---------------------------------------------------
12¦MEZZ
¦вывод сообщения в окне
¦i:IX - SOW
¦ A - номер сообщения/абзаца
¦ HL - адрес текстового блока с сообщениями
¦ D - Y (внутри окна)
¦ E - X (внутри окна)
¦
¦o: D - Y (след строка)
¦ E - X (без изменений)
--+---------------------------------------------------
84¦SCRLWOW
¦сдвинуть содержимое области в окне
¦i: D - Y
¦ E - X
¦ B - Height
¦ C - Width
¦ A'- [7]:%1 - with attributes
¦ %0 - chars only
¦ [6]:%1 - clear source side (after scroll)
¦ %0 - don't clear
¦ [5-2]:%0000 - 1 char step
¦ %1111 - 16 chars step
¦ [1-0]:%00 - scroll down
¦ %01 - up
¦ %10 - right (disabled)
¦ %11 - left (disabled)
¦
¦если координаты области и её размер позволяют использовать
¦DMA, то пересылка будет идти через неё.
¦также биты [7-2] должны быть в нуле!!!
--+---------------------------------------------------
13¦DMAPL
¦работа с DMA
¦i: A' - тип операции
¦#00 - инит S и D (BHL - Source, CDE - Destination)
¦#01 - инит S (BHL)
¦#02 - инит D (CDE)
¦#03 - инит S с пагой из окна (HL, B - 0-3 [номер окна])
¦#04 - инит D с пагой из окна (HL, B - 0-3 [номер окна])
¦#05 - выставление DMA_T (B - кол-во бёрстов)
¦#06 - выставление DMA_N (B - размер бёрста)
¦
¦#07 - выставить DMA_T+DMA_N (B - кол-во бёрстов, C - размер)
¦#08 - выставить SourceAlign (C - 0/1 off/on)
¦#09 - выставить DestinationAlign (C - 0/1 off/on)
¦#0A - выставить AlignSize (C - 0/1 16c/256c)
¦#0B - выставить AlignSize+Source+Destination
¦ i:E=0/1 (16c/256c Align)
¦ H=0/1 (off/on SourceAlign)
¦ L=0/1 (off/on DestinationAlign)
¦
¦#FC - запуск DMA RAM->RAM
¦#FB - запуск DMA BLT->RAM
¦#FA - запуск DMA FILL
¦#F9 - запуск DMA RAM->CRAM
¦#F8 - запуск DMA RAM->SFILE
¦
¦#FD - запуск DMA RAM->RAM без ожидания завершения (Align=0!)
¦#FE - запуск DMA RAM->RAM с ожиданием завершения (Align=0!)
¦#FF - ожидание готовности дма
¦
¦в функциях #00-#02 формат B/C следующий:
¦ [7]:%1 - выбор страницы из блока выделенного плагину (0-5)
¦ %0 - выбор страницы из видео буферов (0-63)
¦ [6-0]:номер страницы
--+---------------------------------------------------
14¦TURBOPL
¦i:B - выбор Z80/AY
¦ #00 - меняется частота Z80
¦ i:C - %00 - 3.5 MHz
¦ %01 - 7 MHz
¦ %10 - 14 MHz
¦ %11 - 28 MHz (в данный момент 14MHz)
¦ #01 - меняется частота AY
¦ i:C - %00 - 1.75 MHz
¦ %01 - 1.7733 MHz
¦ %10 - 3.5 MHz
¦ %11 - 3.546 MHz
--+---------------------------------------------------
15¦GEDPL
¦восстановление паллитры, всех оффсетов и txt режима
¦ !обязательно вызывать при запуске плагина!
¦ (включает основной txt экран)
¦i:none
--+---------------------------------------------------
Keyboard:
если возвращает NZ, то клавиша нажата.
------------------------------------------------------
16¦SPKE (SPACE)
--+---------------------------------------------------
17¦UPPP (UP Arrow)
--+---------------------------------------------------
18¦DWWW (Down Arrow)
--+---------------------------------------------------
19¦LFFF (Left Arrow)
--+---------------------------------------------------
20¦RGGG (Right Arrow)
--+---------------------------------------------------
21¦TABK (Tab)
--+---------------------------------------------------
22¦ENKE (Enter)
--+---------------------------------------------------
23¦ESC
--+---------------------------------------------------
24¦BSPC (Backspace)
--+---------------------------------------------------
25¦PGU (pgUP)
--+---------------------------------------------------
26¦PGD (pgDN)
--+---------------------------------------------------
27¦HOME
--+---------------------------------------------------
28¦END
--+---------------------------------------------------
29¦F1
--+---------------------------------------------------
30¦F2
--+---------------------------------------------------
31¦F3
--+---------------------------------------------------
32¦F4
--+---------------------------------------------------
33¦F5
--+---------------------------------------------------
34¦F6
--+---------------------------------------------------
35¦F7
--+---------------------------------------------------
36¦F8
--+---------------------------------------------------
37¦F9
--+---------------------------------------------------
38¦F10
--+---------------------------------------------------
39¦ALT (не трогает авторепиты)
--+---------------------------------------------------
40¦SHIFT (не трогает авторепиты)
--+---------------------------------------------------
41¦CTRL (не трогает авторепиты)
--+---------------------------------------------------
42¦KBSCN
¦опрос клавиш
¦i:A' - обработчик
¦ #00 - учитывает SHIFT, CL, а так же ENG/RUS
¦ (можно вызывать только 1 раз в фрейм)
¦ #01 - всегда выдает код из TAIE1
¦ (можно вызывать несколько раз за фрейм)
¦
¦!KBSCN нужно вызывать до вызова опроса SHIFT и CTRL
¦
¦o: NZ: A - TAIE1/TAIE2/TAIR1/TAIR2 (see PS2P.ASM)
¦ Z: A=#00 - unknown key (also no chars)
¦ A=#FF - buffer end (impossibru!)
--+---------------------------------------------------
43¦DEL (Delete)
--+---------------------------------------------------
85¦INS (Insert)
--+---------------------------------------------------
44¦CAPS (Caps Lock)
--+---------------------------------------------------
45¦ANYK (any key)
--+---------------------------------------------------
46¦USPO
--+---------------------------------------------------
47¦NUSP (waiting for any key)
--+---------------------------------------------------
File Operations:
------------------------------------------------------
48¦LOAD512
¦потоковая загрузка файла
¦i:HL - Address
¦ B - Blocks (512b)
¦o:HL - New Value
¦ A - EndOfChain (#0F)
--+---------------------------------------------------
49¦SAVE512
¦потоковая запись файла
¦i:HL - Address
¦ B - Blocks (512b)
¦o:HL - New Value
¦ A - EndOfChain (#0F)
--+---------------------------------------------------
50¦GIPAGPL
¦позиционировать на начало файла
¦(сразу после запуска плагина оная уже вызвана)
--+---------------------------------------------------
51¦TENTRY
¦получить ENTRY(32) из коммандера
¦(структура как в каталоге FAT32)
¦i: DE - Address
¦o:DE(32) - ENTRY
--+---------------------------------------------------
52¦CHTOSEP
¦разложение цепочки активного файла в сектора
¦i:DE - BUFFER (куда кидать номера секторов)
¦ BC - BUFFER END (=BUFFER+BUFFERlenght)
--+---------------------------------------------------
53¦TENTRYN
--+---------------------------------------------------
54¦TMRKDFL
¦получить заголовок маркированного файла
¦i:IX - Active panel!!!
¦ HL - File number (1-2047)
¦ DE - Address [#8000-#BFFF!]
¦ (if HL=0; o:BC - count of marked files)
¦
¦o:NZ - File not found or other error
¦ Z - File name received ("name.ext",0)
¦ [так же делается позиционирование на начало
¦ [этого файла, если bit 7,H не в 1!!!
¦ [соотв. функции LOAD512/SAVE512 будут читать/
¦ [писать этот файл от начала.
--+---------------------------------------------------
55¦TMRKNXT
--+---------------------------------------------------
56¦
--+---------------------------------------------------
57¦STREAM
¦работа с потоками
¦i:D - #FF: сделать активным root dir
¦ (более никаких параметров не учитывает)
¦
¦ #FE: клонировать поток из активной панели
¦ в потоки #01 и #02.
¦ Автоматически делается активным поток #01
¦ (никаких других параметров не учитывает)
¦
¦ #00/#01: номер потока, требует BC.
¦ i:B - устройство
¦ (0-SD(ZC),1-NemoMaster,2-NemoSlave)
¦ (4-SmucMaster,5-SmucSlave)
¦ C - раздел (не учитывается)
¦ BC=#FFFF: включает поток из D (не возвращает флагов)
¦BC<>#FFFF: создает/пересоздает поток.
¦
¦o:NZ - устройство или раздел не найдены
¦ Z - можно начинать работать с потоком
--+---------------------------------------------------
58¦FindNext
¦получение очередного имени файла/каталога
¦(сбрасывается после GDIR)
¦i:DE - Address
¦ A - [7]:%1 - only short names
¦ [6-5]:reserved
¦ [4]:%1 - enable created time field
¦ [3]:%1 - enable created date field
¦ [2]:%1 - enable size field
¦ [1-0]:%00 find next Entry
¦ %01 find next File
¦ %10 find next DIR
¦ %11 reserved
¦
¦o: Z - End Of Dir
¦ NZ - Buffer updated
¦ DE - [size(4)],
¦ [date(2)],
¦ [time(2)],
¦ flag(1),Entry Name(1-255),0
--+---------------------------------------------------
59¦FENTRY
¦поиск файла/каталога в активной директории
¦(так же можно подавать путь к файлу/каталогу)
¦i:HL - flag(1),name/path(1-255/1-XXX),#00
¦flag:#00 - file
¦ #10 - dir
¦name:"name.txt","directory"...
¦
¦o: Z - entry not found
¦ NZ - [DE,HL] - file length
¦ CALL GFILE/GDIR for activating file/dir
--+---------------------------------------------------
60¦LOAD256
¦функция используется видео плеером
--+---------------------------------------------------
61¦LOADNONE
¦пропустить N секторов
¦(параметры те же, что и в LOAD512)
--+---------------------------------------------------
62¦GFILE
¦выставить указатель на начало найденного файла
¦(вызывается после FENTRY!)
--+---------------------------------------------------
63¦GDIR
¦сделать найденный каталог активным
¦(вызывается после FENTRY!)
--+---------------------------------------------------
72¦MKfile
¦создание файла в активном каталоге
¦i:HL - flag(1),length(4),name(1-255),#00
¦
¦o:NZ - Operation failed
¦ Z - File created
¦ o:ENTRY(32) [use TENTRY]
¦
¦[после создания файла происходит позиционирование
¦[на его начало!!!
--+---------------------------------------------------
73¦MKdir
¦создание каталога в активной директории
¦i:HL - name(1-255),#00
¦
¦o:NZ - Operation failed
¦ Z - Directory created
--+---------------------------------------------------
74¦REName
¦переименование файла/каталога
¦i:HL - flag(1),oldname(1-255),0
¦ DE - newname(1-255),0
¦
¦o: Z - not found or new name already exists
¦ NZ - success
--+---------------------------------------------------
75¦DelFl
¦удаление файла/каталога
¦i: HL - flag(1),name(1-255),#00
¦
¦o: Z - File/DIR Not Found
¦ NZ - File/DIR Deleted
--+---------------------------------------------------
Graphics:
------------------------------------------------------
64¦MNGV_PL
¦включение видео страницы
¦i:A' - номер видео страницы
¦ #00 - основной экран (тхт)
¦ [паллитра выставляется автоматом]
¦ [как и все режимы и смещения ]
¦ #01 - 1й видео буфер (16 страниц)
¦ #02 - 2й видео буфер (16 страниц)
¦ #03 - 3й видео буфер (16 страниц)
¦ #04 - 4й видео буфер (16 страниц)
--+---------------------------------------------------
65¦MNGCVPL
¦включение страницы из видео буферов на #C000
¦i:A' - номер страницы
¦ #00-#0F - страницы из 1го видео буфера
¦ #10-#1F - страницы из 2го видео буфера
¦ #20-#2F - страницы из 3го видео буфера
¦ #30-#3F - страницы из 4го видео буфера
--+---------------------------------------------------
80¦MNG0VPL
¦включение страницы из видео буферов на #0000
¦i:A' - номер страницы
¦нужно учитывать, что в адресах #2000-#7FFF находится
¦fat драйвер и ядро системы!
¦на время вызова функций, страница переключается, затем
¦всё восстанавливается как было...
¦
¦НЕДОПУСТИМО передавать какие-либо параметры, из
¦области #0000-#7FFF fat драйверу!!!
--+---------------------------------------------------
81¦MNG8VPL
¦включение страницы из видео буферов на #8000
¦i:A' - номер страницы
--+---------------------------------------------------
66¦GVmod
¦включение видео режима (разрешение+тип)
¦i:A' - видео режим
¦ [7-6]:%00 - 256x192
¦ %01 - 320x200
¦ %10 - 320x240
¦ %11 - 360x288
¦ [5]:%x - nogfx
¦ [4]:%x - notsu
¦ [3]:%0 - reserved
¦ [2]:%0 - reserved
¦ [1-0]:%00 - ZX
¦ %01 - 16c
¦ %10 - 256c
¦ %11 - txt
--+---------------------------------------------------
67¦GYoff
¦выставление смещения экрана по Y
¦i:HL - Y (0-511)
--+---------------------------------------------------
68¦GXoff
¦выставление смещения экрана по X
¦i:HL - X (0-511)
--+---------------------------------------------------
69¦GVtm
¦выставление страницы для TileMap
¦i:C - номер страницы из видео буфера (0-63)
--+---------------------------------------------------
70¦GVtl
¦выставление страницы для TileGraphics
¦i:B - номер тайло-плоскости (0-1)
¦ C - номер страницы из видео буфера (0-63)
--+--------------------------------------------------
71¦GVsgp
¦выставление страницы для SpriteGraphics
¦i:C - номер страницы из видео буфера (0-63)
--+---------------------------------------------------