User Tag List

Страница 45 из 50 ПерваяПервая ... 414243444546474849 ... ПоследняяПоследняя
Показано с 441 по 450 из 494

Тема: Вектор-06Ц: Операционные системы

  1. #441

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А интересовался с конкретной целью - запустится ли VC например на Орионе. Так-то нет никаких причин делать командер несовместимым, для всех его функций стандартных вызовов CP/M вполне достаточно.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #442

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, тогда можно предположить, что для ориона есть коммандер использующий только стандартные функции cp/m, есть такой?

  3. #443

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Error404, тогда можно предположить, что для ориона есть коммандер использующий только стандартные функции cp/m, есть такой?
    Так то полно СПМ-овских начала-середины 80х. Но они либо однопанельные, либо а-ля Power. Т.е. ничего выдающегося для хотя бы конца 80х годов прошлого столетия.
    Есть двух-панельные, но сильнозависимые от драйвера консоли (набора искейп-пследовательностей, которые могут иметь расширения) но таки в остальном работающие через BDOS/BIOS.
    Когда-то у меня была коллекция, в т.ч. два вполне системно-независимых (не сильно продвинутых) наковырял я сам. Но потом в силу увлечения красивостями и ускорением от них остались только "Орион-only" версии.
    Еще есть кучка работающих прямо по аппаратуре типа Bridge Panels разного авторства.
    Зоопарк еще тот, поэтому и интересуюсь - может кто-то написал по стандартам и притом с красивостями.
    Последний раз редактировалось Error404; 25.04.2021 в 00:25.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #444

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Смутно помню общесипиэмовские коммандеры (wash, sweep, еще что-то есть), но практика показывает, что при наличии "родных" коммандеров люди в основном пользуются ими, т.к. они удобнее и выглядят более современно и красиво. Наверняка можно написать что-то вроде wash или sweep, только получше, проблема с желающими писать, да и пользоваться.

  5. #445

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собрал РДС по исходникам Виталия...
    Для начала, как всё это складывается в один COM-файл, на примере РДС 3.02:

    Скрытый текст

    Код:
    0100h +-----------------
          | rdsh
    03F0h +-----------------
          | мусор
    0400h +-----------------
          | загрузчик с КД
    0500h +-----------------
          | bdos
    1300h +-----------------
          | bios (b7h)
    24C0h +-----------------
          | шрифт
    2F00h +-----------------
          | disp
    3806h +-----------------
          | мусор
    3900h +-----------------
          | virt
    3D22h +-----------------
          | мусор
    4300h +-----------------
          | vird7
    4380h +-----------------
          | мусор
    4500h +-----------------
          | ???
    4580h +-----------------
          | ccph
    4EDAh +-----------------
          | мусор
          +-----------------
    [свернуть]
    Замечу, что загрузчик с КД и шрифты отсутствуют в исходниках, но это не беда -- их легко вытянуть из бинарника. А в остальном, исходники здорово помогают с разбором системы, пусть они даже и без комментариев.
    Вот собранный из исходников (без мусора) вариант РДС 3.02: rds302c.7z

    Ну и, как продолжение всего этого, собрал свой вариант РДС. Отличия от предыдущих версий:

    - Обращение к НЖМД выполняется в LBA-режиме, как в версии 3.03, только я немного почистил алгоритмы, убрал ставшее ненужным сохранение характеристик НЖМД.

    - Переделал формат квази-диска, теперь он полностью совпадает с форматом МДОСа, можно переключаться из одной системы в другую без форматирования, и в то же время сохранён весь функционал РДС. Сделано это методом создания файла RDS.SYS в секторах 180-195 КД, которые используются для размещения системы. Простое решение -- сектора есть, их нумерация на КД не смещена и система не может быть затёрта (пока файл RDS.SYS существует). Тут только один минус: из-за того, что обращение к этой области выполняется мимо дисковой системы, контрольные суммы секторов нарушаются, но не думаю, что это критично, можно будет как-то поправлять потом...

    - При запуске системы из COM-файла теперь на КД создаётся/перезаписывается файл COMMAND.SYS, т.е. исключена ситуация, когда выдаётся ошибка, что он не найден системой (при запуске без форматирования КД).

    - Загрузчик OS.COM также копируется на КД, но если не выполнялось форматирование, ему даётся имя RDS.COM, чтобы не затирать установленную до этого на КД систему. Если понадобится, то можно потом просто переименовать его вручную.

    - Большая часть системы сжата в архив lzsa1, для её запуска используется распаковщик ivagor, это позволило уменьшить размер файла с системой с 20 до 14 кБ.

    Новая версия РДС 3.04 в архиве с исходниками: rds304.7z

    Теперь в планах добавить в РДС поддержку двух КД...

    Эти 5 пользователя(ей) поблагодарили Improver за это полезное сообщение:

    dk_spb(19.05.2021), electroscat(19.05.2021), ivagor(19.05.2021), KTSerg(19.05.2021), svofski(19.05.2021)

  6. #446

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть еще пожелание к РДС. Недавно svofski адаптировал сталкера с ДВК и для одной из промежуточных версий нужно было много памяти в cp/m. РДС тут был одним из хороших вариантов, но мешало использование ячейки памяти 000Fh для служебных целей. Хакнул РДС (перенес 000F в 0003), тот сталкер заработал (хакнутый вариант рдс я не выкладывал). Собственно пожелание - убрать служебную ячейку из диапазона 0008-0037h, некоторые сипиэмные программы могут заменять rst группой и желательно такие программы уважить.

  7. #447

    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    1,034
    Спасибо Благодарностей отдано 
    467
    Спасибо Благодарностей получено 
    194
    Поблагодарили
    125 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо огромное!!! Это величайший вклад, теперь РДС можно сделать лучшей системой для Вектора!!!

    Круто бы было еще заставить при старте искать какой нибудь AUTOEXEC.BAT... Лично мне этого очень не хватает... И еще, ну это уже такое,... индикация процесса копирования в VC.COM. Ну и конечно, да, поддержка второго кваза... На мой взгляд, это все, что нужно поправить в этой системе, в остальном она идеальная!

  8. #448

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    убрать служебную ячейку из диапазона 0008-0037
    РДС активно использует эти ячейки, и CP/M тоже:

    Из доков...

    Как известно в ОС СР/М в этой области памяти зарезервированы следующие адреса
    0-2 - "горячий" старт ОС,
    3 - байт конфигурации,
    4 - номер текущего диска и области пользователя,
    5-7 - переход на диспетчер функций BDOS,
    38h-3Ah - переход на обработку прерывания по кадровому импульсу (в "Вектор 06Ц"),
    5Ch-7Fh - зарезервированы для БУФ файла,
    80h-0FFh - зарезервированы под область DMA.

    В РДС добавлены следующие ячейки:
    8-0Аh - переход на диспетчер функций BDOS,добавлен для короткого вызова BDOS - командой RST 1,а также зарезервирован для расширения функций BDOS.
    0Bh-0Dh - признак РДС (три байта в КОИ-8 - "РДС"),для того чтобы программа смогла определить (если надо),что она работает именно в РДС.
    0Eh - версия РДС,старшая тетрада - номер версии,младшая - номер коррекции.
    0Fh - слово включения резидентной части РДС,байт выводимый в порт 10h.В данной версии ОС,РДС находится в нулевой зоне квазидиска,соответственно слово включения будет - 20h.
    3Bh - копия порта 10h,используется при обращении к резидентной части РДС.(См. также п.8)
    3Ch - слово возврата из резидентной части РДС,после холодного старта и для полной СР/М-совместимости установлено в 23h,но может быть изменено (например,если его установить в 0,то по адресам с 0A000h по 0DFFFh
    будут находится 2 и 3 экранные плоскости).
    3Dh - коды ошибок BIOS,если при обмене с диском не было ошибок,устанавливается в 0.В основном эта ячейка предназначена для режима работы РДС номер 1.
    3Eh - номер текущего режима РДС (биты 0-6),в данной версии использутся только режимы 0 и 1,бит 7 зарезервирован для переключения режимов
    3Fh - номер режима обработки ошибок BIOS при обмене информацией с дисками.Номера 0 и 2 используются только в режиме 0 РДС,номер 1 - в любом.Номер 0 (установлен при холодном старте) - ошибки обрабатывает BIOS,вывоводится сообщение типа - "BIOS ERROR,CONTINUE ?",номер 2 - ошибки передаются
    для обработки BDOS,номер 1 - BDOS и BIOS игнорируют ошибки,их обработка поручается программе пользователя,в ячейке 3Dh - код ошибки.
    40h-5Bh - зарезервированы в режиме номер 1.
    Кроме того,в сегменте РДС (то есть в данной версии зона 0) по адресу 0А000h находятся три слова,которые содержат адреса частей РДС интересных для программиста.По адресу 0А000h - адрес начала кода BIOS,0А002h - адрес начала BIOS дисплэя (РК-консоль) и 0А004 - адрес начала знакогенератора.
    [свернуть]
    Сложно будет куда-то распихать все ячейки из этого диапазона, не ломая логику РДС и так, чтобы другие программы для РДС не перестали работать. Да и выше область памяти используется... Может проще запускать без ОС и возвращаться по БЛК-ВВОД?

    Цитата Сообщение от electroscat Посмотреть сообщение
    Круто бы было еще заставить при старте искать какой нибудь AUTOEXEC.BAT
    Да, кстати, полезная функция, надо будет посмотреть, как туда это внедрить.

    Цитата Сообщение от electroscat Посмотреть сообщение
    индикация процесса копирования в VC.COM
    Это когда очередь дойдёт до VC...

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    electroscat(19.05.2021)

  9. #449

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Как известно в ОС СР/М в этой области памяти зарезервированы следующие адреса
    0-2 - "горячий" старт ОС,
    3 - байт конфигурации,
    4 - номер текущего диска и области пользователя,
    5-7 - переход на диспетчер функций BDOS,
    38h-3Ah - переход на обработку прерывания по кадровому импульсу (в "Вектор 06Ц"),
    5Ch-7Fh - зарезервированы для БУФ файла,
    80h-0FFh - зарезервированы под область DMA.
    Возможно я поторопился перенести в 0003, но видно, что официально cp/m диапазон 8-37h сам не трогает

    Цитата Сообщение от Improver Посмотреть сообщение
    В РДС добавлены следующие ячейки:
    Проблема, которую я предлагаю попробовать решить - запуск некоторых сипиэмных программ в РДС и этим сипиэмным программам уникальные РДСные ячейки не нужны, даже наоборот, нужно чтобы РДС туда не лез. По тому, что я видел, критичная ячейка 000F, ее очень желательно переместить за пределы 8-37h, но это конечно не обязательно, всегда при большом желании можно хакнуть.

  10. #450

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    критичная ячейка 000F, ее очень желательно переместить за пределы 8-37h
    За пределами всё достаточно плотно, но если нужно сдвинуть всего один байт, то можно попробовать поменять её местами с ячейкой 3Dh, куда пишутся коды ошибок BIOS, они, по крайней мере, возникают не так часто...

Страница 45 из 50 ПерваяПервая ... 414243444546474849 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 213
    Последнее: 13.06.2022, 14:02
  2. Ответов: 4
    Последнее: 20.08.2007, 16:14
  3. Организация plug-in'нной системы
    от CityAceE в разделе Программирование
    Ответов: 9
    Последнее: 20.09.2005, 12:45
  4. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  5. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •