User Tag List

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

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

Древовидный режим

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

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

    По умолчанию

    Доброго времени друзья!

    Поделюсь немного затыком по mdos31h, читаю в буфер два сектора, все отлично. Решил читать именно два сектора как в оригинале, потому что чтобы сказать системе, что прочитан только один сектор - нужно дизассемблировать и разбирать остальной код, или его часть. В итоге, читаю в буфер с EB00 по EEFF - все отлично читается, и выводится на экран (если например чтение вызвано командой D) в виде названий файлов. Все четко. после этого читаются следующие два сектора, но читаются они с адреса второго сектора, который уже был прочитан, и выведен на экран, все что было в буфере в адреса ED00 - EF00 (второй сектор) повторно читается уже по адресу EB00 - ECFF, и следующий сектор с адреса ED00 по EEFF свежий... В итоге половина информации на экране задвоенная, и естественно, ничего не работает. Точнее, маленькие текстовые файлы удается выводить на экран, которые в один сектор помещаются, читается initial.sub - но в лучшем случае он ничего не запускает, в худьшем - уносит куда то ..

    Может у кого то есть мысли по этому поводу? От куда формируются переменные XE86D и XE86F? В тексте не нашел что либо, что могло бы сертезно влиять на эти переменные, однако же в переменной XE86F, в младшем разряде как раз и есть отличие на 1 от того, что приходит в непатченной оси..
    Если кому то любопытно будет взглянуть на имеющийся код, или куски или сам mDos31 c текущими изменениями - все тут!

    На этом, пока остановился, будет время продолжу поиски.

    И еще, засунул в ПЗУ загрузчика FH51LBA - и обновил тут. Микросхемы уже в Москве, скоро потестирую на реальном векторе. При загрузке из ПЗУ система ищет INITIAL.SUB на A:, а вот после записи ее на системную область С: ищет на С:... по этому пришлось прописать у себя инит, который копирует слегка измененный инит на C. Не очень красиво, но работает. Если будет возможность исправить этот баг, пожалуйста, сделайте, если система инит будет только на А: искать, или не найдя на С: таки искать на A: - будет супер просто, потому что на реале заморочено стартовать с подгруженным из файла квазидиском ))
    Последний раз редактировалось electroscat; 18.04.2020 в 20:41.

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

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

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

Ваши права

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