Тема: dos33c2
Привет!
Накопился большой пакет обнаруженных проблем по dos33c2 и как раз сейчас есть компактная возможность их подправить.
Здесь будет немного информации об этом. Сейчас готовится версия 2.09. Где-то, к концу месяца, надеюсь, она возникнет.
В основном это исправление ошибок и мелкие правки-дополнения-изменения в разных местах.
Фундаментально ничего не меняется.
Более-менее крупные дополнения:
1) Просмотрщик документов редактора "Диалект". Таких документов не много и он как-то выпал из моего поля зрения. Но добавить его не очень сложно, так что пусть будет.
2) Просмотр файлов в видеоформате T40 - это эпловское, но пусть будет.
3) Импорт и экспорт текстовых файлов из/в UTF-16 и UTF-8. Это дополнительная функция для всех целевых систем, где работает dos33c2.
4) Поддержка расширения "VR" для графических файлов (файлов видеопамяти).
Текущий History:
2009:
1.999 Выпущена впервые
1.9999 Ошибка в импорте B-файлов
Мелкая ошибка в декодере Бейсика
Ошибка в записи крупных файлов ( > $7A блоков )
Ошибки в режимах доступа к файлом
Ошибки в палитре 4-х цветных рисунков (256x256x4) и цветном текстовом режиме (32x32x8)
Перечитывание панелей после вызова файл-менеджера
Увеличен буфер текста
Мелкая ошибка в сравнении текстовых файлов
Добавлено сообщение "буфер вьювера переполнен" (вместо runerror)
Добавлено подтверждение удаления, если среда == HostFS
Иногда не сохранялись изменения после hex-редактора
Проверка наличия среды перед чтением каталога, поиск следующей при отсутствии
Ошибка палитры в Picler-файлах
2.0 Экран hex-редактора не обновляется при движении курсора (если не нужен сдвиг и выключен режим выделения)
Добавлено: Ctrl-T - просмотр Д-файлов ТОР
Добавлено: Ctrl-Y - просмотр И-файлов TED
Мелкая ошибка в aim_800-декодере (приводила к зависанию иногда)
Ошибка в сравнении образов: "нет отличий.." выводилось в случае, если в одном из образов был сбой в чтении сектора, а в другом (на этом же адресе) - нет
Ошибка в просмотрщиках текстов приводила к обрезке строк по 255-й символ
2.01 Критическая ошибка: в некоторых случаях можно было удалить непустой BTK-каталог (при групповом удалении)
2010:
2.02 Ошибка в кодировщике символов win -> agat
Глюк в обновлении экрана в HEX-редакторе/вьювере
Добавлено "заполнение выделения нулями" в HEX-редакторе и "создание T/S-пары"
Глюк в установке выбранной области в HEX-редакторе/вьювере
2.03 Некоторые исправления для совместимости с Linux
Чтение текстов Word Master
2012:
2.04 В *nix версии файловый менеджер теперь вызывается с передачей путей для обоих панелей
Исправлена ошибка: "Информация об объекте" неправильно сообщала о файлах-образах
ФРГ mousegraf определяется по более мягким критериям
Небольшие изменения (mwrite.AnsiString -> String), которые, возможно, избавят от некоторых тормозов
Файлы Picler опознаются по более мягким критерями
Не всегда работали комбинации Ctrl- с буквой под Windows
Добавлена функция расширения каталога по запросу пользователя (не при записи файлов)
Добавлена возможность выбора группы секторов на карте диска и некоторые операции над выбранной группой
Текстовый просмотрщик неправильно выбирал цвет верхней строки (а иногда и других)
Исправлена справка HEX-редактора
Небольшие изменения в AIM-декодере
Автоопределение файлов редактора ТОР
Ошибка в списке поддерживаемых форматов ("Предполагаемый формат:")
Не заполнялось поле "тип среды" для записей каталога при чтении образов
Просмотр текстовых файлов Apple ][
2.05 Ошибка в процедурах восстановления удалённых файлов могла приводить к падению программы, если файловая система была повреждена
Мелкое дополнение в декодере Basic-программ
Теперь "очистка среды" обнуляет также последние неиспользуемые записи в последнем используемом секторе каталога
Пара ошибок в AIM-декодере
Добавлен просмотрщик программ Apple Integer Basic
Ошибка в проверке на зацикленность каталога
Подправлена и улучшена схема начальных путевых имён панелей (чтобы при взаимных переходах между dos33 и файловым менеджером пути сохранялись)
Мелкая ошибка в Basic-декодере (вылет, если объявленный размер программы < 2 байт).
Добавлены структурирующие отступы в Basic-декодер (после IF и FOR)
2013:
2.06 Добавлено заполнение константой в HEX-редакторе сразу всего ближайшего блока/сектора
Небольшая ошибка в сравнивалке текстовых файлов (если последняя строка не была закрыта 8D, она не учитывалась в сравнении)
? в винде правильно сделан подъём графического окна ?
2014:
Поддержка несжатых файлов редактора "Документ"
Добавлена функция "восстановить файлы из всех брошенных TSL" - 'R' (в редакторе образа)
2015:
Небольшая ошибка в декодере nib140 (падала, если в секторе были GCR-ошибки)
2.07 Добавлен механизм переключения палитр в графическом просмотрщике (была только цветная, теперь есть ещё полутон)
Добавлен просмотр эпловской графики Lo-Res и Double Hi-Res Color/Mono (вся эпловская графика - только в B-файлах)
При переходах между host-каталогами и входами/выходами в/из образов не вызывается перечитывание противоположной панели.
Это уменьшает число повторых сообщений об ошибках противоположной панели.
Полное перечитывание панелей происходит только при переходах в BTK-подкаталоги (так как такой переход модифицирует образ).
Переписана механника вывода картинки в винде. Добавлено сохранение BMP-шки там же.
2018:
2.08 При просмотре бейсик-программ различаются русские буквы, они выводятся своим цветом
При просмотре бейсик-программ "NEXT x,y" уменьшает отступы соответственно числу переменных
Увеличен максимальный размер длинных переменных в Basic-распаковщике
Изменил адреса загрузки в процедуре импорта B- и К- файлов (было $1800, стало $2800 для К и $1900 для B).
Добавил выбор шрифта при просмотре текстов в формате видеопамяти
Добавил просмотрщик П-файлов
Если свободного пространства на HostOS сильно много, при выводе оно чуточку уменьшается (до High(LongInt))
2019:
Просмотр в формате видеопамяти для текстовых режимов урезан до матрицы 7x8 (вместо 8x8)
Исправлена странная ошибка в бейсик-декодере. Зачем-то я оставил закомментированной одну нужную строку в исходнике
Исправлена мелкая ошибка в бейсик-декодере Integer Basic'a: он падал при некоторых повреждениях бейсик-программы
Добавлено предупреждение в бейсик-декодере: "Таблицы длинных переменных попадает на текст программы !"
Мелкие правки для совместимости с Linux
2024:
2.09 Изменён критерий зацикленности каталога - проверка стала более быстрой.
Зацикленность каталога проверяется также при очистке среды - это позволило избавиться от зависаний процедуры очистки.
В блоке информации о выбранном объекте:
- "Тип файла" теперь, помимо буквы, содержит численное значение поля lock&type, фактически хранимое в каталоге.
- "Скрытый" - добавлен комментарий "(ALV DOS)" (это поле влияет на поведение команды CATALOG только в этой ОС).
- "Агат-имя" дублируется в hex, причём непечатаемые символы будут помечатся красным цветом.
Важно: для разных hostOS, в которых работает dos33c2, список непечатаемых символов различается.
То же имеет место и для агатовских ОС (например: Школьница имеет больше непечатаемых символов, чем DOS).
В процедуры конвертации кодировок агат<->hostOS добавлены буквы ё и Ё.
Теперь эти буквы должны поддеживаться во всех операциях dos33c2 и под всеми целевыми системами.
При сравнении двух файлов автовыбор процедуры сравнения анализировал тип только одного из файлов,
а должен был смотреть типы обеих файлов.
В экcпорт бейсик-программ теперь не добавляется список длинных переменных.
Если этот список всё таки нужно вывести в файл, можно сохранить его из вьювера ("просмотр", затем "сохранить").
Добавлена предварительная очистка буфера файла при выполнении двух операций:
- При импорте текстового или двоичного файла в FIL или DSK;
- При чтении FIL-файла (возможно, для дальнейшей просмотра, записи в DSK или экспорта).
Это приводит к тому, что при округлении размера файла до полного сектора добивка будет всегда содержать нулевые байты.
! тут сразу ошибка: на уникодовый импорт это почему-то не повлияло !
В hex-редакторе сделаны две-три важные правки:
- Подсказка по используемым клавишам разделена на три фрагмента:
отдельно по readonly-режиму, отдельно по hex-редактору и по всем остальным клавишам.
- В не-hex-режиме теперь не работают функции, вызываемые буквенными клавишами (символы 'zxZX[]{}' просто вводятся как текст);
- В hex-режиме цифры A-F можно вводить в любом регистре (полезно для copy/paste из других программ).
В карте диска все трек-секторные пары теперь, помимо десятичной системы, выводятся также в hex.
"FIL-файл" переименован в "FIL-контейнер". Для большей точности отображения его сути.
Поддержка формата редактора "Диалект". Это работает, однако: "Диалект" предполагает для каждого текста
ссылку на файл шрифта и шрифты эти весьма вольготные, вплоть до хитрых кодировок.
Так что входящий в поставку редактора файл "Реклама" просматривается в dos33c2 довольно коряво.
Хотя все остальные файлы выглядят более-менее неплохо.
Экранирование ошибок обращения к файлам HostOS: это когда прога не падает,
а только выводит сообщение об ошибке доступа к какому-нибудь файлу (существующему или вновь создаваемому).
На первый взгляд это касается, в основном, экспорта и импорта.
Но, на самом деле, доработка коснулась примерно 15 ситуаций доступа к файлам.
Это - мелкое изменение, но затрагивает оно много разных частей кода - из-за чего долго откладывалось.
В просмотрщике графики:
- Добавлен режим Apple ][ Text 40 x 24.
- Для режима Агат Text 32 x 32 добавлена поддержка бита Y (яркость).
Функции экспорта и импорта агатовских текстовых файлов в уникод (отдельный раздел в меню).
При сохранении первого после запуска проги .bmp-файла в графпросмотрщике, его имя синтезируется не полностью.
Это имеет место только в Windows версии.
(В ДОС-версии алгоритм генерации уникальных имён попроще и потупее, а в *NIX его вообще нет.)
2.10 После переключения некоторых параметров отображения картинки в графвьювере переставала меняться палитра.
Некоторые режимы Apple-графики рисовались с агатовской палитрой.
(тут не совсем ошибка: эпловские режимы, которые умеет рисовать Агат, с точки зрения dos33c2 являются агатовскими...)
Перетасованы палитры. Агатовские режимы - с агатовскими палитрами, эпловские - с эпловскими,
HiRes эпловский с любой на выбор.
Теперь в окне просмотра графики текущий режим выводится в заголовок окна. И там же теперь информация о палитре.
dos33c2.rar 382.98 kb, 54 downloads since 2024-04-24