НАВИГАЦИЯ ПО ТЕМЕ:
Software
Команды ОС DSDOS
Ошибки в ОС DSDOS
Пакетная обработка команд
Сервисное меню пользователя
Оболочка ОС DSDOS
Информация по программированию в среде ОС DSDOS
Текстовый редактор «Gemini-EDIT»
Архиватор файлов «STORE»
Утилита сравнения файлов «FC»
Формат хранения файлов на IBM-PC: *.ORI
Преобразование кодировки текстовых файлов
Шифрование текстовых файлов, «PSWD$»
Смена концепта: русификация ОС DSDOS
Настройка виртуального COM-порта в эмуляторе b2m
Связь с IBM-PC по линкеру (GUI-версия)
Конвертер файлов PC <-> ORI
Виртуальный диск: работа с директориями
Буфер обмена в квазидиске, кэширование каталогов дисков
Оболочка ОС DSDOS: смена концепта (SHELL)
Инструментальный Монитор (MTOOL$)
Анализатор ТТЛ-сигналов для ПРК "Орион"
АССЕМБЛЕР DSDOS
Программирование на Ассемблере DSDOS
Драйвер расширения ExtDRV v2.7
Формат графических файлов ОС DSDOS
Просмотр графических файлов - PICVIEW$
Проигрыватель WAV-файлов для Орион-128 (Covox)
Утилита вывода параметров винчестера
Поддержка НЖМД (IDE-винчестеров) в ОС DSDOS
Измерение скорости работы накопителей
Дизассемблирование МОНИТОР-1
Архив ПО в формате ODI
Хронология релизов ОС DSDOS
DSDOS v3.71r от 05.11.2015
DSDOS v3.72r [16 бит]от 09.12.2015
Полноценный виртуальный диск на IBM-PC
DSDOS v3.77r & ORI-server v2.03 от 20.02.2016
DSDOS v3.81 от 16.06.2016
DSDOS v3.83 (+RTC) от 11.07.2016
DSDOS v3.85 от 28.12.2016
ORI-server: протокол v.3
DSDOS v3.86 от 23.01.2017
DSDOS v3.87 от 10.12.2017
DSDOS v3.88 PRO от 25.03.2018 (поддержка НЖМД)
DSDOS v3.9 от 01.01.2019
DSDOS v3.92 для Орион-128, исправления от 13.01.2019
DSDOS v3.92 для Орион-ПРО
DSDOS v3.93 для Орион-ПРО
DSDOS v3.93r для Орион-128 и DSDOS v3.94r для Орион-ПРО
Критическое обновление DSDOS: v3.94 для ОРИОН-128, v3.95 для ОРИОН-ПРО
DSDOS v3.95: Определение ОЗУ объёмом 1024 Кб (ОРИОН-128), ошибка в плате (ОРИОН-ПРО)
Hardware
ROM-диск объёмом более 64 Кб (до 1 Мб)
SuperROM-диск v2.0 (UT621024)
SROM "Lite" 1024 Kb
Гибридный электронный диск (ЭД™) v.1
Гибридный электронный диск (ЭД™) v.3
Реализация ЭД™ от Freiwind с готовой платой
Быстрый RAM-диск (RAM7) v.1
КНГМД для ОС DSDOS (М.Короткин)
Вариант реализации КНГМД М.Короткина
Прошивка МК для клавиатуры Caro (начало)
Финальная версия прошивки МК (Caro)
Порт COM1 на КР580ВВ51А / MSM82C51A-2
Печатная плата порта COM1 (от OldSpeccer)
Быстрый порт COM2 на БИС 16C550
Планы по разработке DS-Card™
Подключение ЖК-индикатора к ПРК "Орион-128"
Программатор ПЗУ Winbond W27C512
Часы реального времени на RTC КР512ВИ1
Исправление ошибки схемотехники RTC для ОРИОН-ПРО
ЦАП 12-бит стерео для Орион-128 (Covox)
ПЗУ-тест расширенного ОЗУ 512 Кб для ПРК Орион-128 рев.512
Альтернативные PS/2-клавиатура и RTC на DS1307
Беспроводное подключение виртуального диска
SD/SDHC вместо НЖМД
Адреса портов расширений
F.A.Q.
Недоступен диск B:
Неработоспособность старых версий ОС на неродных версиях Мониторов
Поддержка широкого экрана
Наладка COM-порта (OldSpeccer)
Работоспособность DSDOS на 128 Кб ОЗУ
Работоспособность DSDOS с КНГМД "Орион-сервис"
Адресация порта COM1 (ВВ51А)
Поддержка многозадачности в ОС
Вопросы, предложения (от Barsik)
К вопросу о GUI
В чём разница форматов файлов *.BRU и *.ORI ?
Проблема "народного" КНЖМД на базе порта пользователя
Проблемы подключения нестандартных НЖМД
Сбиваются показания времени и даты, плата Орион-128(УКНЦ)+ PS/2(caro)+FDD+IDE+Z80card2
Определение ОЗУ объёмом 1024 Кб
Почему детект НЖМД реализован проверкой терминирования ШД в накопителе, а не с помощью команды-запроса по IDE
Другие ресурсы
Группа ВК
ORI-сервер
__________________________________________________ __________________________________________________ ________________
Начало темы:
Доброго времени суток уважаемые орионщики и им сочувствующие
По просьбам трудящихся, в данном топике буду выкладывать свои наработки по этому замечательному ПРК.
Для начала немного предыстории. Я "заболел" Орионом сразу, как получил первый номер журнала РАДИО со схемой и описанием.
С нетерпением ждал очередной журнал, делал все доработки, руками набивал весь публикуемый софт (в т.ч. гигантские BASIC и PENX!).
Мне понравилась концепция авторской ОС ORDOS, впоследствии я написал достаточно много своих программ под неё.
Но в какой-то момент понял узкие рамки ORDOS и у меня выработалось чёткое представление чего бы хотелось в ней улучшить.
Окончательно "сложилась картинка" после публикации контроллера НГМД и прилагаемой к нему ОС SPDOS. В результате я начал работу по созданию (с нуля) собственной ОС, которая бы взяла всё лучшее от обеих ОС, а также позволила ещё больше реализовать возможности ПРК Орион в варианте с расширенным до 256 Кб ОЗУ.
От ORDOS взята базовая идеология (ROM/RAM-диски, однобуквенные команды, частично структура файлов), а от SPDOS взят формат хранения файлов на дискетах. Заодно была решена давно мучавшая меня проблема - медленный вывод символов на экран.
Новая ОС (далее - DSDOS) включает модуль обеспечивающий совместимость с программами, написанными под ORDOS (правда с некоторыми небольшими ограничениями, о которых упомяну ниже), т.о. авторский софт под ней работоспособен. DSDOS содержит полный набор процедур ввода-вывода (BIOS), т.о. родной софт, написанный под DSDOS, обходится без подпрограмм ПЗУ "Монитора".
Помимо "многообразия" неплохого авторского софта, мною создан некий набор системного и прикладного ПО, которое я по мере возможности постараюсь осветить в данной теме.
Итак, перехожу непосредственно к описанию операционной системы DSDOS.
На данный момент "устаканившейся" является версия 3.5, про неё и будет дальнейшее описание.
Образ ROM-диска с DSDOS v3.5 и базовым пакетом системного ПО можно загрузить тут - http://www.denn.ru/orion/ROM_DISK.BIN
Требования к конфигурации ПРК:
Процессор___________КР580ВМ80А (Z80 со звуком через INTE)
ОЗУ_________________256 Кб (расширенная память)
ПЗУ_________________2 Кб ("Монитор-2", используется для начальной загрузки ОС с ROM-диска)
ROM- или RAM-диск___64 Кб (в варианте RAM-диска заводится дополнительный сигнал управления с порта клавиатуры для реализации режима записи)
Опционально (и очень желательно ):
НГМД________________контроллер на КР1818ВГ93, 2 FDD, MFM, 800 Кб (по схеме из журнала РАДИО №12/1992, стр. 14-15)
*Возможна работа под эмулятором на IBM PC
Возможности DSDOS:
+ Поддержка файловой структуры (с точки зрения ПО) совместимой с ORDOS v2.x
+ Поддержка файла автозапуска (EXT$) при передаче управления ОС
+ Поддержка механизма пакетной обработки команд ОС
+ Поддержка ROM-диска объёмом до 64 Кб (формат ORDOS v2.x, диск «A:»)
+ Поддержка RAM-диска объёмом 120 Кб (2 и 3-я страницы расширенного ОЗУ, диск «B:»)
+ Поддержка двух накопителей НГМД (каждый по 800 Кб, диски «C:» и «D:»)
+ Быстрый доступ к файлам RAM-диска (при операциях чтения/записи перенос блоков с помощью инструкций push/pop)
+ Поддержка общего буфера обмена между программами (aka ClipBoard)
+ Возможность интегрирования в ОС ещё 4-х накопителей произвольного вида (диски E, F, G, H)
+ Сервисное меню пользователя (доступно в любых программах в момент опроса клавиатуры)
+ Возможность вызова программ из программ, минуя выход в систему (через сервисное меню пользователя)
+ Возможность подгрузки и сохранения данных, не выходя из программ (через сервисное меню пользователя)
+ Ускоренный вывод символов на экран (знакоместо 8x8 пикселей)
+ Поддержка цветного режима вывода символов
+ Поддержка расширенной кодировки ASCII (заглавные и строчные буквы)
+ Поддержка 32-х видов курсоров (а также в качестве курсора может быть задействован любой из 224-х символов основого знакогенератора)
+ Поддержка 32-х символов псевдографики (в т.ч. рамки, стрелки)
+ Поддержка двух рабочих экранов (основной и альтернативный)
+ Поддержка псевдооконного режима отображения
+ Максимальная совместимость с ОС ORDOS v2.x (кроме операций с произвольным доступом к файлу)
+ Размещение ОС полностью в дополнительной странице ОЗУ (кроме модуля обеспечивающего совместимость с ORDOS)
+ Занимает небольшой объём оперативной памяти (менее 32 Кб)
Загрузка операционной системы DSDOS
При начальной загрузке ОС DSDOS (при включении питания ПК, при полной перезагрузке системы или после “зависания”) на экран выводится меню выбора источника загрузки ОС, которое содержит два пункта: [ROM] [FDD]
Выбор нужного пункта осуществляется при помощи клавиш: «←», «→» и «Enter». В случае выбора пункта ”ROM” загрузка ОС производится из ROM-диска. В случае выбора пункта ”FDD” производится поиск на дисководе №0 операционной системы и при успешной попытке производится её загрузка.
После успешного прохождения начального этапа загрузки в зарезервированной системной области ОЗУ делается отметка об источнике начальной загрузки ОС, а также делается отметка о том, что была произведена "холодная" загрузка. Таким образом, последующие "горячие" перезагрузки ОС (аппаратный сброс, передача управления по адресу 0F800h) не будут приводить к выводу меню выбора источника загрузки ОС.
В процессе дальнейшей загрузки ОС из ROM-диска производится проверка на наличие и простейшая проверка на исправность всех устройств, поддерживаемых ОС DSDOS (наличие файлов на ROM-диске, расширенного ОЗУ, контроллера НГМД). При этом на экран выводится соответствующая информация:
После выполнения этапа проверки управление передаётся непосредственно ОС DSDOS.
"Горячая" перезагрузка ОС производится путём аппаратного сброса или передачей управления по адресу 0F800h. При этом производится подгрузка некоторых блоков ОС из источника, определённого при начальной "холодной" загрузке (перезагрузке) и передача управления ОС DSDOS. Если по какой-либо причине компьютер "завис", то рекомендуется произвести его перезагрузку с полным обновлением всех блоков системы (в целях исключения некорректного поведения испорченных блоков системы и, как следствие, возможной порчи информации). Для этого достаточно при нажатии на кнопку аппаратного сброса удержать клавишу «РУС/ЛАТ». Если необходимо произвести полную "холодную" перезагрузку ОС DSDOS (например, для смены источника загрузки системы), то достаточно при нажатии на кнопку аппаратного сброса удержать вместе нажатыми клавиши «Ctrl» и «Shift». Аналогичный результат можно получить при одновременном нажатии клавиш «Ctrl», «Shift» и «F4» в любой момент, когда на экране присутствует мигающий курсор.
При передаче управления ОС DSDOS происходят следующие операции:
• установка знакогенератора ПЗУ "Монитор-2" в область ОЗУ пользователя по адресу из системной переменной M_FONT;
• установка полноэкранного режима отображения символов;
• если не нажата клавиша «Shift», то поиск на RAM-диске файла EXT$ (если он есть, то его загрузка и исполнение);
• инициализация режима отображения (окраска экрана, установка текущего вида курсора и, при первом запуске очистка экрана с выводом фирменной заставки ОС DSDOS);
• передача управления программе поддержки диалога с пользователем.
После первоначальной загрузки ОС DSDOS (а иногда и в случае "зависания"), необходимо выполнить некоторые команды инициализации.
Форматирование RAM-диска
Физически не удаляет файлы с диска, в начале списка файлов записывается признак конца каталога.
Выполняется командой "F", после ввода которой следует запрос подтверждения [Y/N]:
Установка системной даты
В ОС DSDOS есть системная переменная, в которой содержится значение текущей даты. При "холодной" загрузке эта переменная содержит дату релиза ОС. Системная дата используется при файловых операциях для актуализации даты создания/изменений файлов.
Узнать текущую дату можно запуском утилиты DATE$ без параметров. Установить текущую дату можно вызвав эту же утилиту с параметрами "<день>.<месяц>.<год>". При корректном вводе параметров установленная дата будет повторно отображена:
Запуск файлового менеджера (оболочки ОС)
Для удобства работы с файлами рекомендуется включить оболочку ОС, для этого необходимо запустить файл DC$:
После запуска файлового менеджера, он создаёт на RAM-диске файл собственного автозапуска, т.о. при рестарте и выходе из программ в ОС пользователь автоматически будет попадать в оболочку:
Если по какой-то причине при выходе из программы нужно игнорировать загрузку оболочки, то необходимо удерживать клавишу «Shift». Полностью выгрузить оболочку можно выполнив команду «Q» из самой оболочки.