Важная информация

User Tag List

Страница 2 из 32 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 311

Тема: Эмулятор НЕМИГА

  1. #11
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В коде встречается такое использование регистра 170006:

    BIT #176000, @#170006

    MOVB #000003, @#170006
    ...
    MOVB #000000, @#170006

    ---------- Post added at 20:22 ---------- Previous post was at 19:45 ----------

    С режимом HALT пробую разные варианты. Ключевой момент не понимаю -- в каких ситуациях система должна выходить из режима HALT?

  2. #12
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    С режимом HALT пробую разные варианты. Ключевой момент не понимаю -- в каких ситуациях система должна выходить из режима HALT?
    На сколько я читал в описании - этор регистр данных клавиатуры.
    Распиши его сперва, какие его биты по твоему что значат.
    Последний раз редактировалось Titus; 08.12.2012 в 21:00.

  3. #13
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ты не разобрался, что за регистры с адресами типа 177776 и подобные в самом верху памяти? Или же это все же не регистры, а окно?
    Это точно окно.
    При холодном старте туда пишут 056311 -- признак режима HALT, в котором (как я понимаю) начинает работать процессор:
    162014: CLR R0
    162016: MOV #056311, -(R0)

    При обработке команды HALT или прерывания HALT, первым делом проверяют, что находится по этому адресу -- в каком режиме мы сейчас:
    160210: CMP #056311, @#177776
    160216: BEQ 160224

    Кстати, на реальной машине можно проверить, стартует ли процессор в режиме HALT -- на это укажет отсутствие этого числа по адресу 177776. Кроме того, можно режимом косвенной адресации поискать, где именно находится это число -- найдём в какую реальную память мапится этот участок.

  4. #14
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Некоторые из игрушек тоже используют эти адреса окна. Но я просто поставил на эти регистры заглушки (0 по чтению, запись в никуда) и все.

  5. #15
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Техническая спецификация на микросхемы 588 серии -- корпуса, выводы:
    http://www.transistor.by/i/pdf/588vs2.pdf
    http://www.transistor.by/i/pdf/588vu2.pdf

    ---------- Post added at 22:49 ---------- Previous post was at 22:37 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Некоторые из игрушек тоже используют эти адреса окна. Но я просто поставил на эти регистры заглушки (0 по чтению, запись в никуда) и все.
    Стоило просто поставить там ОЗУ -- схема с подменой блока памяти это трюк только для HALT-режима. Может быть, так больше игрушек заработает.

  6. #16
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Стоило просто поставить там ОЗУ -- схема с подменой блока памяти это трюк только для HALT-режима. Может быть, так больше игрушек заработает.
    Я не могу там что-то оставить, т.к. по умолчанию это УКНЦ, у которой там вообще ничего нет.
    Кроме того, все регистры добавлялись последовательно, изначально я даже не знал, что там память.

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

  8. #17
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Микросхемы серии 588 неплохо описаны в книге:
    Г.Г.Гришин и другие. Микропроцессоры (Справочное пособие для разработчиков РЭА)
    http://bookre.org/reader?file=473907&pg=206

    ---------- Post added at 22:38 ---------- Previous post was at 22:33 ----------

    Где бы ещё взять содержимое памяти микрокоманд К588ВУ2 ? их всего выпускалось 7 типов, из них 5 используются в Немиге.

  9. #18
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таблица прерываний выглядит несколько необычно (по сравнению с другими советскими PDP-11 alike):
    Код:
      160000  177570 160210 000341 162010 000340 161126 000340 000137
      160020  163512 000137 163532 000137 163734 000137 163740 000137
      160040  162342 000137 165344 000137 165336 000137 165340 000137
      160060  165374 000137 165366 000137 165370 000137 165604 000137
      160100  165576 000137 165600 000137 165670 000137 165660 000137
      160120  165662 000137 162304 000177 017622 000137 177777 000137
      160140  177777 012737 000357 000206 005037 177560 012737 000200
      160160  177564 005037 177770 042737 177541 177766 012600 000137
    Получается примерно так.
    Вектора прерываний (адрес таблицы векторов 160000):
    * 0002 — сигнал/команда HALT
    * 0006 — прерывание начального пуска
    * 0012 — ??
    * ?? — резерный код команды
    * ?? — прерывание по T-разряду или команда BPT
    * 0020 — команда IOT
    * 0030 — команда EMT
    * 0034 — команда TRAP
    * ?? — INR0
    * ?? — INR1
    * 0100 — прерывание INRT??

  10. #19
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Вектора прерываний (адрес таблицы векторов 160000):
    * 0002 — сигнал/команда HALT
    * 0006 — прерывание начального пуска
    * 0012 — ??
    Процессор 1801ВМ1 переходит по этим векторам в следующих случаях:

    * 0000 — адрес начального пуска ( содержит команду перехода )
    * 0002 — сигнал IRQ1/команда HALT
    * 0006 — двойная ошибка шины
    * 0012 — ошибка приёма вектора прерывания

    ---------- Post added at 00:52 ---------- Previous post was at 00:48 ----------

    Код:
    ROM:160000 .PSect ROM
    ROM:160000                 Br      loc_160016
    ROM:160000 ; -----------------------------------------------------------
    ROM:160002                 .Word 160446
    ROM:160004                 .Word 2340
    ROM:160006                 .Word 160374
    ROM:160010                 .Word 2340
    ROM:160012                 .Word 160416
    ROM:160014                 .Word 2340
    ROM:160016 ; -----------------------------------------------------------
    ROM:160016 loc_160016:
    ROM:160016                 BiS     #^B1000, @#SEL1
    ROM:160024                 BiC     #^B100, @#SEL1
    ROM:160032                 Mov     #177614, SP
    ROM:160036                 Call    sub_160112
    ROM:160042                 Clr     @#word_177650
    ROM:160046                 Clr     @#word_177644
    ROM:160052                 Clr     @#word_177640
    ROM:160056                 Clr     R0
    ROM:160060                 Mov     @#SEL1, R1
    ROM:160064                 BiC     #^B1111111111111000, R1

  11. #20
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,222
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уфф... HALT-режим более-менее заработал, не во всём пока разобрался и не уверен что всё сделал правильно. Опять увидел надписи на экране и ввод с клавиатуры теперь работает через регистр 170006. Также появился текстовый курсор -- раньше его не было.
    Теперь буду двигаться дальше в сторону загрузки с диска.

Страница 2 из 32 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор ДВК
    от Patron в разделе Эмуляторы отечественных компьютеров
    Ответов: 1820
    Последнее: 30.08.2023, 07:35
  2. Учебный комплекс НЕМИГА.
    от felix в разделе ДВК, УКНЦ
    Ответов: 401
    Последнее: 21.06.2023, 16:17
  3. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 18:53

Ваши права

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