User Tag List

Показано с 1 по 10 из 494

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    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, но это конечно не обязательно, всегда при большом желании можно хакнуть.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

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

    По умолчанию

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

  4. #3

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

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    можно попробовать поменять её местами с ячейкой 3Dh
    Возможно лучше с 3Fh.

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

    Improver(20.05.2021)

  5. #4

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

    Lightbulb

    Свежая версия РДС, бинарник с исходниками: rds305.7z

    Второй квазидиск ещё пока не добавил, пофиксил баги:

    • Сделал исправление контрольных сумм секторов под системой на квазидиске, правда, по описанным выше причинам, полностью исправить это невозможно, но количество ошибок по команде TEST (или 8 в МДОС) существенно сократилось.
    • Исправил работу команды HDD -- в предыдущих версиях была ошибка: запуск без параметров с любого диска, кроме А: вызывал сброс на 0 предыдущего диска (т.е. если, например, запустить HDD с диска В:, то вместо вывода конфигурации диску А: будет назначена нулевая дискета).
    • Исправил ошибку переключения на несуществующий диск (например, D: ), которая приводила к зависанию системы на этой ошибке до полного сброса.
    • Дополнил функционал команды TEST, теперь она может исправлять ошибки на квази-диске, для этого нужно к команде добавить ключик R:
      TEST R
      или
      TEST C:R
      Ну и, кроме того, немного ускорил работу программы тестирования КД.
    • Сделал защиту на запись треков 180-195 квазидиска, в которых расположена система, на всякий случай.
    • Дополнил документацию на РДС и приложил её в комплект к системе.
    • Немного улучшил работу системы с командной строкой: теперь по нажатию клавиш "вверх" или "вниз" в командную строку копируются символы предыдущей выполненной команды (если буфер не был очищен). Собственно, этой функции мне серьёзно недоставало во всех версиях Векторовских ДОСов, теперь в случае ошибочного ввода легче исправить и повторить последнюю команду.
      Дальше, думаю, можно будет сделать второй буфер для запоминания командной строки, может даже изменить работу стрелок "влево" и "вправо" для редактирования команд.


    И по поводу освобождения ячейки 15...
    Цитата Сообщение от ivagor Посмотреть сообщение
    критичная ячейка 000F, ее очень желательно переместить за пределы 8-37h
    Это трогать пока не стал... Технически это сделать легко, но если её переместить, то тогда перестанут работать все программы, написанные под РДС. Их немного, но патчить понадобится все, поэтому пока что эта ячейка пусть останется на месте.

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

    electroscat(04.06.2021)

  6. #5

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

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    если её переместить, то тогда перестанут работать все программы, написанные под РДС.
    Как это проявляется (переставание работать) на примере какой-нибудь программы? Просто после моей хаки 0F я (очень поверхностно) тестировал и программы работали. Или проблема в 3F?

  7. #6

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Как это проявляется (переставание работать) на примере какой-нибудь программы? Просто после моей хаки 0F я (очень поверхностно) тестировал и программы работали. Или проблема в 3F?
    Проблема в 0F, точнее не проблема. Все программы, которые обращаются к функциям РДС, делают это примерно так:
    Код:
    	. . .
    	DI
    	LDA	15
    	OUT	10H
    	. . .	; тут идёт обращение к функциям или ячейкам с параметрами РДС
    	LDA	3CH	;отключение "сегмента" РДС.
    	OUT	10H
    	EI
    	. . .
    Можете глянуть это, например, в исходниках VC3, там эта конструкция встречается в четырёх местах... В общем, их нужно просто все пропатчить под другой адрес, но пока этого не сделано, думаю, можно пока не перемещать -- это сейчас не так критично.

    И ещё, менять лучше всё-таки на 3Dh, а не на 3Fh -- к этой ячейке система обращается гораздо чаще.
    Последний раз редактировалось Improver; 04.06.2021 в 17:39.

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

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

Эту тему просматривают: 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

Ваши права

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