Конвертер файлов PC <-> ORI
В связи с периодически возникающей необходимостью обмена информацией между IBM-PC и Орионом, пришлось написать программу для конвертации файлов в *.ORI и обратно.
Версию для Windows cкачать можно тут - http://denn.ru/8bit/oriserv/oricnv.zip
Интерфейс конвертера простой и понятный:
https://forum-img.guitarplayer.ru/2024/06/09/sQrLI.png
альт. ссылка на изображение
В левой панели показано содержимое папки с писишными файлами, в правой - содержимое папки с файлами *.ORI. Папки выбираются с помощью соответствующих кнопок над панелями, пути к папкам запоминаются в INI-файле программы. После успешной конвертации, содержимое панели выходного файла автоматически обновляется. Для принудительного обновления над панелями есть кнопки "Обновить".
Конвертируемый файл выделяется мышкой в соответствующей панели, и если его конвертация возможна, то становятся активными кнопки копирования.
Все кнопки снабжены всплывающими подсказками, которые появляются при наведении на них указателя мышки.
Программа имеет два режима конвертации:
1) Прямое копирование;
2) Копирование текста.
В первом режиме побайтовая копия исходного писишного файла оформляется в ORI-контейнер, при этом в заголовке орионовского файла устанавливаются следующие значения:
- имя файла (первые 8 символов исходного имени в верхнем регистре; если исходное имя короче, то дополняется пробелами до 8, согласно формату ORDOS/SPDOS/DSDOS);
- адрес посадки = 0000h;
- длина файла = длине исходного файла;
- атрибуты = 00h;
- номер страницы ОЗУ = 00h;
- дата файла = текущей системной дате на момент конвертации (согласно формату DSDOS).
При обратном преобразовании побайтовая копия "вынимается" из ORI-контейнера и оформляется в виде писишного файла с именем исходного орионовского.
Второй режим хитрее. Дело в том, что текстовые файлы на Орионе устроены несколько иначе, чем таковые на IBM-PC. Во-первых, отличается кодировка русских букв. Во-вторых, разделитель строк на писи состоит из двух байт (0Dh, 0Ah), а на Орионе из одного (0Dh). В-третьих, на Орионе признаком конца текстового файла является байт FFh, на писи такового нет вообще. Второй режим конвертации как раз учитывает все эти три особенности и делает соответствующие преобразования (в т.ч. меняется длина выходного файла!).
Также при копирования текста в ORI-файл, у последнего устанавливается "стандартный" адрес посадки 2000h, для совместимости с текстовыми редакторами. Этому же условию должен удовлетворять конвертируемый *.ORI файл при копировании текста на писи.
При конвертации PC→ORI в первом режиме, в качестве имени выходного файла берутся первые 8 символов исходного писишного файла. Во втором режиме берутся первые пять символов (родное расширение файла отбрасывается) и добавляется расширение ".TX". При обратной конвертации в первом режиме выходной писишный файл получает такое же имя, как у исходного ORI-файла, а во втором режиме в исходном имени точки заменяются на символ нижнего подчёркивания и добавляется расширение ".txt".
Конвертация PC→ORI в первом режиме доступна для любых файлов размером 1..65535 байт (ограничение файловой системы Ориона). Конвертация PC→ORI во втором режиме доступна только для текстовых файлов (определяется по расширению), ограничения по размеру аналогичные, как в первом режиме.
П.С. программа позволяет конвертировать файлы *.BRU в писишные (на правой панели они видны в списке). Обратное преобразование не поддерживается.