User Tag List

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

Тема: Эмулятор УКНЦ - EmuStudio

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

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

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вопрос к знатокам УКНЦ на счет регистра октета точки.
    В некоторых программах с заливкой, она заливается у меня на эмуляторе мимо. Стал выяснять почему, вырисовывается такая картина. Программа пишет байты в регистр октета точки в цикле записи. Тогда как в инструкции написано, что для того, чтобы было рисование по маске, в этот регистр надо производить чтение-модификацию-запись. Т.е. при чтении загружается регистр цвета фона, а при записи уже на этот фон накладывается новое изображение. Почему же тогда программы, просто записывающие байт в регистр октета точки преспокойно рисуют по старому фону?
    Заметили таки! Да, я тоже помучился, когда писал редактор шрифтов FNT. А все довольно просто. В инструкции все правильно сказано насчет чтения-модификации-записи. А вот в описании на процессор 1801ВМ2 очень существенный момент упустили (его нет и в техописании, которое выкладывали Вы). А этот тонкий момент состоит в том, что по записи в источник словные и байтовые команды отличаются. Команд этих всего три - MOV(B), CLR(B) и MFPS. В байтовом варианте при записи приемника DST, он сначала прочитывается из памяти (фиктивное чтение), а затем записывается. В словном варианте производится безусловная запись приемника без его предварительного чтения. Такие тонкости относятся к MOV и CLR. Команда MFPS имеет только байтовый вариант, поэтому здесь всегда производится чтение-модификация-запись для приемника.
    Поэтому, если надо наложить по старому фону, то можно сделать так:
    Код:
            TST     @#177024
            MOV     R0,@#177024
    или более быстро и просто:
    Код:
            MOVB    R0,@#177024
    Особенности работы этих команд проверены и на других регистрах, в частности на регистре данных приемника канала 0 177562. Если в регистре 177560 устанавливался бит готовности 7, то после этого производилась запись в регистр 177562. Сама по себе запись в этот регистр бесполезна. При словной записи бит готовности в 177560 не сбрасывался, а при байтовой записи сбрасывался, что подтверждает то, что к регистру 177562 применялась операция чтения. Сразу оговорюсь, что 1801ВП1-120, где находятся эти регистры, сигнал записи байта WTBT не обрабатывает.

    Команды MOVB по отношению к регистру 177024 применяется и в системном ПЗУ УКНЦ при обработке графических функций (это где-то в адресах 140000-152000).

    В эмуляторе UKNCBTL это уже учтено, исходники свободны, смотрите.

    P.S. Сразу отмечу, что EmuStudio некорректно работает с регистрами контроллера дисковода. При чтении зараз большого объема данных он не читается, выдает ошибку. Из-за этого при исполнении команды DIR/BAD/FIL выдается ошибка "Too many bad blocks", нельзя загрузить большие исполнимые файлы (не смог GOBLIN, не грузилась дискета с JEK-ом, не загрузить TurboBasic, не работает Writer).
    Последний раз редактировалось Alex_K; 03.02.2012 в 15:27.

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - UKNCBTL
    от nzeemin в разделе Эмуляторы отечественных компьютеров
    Ответов: 1114
    Последнее: 08.01.2025, 01:15
  2. PS/2 клавиатура в УКНЦ
    от balu_dark в разделе ДВК, УКНЦ
    Ответов: 83
    Последнее: 10.01.2021, 10:51
  3. Как проверить УКНЦ и КМД ? Help
    от Andrey_Ak в разделе ДВК, УКНЦ
    Ответов: 37
    Последнее: 23.07.2020, 15:50
  4. УКНЦ и шина МПИ
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 18
    Последнее: 14.03.2014, 14:30
  5. Продаю УКНЦ
    от Gryphon в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 01.04.2009, 10:22

Ваши права

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