А где можно скачать ? "Нортон-подобный файловый менеджер" и "Смотрелка текстов для него же. Ещё есть версии для АТМ и Профи."
Беглый поиск результата не дал :v2_dizzy_botan:
Про файлменеджер:
В 1999 - 2000 годах в фидоэху ZX.SPECTRUM кто-то залил ююками какой-то электронный журнал, в котором (в приложении) был этот нортон-подобный FM. В самом журнале была статья про него, с контактами автора. Название журнала не помню. Кажется, что-то из Харькова или около него. Возможно, KrNews или DonNews...
Однако, в журнале оказался вирус (совершенно безобидный, я его дизассемблировал), многие его удалили, найти потом было трудно. Архив ZX.SPECTRUM за 1999-05 годы у меня частично есть, надо там смотреть. Или здесь:
http://zxaaa.net/ARHIVE/fido.zip
http://www.zxaaa.net/ftp.html
С автором я переписывался, его имени не помню, надо искать старую фидобазу на болванках...
Насколько я помню, в "демоверсии" есть искусственный глюк опроса клавиатуры, из-за которого не все функции работают.
Вот здесь кое-что: 75911
FM_1_0.B - не оригинальный файл.
Исдосный софт для 512x192 я заливал или ююками или в файлэху SPECTRUM, не помню уже.
Старая версия gifview 1.2b и сейчас лежит на vtrd.in. Текущая на сегодня - 1.6. Исходники уже нашёл.
Черновики описаний:
(с) Jason 2002
Parus viewer and printer 1.6 512x192 B&W.
Parus viewer and printer 1.6 256x192 B&W.
Стартовый адрес у всех = 24000.
0. Новое.
[!] серьезно изменено
[+] добавлено
изменено или исправлено
[-] убрано
1.6
[!] Версия под 512х192 теперь не использует
стандартный экран.
[!] Загрузка pic файлов.
[!] Загрузка prn файлов.
[!] Загрузка txt файлов.
[+] Resize приличный сделал.
[+] Печать с горизонтальными 108 и 216 dpi.
1.5
[!] Буферизация печати - сильно ускоряет процесс. При
безбуферной печати страницы переключаются дважды на каждый
вывод байта. При буферизованной - дважды на вывод всего
буфера. Буфер заполняем, когда принтер принял строку и
занят печатью.
[!] Печать в файл.
[!] Теперь можно распечатать или сохранить произвольный
фрагмент картинки. Раньше можно было или текущий экран
или всю целиком.
[!] Сделал горизонтальные 144dpi.
Сначала печатаются нечётные точки в 72 dpi, потом головка
отгоняется назад, на 1/120 дюйма вперёд и печатаются
чётные точки в 72 dpi. Для фоток - самое-то.
В виндовсе 144х144 нету. А у нас есть.
[!] Перетряс конвертор. Нижней памяти ему теперь надо в два
раза меньше. И работать стал быстрее на 5%.
[!] Фоновый просмотр при загрузке и печати. Пока картинка
загружается или печатается, её можно двигать кнопками
QAOP12340. Если удерживать CapsShift (или включить
CapsLock)- просмотр становится главным процессом,
распаковщик (или печаталка) - фоновым.
Вывод на расширенный экран ускорен на 8%.
[!] Почти в два раза ускорена загрузка ч/б гифов. Если
картинка двухцветная и один из цветов - белый, то
конверсия в ч/б к ней не применяется, все небелые точки
считаются чёрными.
Ключик /c принудительно включает конвертор.
Ключик /c+ (очистка памяти) заменен на /cm+.
[!] Сделано меню выгрузки картинки, можно выбрать что и в каком
формате записывать.
Размер картинки теперь считаем на FPU, т.е. калькуляторе.
Погрешность +/- 1мм. Раньше и до сантиметра могло быть.
Ускорена загрузка ч/б PCX. Раньше буфер был 1 сектор.
Перехват дисковых ошибок доделал. Теперь оно нормально
пишет, что случилось, и спрашивает Retry/Abort. На
расширенном экране тоже. И при сохранении не вываливается
в оболочку из-за плохого сектора.
1.4
[!] В меню сделан пункт "View loaded". Он становится доступным
если в памяти найдена картинка от прошлого раза.
[!] Сделано грубое уменьшение картинки в 2 раза кнопкой R.
[!] Добавлены новые разрешения печати. В том числе "нечестные".
Включая корявое 120х144. У меня оно почему-то выглядит
лучше, чем виндовое.
[!] Загрузка SCR как в формате 6912 так и без атрибутов,
конверсия их в чанковую ч/б картинку 768х576.
[!] Загрузка PCX. Пока только черно-белых.
Исправлен вывод картинок, которые меньше экрана.
Раньше незанятая площадь экрана содержала мусор.
Вывод на расширенный экран ускорен на 40%. Ускорение
включается кнопкой 9.
1.3
[!] Сделано меню печати. Распечатать можно как текущий экран,
так и всю картинку целиком.
Разрешений три: 72x72, 120x108, 240x216 точек на дюйм.
Разрешения честные, т.е. между точками всегда одинаковое
расстояние. В отличие от корявого 120x144, как оно
реализовано в виндовсе.
Почти в два раза ускорен вывод на расширенный экран 512x192.
На обычный - тоже ускорен, не помню на сколько.
[-] На выходе неправильно переключал драйвер символьного
вывода. Иногда можно было увидеть пустые панели.
[-] От 8 до 24 точек справа и/или снизу иногда не были видны.
Мелкие багфиксы.
1.2b
[!] Ключик /in включает интерактивный режим. Галки в меню
переключаются ентером, яркость курсором или [CS+] o,p.
Ключи обрабатываются слева направо, поэтому /in должен быть
последним, все ключи после него игнорируются.
[+] Если при выгрузке скринов кончилось место - можно вставить
другой диск и продолжать выгружать на него. При ошибке
"Disk Full" - на текущий диск отписывается каталог, и при
следующей попытке сохранения подразумевается что диск
наверняка сменили.
Багфиксы. В Chick выгрузка и распечатка из неправильных
страниц делались.
Мелочи всякие.
1.1b
[!] Полностью переделан вывод на экран 256x192.
[!] Драйвер верхней памяти для Chick и Classic теперь один для
обеих систем. Chick опознается по отсутствию байта #C3 по
адресу #0010.
[!] Функции сохранения и распечатки вынесены в оверлей. Уфф...
Развязал себе руки.
[+] При старте больше интересностей сообщает. Сколько нижней
памяти свободно под строчный буфер, сколько ее может быть
свободно, и сколько он занял.
[+] Анализирует заголовок GIFа и в зависимости от его
содержимого может написать "Out of High memory". Всё таки
это гораздо лучше, чем увидеть тоже самое в конце
распаковки...
[+] Ключик /m- этот анализ отключает. Когда кончается память,
распаковка просто прекращается, и можно посмотреть то, что
в эту память влезло.
[+] Ключик /f- отключает обработку ошибок формата. Иногда
помогает, если файл кривой или недокачанный...
[+] Ключик /cm+ чистит всю страничную память перед распаковкой.
Бывает полезно, при совместном использовании с /f-.
[+] Ключик /i- отключает индикаторы.
[+] Ключик /e+ включает расширенный экран ПЕРЕД распаковкой,
а не после нее.
[+] Ключик /g+ включает GIGASCREEN и отключает моргание
экранов на прерываниях.
[+] Выгрузка .scr на альтернативную панель. Версия под
расширенный экран выгружает 512х384 монохромный
непакованный .pcx.
Обработчики ошибок нормальные.
[-] Серьезный баг в захвате нижней памяти. При просмотре
больших картинок строчный буфер наползал на дисковый кэш...
1.0b
[!] Работа с любой памятью через драйвер.
[!] Стартовый адрес 24060. Стек оттуда-же вниз.
[!] При распаковке можно видеть, сколько блоков еще осталось, и
сколько страниц памяти уже занято.
[!] Много всего.
1.0a
[!] Дата рождения 8.10.2002.
================================================== ==============
1. Информация.
Программа предназначена для просмотра изображений в
форматах GIF, SCR, PIC, PCX, PRN и TXT.
Черно-белые картинки показываются как есть, цветные конвертятся
в ч/б методом дитеринга по Флойду-Штейнбергу.
Исходная картинка может быть не более чем 256-цветной. Т.е.
поддержаны 2,4 или 8 бит на точку.
24-битная цветность не поддержана.
GIFы загружаются только неинтерлейсные
(для интерлейсных там всё есть, но делать лень).
PCXы загружаются только однослойные.
Спектрумовские экранные файлы конвертируются в ч/б битмап
768х576. Каждый цветной пиксел заменяется ч/б чанком 3х3,
яркость не учитывается, получается восемь градаций серого.
PIC файлы от редактора Picasso грузятся и показываются в цвете,
всё как положено. PIC файлы можно создавать утилиткой scr2pic.com,
которая клеит до 88 штук экранов в одну большую картинку.
PRN файлы гарантированно загружаются только собственные. От
других программ лучше не подсовывать. Собсно, просмотр PRN
делался для отладки, чтобы сэкономить время и бумагу.
Но есть и полезное свойство: можно напечатать что-то в файл с
поворотом (sideways), и загрузить получившийся PRN - будем иметь
исходную картинку, повёрнутую на 90° по часовой стрелке.
Полностью восстановить исходный растр можно только при
однопроходной печати, т.е. вертикальном разрешении 72 dpi.
Перед загрузкой текстовых файлов появится менюшка, в которой
можно указать параметры шрифта, длину строки, и что
делать со слишком длинными строками - заворачивать на следующую
строку или обрезать. Можно включить пропорциональную печать, тогда
каждая буква будет занимать ровно столько места, какова её ширина,
и горизонтальный зазор станет 1 пиксел.
Шрифт по умолчанию - 8x8.fnt, ищется в каталоге программы,
можно указать любой другой, нажав Enter на
имени шрифта.
Параметры шрифта - это высота и ширина символа в шрифте (font
size), и размеры интервалов (зазоров).
Например, при шрифте 8x8 и однопиксельных зазорах печатать будет
знакоместами 9х9. Т.е. справа и снизу каждой буквы будет добавлен
интервал в один пиксел.
Это надо для многих SVGA шрифтов, символы в которых
занимают всю отведённую им ширину, т.е. не имеют встроенного
межсимвольного интервала.
Шрифты понимаются трёх видов:
1. без заголовка (сырые, raw);
2. в формате LOTUS (до 16x16);
3. в формате Microsoft, версий 2.0 и 3.0 (до 16x32).
В первом случае размеры символа угадываются исходя из размера
файла (опознаются 8x8, 8x14, 8x16), в остальных - берутся из
самого файла.
2. Использование.
Минимальные системные требования: IS-DOS 3.5 и старше, 128
кб ОЗУ, один дисковод.
Оптимальная конфигурация: IS-DOS 98/2000, памяти побольше,
HDD.
Синтакс: gifview [ключи] [Путь][filename.gif]"
Основным является ключ /bN, где N = от 1 до 254 - граница
порога яркости. При N = 1 изображение будет светлее, при 254 -
темнее. По умолчанию = 127. Если имя файла не указано - работает
с файлом под курсором. Для интеграции в систему и запуска по
кнопке "3" надо в файл extview.txt (для запуска по Enter - в
extent.txt) добавить строчки вида:
gif:Q:UTIL\gifview /b127 /f+ /m+ /cm- /i+ /e- /g-
GIF:Q:UTIL\gifview /b127 /f+ /m+ /cm- /i+ /e- /g-
Можно и прямо из командной строки запускать.
А можно написать /in и указать всё руками.
Меню:
В меню всё в общем понятно. Пункт "View loaded [имя файла]"
можно нажать если в памяти уже есть файл. От прошлого запуска,
например. Или другая программа его туда положила.
Заголовок занимает 32 байта, формат такой
смещ длина
0 12 имяфайла.тип
12 2 ширина в точках
14 2 высота в точках
16 2 координата X
18 2 координата Y
20 2 selection X
22 2 selection Y
24 2 selection W
26 2 selection H
28 1 резерв
29 1 флаги
30 2 чексумма
Флаги:
биты 0/1
0 байты нормально/как в экране 512x192
1 selection не определён/определён
2 selection не показывать/показывать
3-6 резерв
7 чёрно-белая/цветная (есть атрибуты)
Управление:
Q,A,O,P - перемещение по картинке на 1 шаг;
1,2,3,4 - размер шага в знакоместах;
7 - таймер вкл;
8 - таймер выкл;
9 - передвинуть байты как в экране 512x192 или обратно;
0 - переход в левый верхний угол;
R - меню уменьшения.
Fast - грубое уменьшение картинки в 2 раза.
Slow [1-4] точное уменьшение, чем больше цифра,
тем светлее результат.
Картинка обрабатывается квадратами 2x2, цифра
указывает, сколько чёрных пикселов должно быть в этом
квадрате, чтобы результирующий пиксел был чёрным.
W - меню выгрузки.
H - меню печати. Драйвер *.lpr должен быть установлен.
I - меню выбора окна. Показывает координаты верхнего
левого угла, высоту и ширину окна.
Кнопки в меню:
вверх, вниз, Q,A - перемещение по пунктам;
влево, вправо - уменьшение/увеличение значения в строке;
enter - редактирование значения.
WSOP - движение по картинке не выходя из меню.
EDKL - двигают окно по картинке.
RFNM - меняют размер окна.
Пункты Screen и Whole pic выбирают текущий экран или
всю картинку.
Фрагмент, выбранный таким образом, можно распечатать или
записать на диск, с помощью соответствующих опций меню
Print и Save.
SS+A, CS+1 - выход из программы.
Таймер был нужен мне для отладочных целей, решил не убирать,
может пригодится.
Кнопка 9 работает только для экрана 512х192. Она передвигает
столбцы в строках растра - сначала все чётные, потом нечётные.
Вывод на экран станет на 50% быстрее. Повторное нажатие
передвигает столбцы обратно. Перед уменьшением, выгрузкой или
печатью столбцы будут передвинуты в обычный порядок.
Уменьшение грубое, т.е. все нечетные пикселы просто тупо
выкидываются, без учёта соседних. Не очень красиво, зато быстро.
Без турборежима картинка 3000х2000 точек уменьшается вдвое за 16
секунд.
Файлы выгружаются на альтернативную панель, с именами от
filenam1.scr до filen128.scr (или .pcx).
Меню печати
(todo) Собсно, там и без описания всё понятно.
72 x 72
144. x 144
120 x 108
120 x 144
240 x 216
Output
Range
Device
Buffering
При старте программа резервирует нижнюю память под буферы,
если ее не хватает - уменьшает дисковый кэш, если все равно не
хватает - вылетает с ошибкой Out of Low memory. Нижней памяти
программе надо 768 байт (под две палитры и дисковый буфер) плюс
некоторое количество (зависит от ширины картинки) под строчный
буфер. В страничной памяти одна страница зарезервирована под
второй экран и таблицу цепочек LZW (в драйвере himem.drv
указывается, какая именно), остальные страницы свободны.
Наличие и исправность верхней памяти не проверяется.
Программа просто щелкает страницами через точку SETPAGE
драйвера, пока не напорется на флаг CF. По окончании выводится
сообщение о доступной нижней и верхней памяти. Количество
страниц верней памяти показывается на 1 меньше чем имеется, ибо
одна страница резервируется для LZW распаковщика, как я уже
говорил. В процессе распаковки, если вдруг не хватит памяти в
страницах - программа вылетит с ошибкой Out of High memory.
Почти на все время своей работы программа отключает систему
прерываний IS-DOSа и использует собственный стек. Опрос
клавиатуры - напрямую через порты.
GIF засасывается с диска побайтово через односекторный
буфер, распаковывается, конвертируется и складывается в верхнюю
память. Объем входного файла не ограничен, хватило бы памяти для
распакованного растра... Циферки, меняющиеся в углу экрана, -
это количество секторов, оставшихся до конца файла, и количество
заполненных страниц памяти.
3. Ограничения:
Максимальный размер изображения:
По горизонтали: около 5000 точек. Если снять лишние резиденты
- то и больше влезет. В IS-DOS Chick - раза в
два больше.
По вертикали: 65536 точек. Если верхней памяти хватит.
В памяти: 4032 Кб (252 страницы).
В качестве теста скормил гляделке самое большое, что у себя
нашел - сканированную черно-белую монтажную схему контроллера
дисковода от ZXNext, лист А4 при разрешении 300 dpi.
Size: 3141 x 1990 Pixels
Disk size: 150644 Bytes
Memory size: 788048 Bytes
Турбо было включено, грузил с обычного дисковода. Общее
время загрузки и распаковки - 8 мин. 35 сек.
Долго. Я даже расстроился... потом нашел цветных картинок
всеразличных и обрадовался. При среднем разрешении от 512х384
до 800х600 среднее время распаковки составило от 15 до 60
секунд. Причем все мои заморочки с поддержкой дополнительной
памяти оказались пофиг, ибо растр почти всегда влезал в 64 Кб.
4. Верхняя память.
Работа с дополнительной памятью организована через драйвер
himem.drv. Макс. размер - 256 байт, адрес произвольный, ибо
настройщик - внутри. Если драйвера поблизости не окажется -
использоваться будут только стандартные 128 Кб. Прилагаются
следующие драйвера:
scorp256.drv Scorpion-256
scorp1m .drv Scorpion-1024
kay1m .drv KAY-1024
pent512 .drv Pentagon-512
pent1m .drv Pentagon-1024
profi1m .drv Profi-1024
Выберите нужный и просто переименуйте.
Страницы используются в таком порядке, что драйвера вполне
подходят для младших клонов. Скажем, драйвер от Профи 1024
вполне подойдет для Профи 256 и 512. Если я правильно понял
"дырявое" расположение страниц в этих компьютерах... Исходники
всех драйверов прилагаются, разбирайтесь сами.
Драйвер не должен менять ни одного регистра, кроме флагов.
Процедура INIT может менять любые регисты.
;SETPAGE вызывается для переключения страниц растра.
;в A - порядковый номер начиная с 0. CF=1 если нету такой.
;SETPAG0 включает системную страницу LZW распаковщика.
;Обычно это #17, ибо она же используется для 2-го экрана.
;SYSPAGE вызывается перед RST 16. Должна включить страницу, при
;которой ISDOS работоспособен, (0 для Classic, 8 для Chick).
;RESTPAGE вызывается после RST 16. Должна восстановить
;страницу, которая была до RST 16.
;EXT_OFF должна занулить все биты в порту(ах) расширения памяти.
;Используется при клацании экранами интерлейсного Multiscreen.
;ROM48 - аналогично EXT_OFF + включить 48-ое ПЗУ.
;INIT - вызывается после загрузки драйвера в память.
;При вызове HL содержит адрес загрузки.
5. Планы.
- сделать распечатку картинки целиком. Сделано.
- сделать выгрузку целиком. Сделано.
- PCX упаковщик доделать. Сделано.
- сделать ключик, чтобы размер дискового буфера
менять... Не, лучше буфер на всю свободную память.
Использован софт:
IS-DOS 3.5
IS-DOS 98
IS-DOS 98 Chick
Alasm 4.44
IS-ASM 2.3
Assembler 512 2.02
Dos Navigator 1.51.11
Координаты:
FIDONet: Valerij Kozhevnikoff 2:5020/4040
ZXNet: Valerij Kozhevnikoff 500:95/468.2
e-mail:
[email protected]
(С) Jason 2002
Описание tv512.com версии 1.0
Это смотрелка текста под is-dos.
Смотрит текст, дамп файла или диска и дизассемблер.
Ширина буквы любая, от 5 до 8 точек, можно переключать на ходу.
Поддерживает разные видеосистемы.
1. Pentagon 512х192 #EFF7 bit 2
2. Profi 512x240 #DFFD bit 7
3. ATM Turbo2 640x200 #FF77 bits 3,4
Режим выбирается ключом компиляции.
Кнопки такие:
курсорные - построчное перемещение по тексту
CS+3, CS+Q - страница вверх
CS+4, CS+A - страница вниз
1/SS+1 - переключение ширины буквы - 5,6,7,8 точек.
2 - вкл/вкл пропорциональной печати (если разрешена)
4 - text/dump/дизассемблер
F/CS+F,8 - циклическое переключение шрифтов
9 - вкл/вкл строки меню
SS+9 - вкл/вкл строки статуса
0 - в начало файла
SS+0 - в конец файла
D - вкл/выкл просмотра диска или файла
L - каталог диска. В каталоге: курсорные кнопки и
Enter для выбора файла, CS+1 - выбор диска.
Есть поддержка Kempston и AY мышей.
Одновременное нажатие обеих кнопок мыши вдвое понижает
горизонтальную чувствительность.
Шрифты должны лежать в одном каталоге со смотрелкой, иметь
тип .fnt и размер 2048 или 1792 байт.
2048 - полный шрифт 256 символов,
1792 - без символов с кодами 0-31.
Ширина шрифта определяется по первому символу имени, от 5 до 8.
Если не найден подходящий - загружается ближайший с меньшей шириной.