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

User Tag List

Страница 144 из 183 ПерваяПервая ... 140141142143144145146147148 ... ПоследняяПоследняя
Показано с 1,431 по 1,440 из 1823

Тема: Эмулятор ДВК

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

    По умолчанию

    Думаю, реализацию таких возможностей можно осуществить в эмуляторах UNIBUS-процессоров. Дело в том, что каждая дополнительная переменная, запоминаемая эмулятором процессора на каждом шагу - тормозит процесс эмуляции. Ничто не мешает на каждом шагу эмуляции отдельно запоминать текущее состояние обмена с шиной. И если в эмуляторах UNIBUS-процессоров это надо для отображения текущего состояния шины эмулятором железного пульта, то в эмуляторах QBUS-процессоров это имеет мало применения, но снижает максимальную скорость эмуляции.

    При выполнении на PDP-11/40 следующей программы:

    Код:
    	CLR	R0
    	INC	R0
    1$:	ROL	R0
    	RESET
    	BR	1$
    Горящая лампочка бегает по кругу индикаторов DATA со скоростью около 10 шагов в секунду.

    Получается, что взаимодействие процессора PDP-11/40 с собственными регистрами - также идёт через UNIBUS ?

  2. #1432
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Получается, что взаимодействие процессора PDP-11/40 с собственными регистрами - также идёт через UNIBUS ?
    Не берусь судить как там оно сделано, но регистры доступны с переключателей на всех машинах с пультами. Но только на паре они при этом видны и на шине I/O.

    Я просто совсем не копался в UNIBUSных машинах, хотя на них и начинал работать.
    Скорее всего UNIBUS тут непричем и это какая-то внутренняя шина.
    Последний раз редактировалось form; 08.09.2017 в 14:54.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  3. #1433
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, Можно ли попросить аппаратный загрузчик к диску HD.
    Типа:
    @177720G
    Boot HD v1.5....
    HD0...7?0
    HD (177720) disk driver v1.5 2016...

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Можно ли попросить аппаратный загрузчик к диску HD.
    Можно добавить загрузчик с HD во все варианты прошивок для ВМ1 ( 000, 031, 054 ) с адреса 0173440 ( смещение прошивки 013440 ).
    У ВМ2 и ВМ3 по адресу 173000 ПЗУ вроде вообще нет - им тоже можно повесить туда ПЗУ с загрузчиком HD с адреса 0173440.

    - - - Добавлено - - -

    Если для ВМ2 и ВМ3 продублировать этот загрузчик в ПЗУ с адреса 173000 - платы смогут штатно стартовать на загрузку с HD при активации у платы старта на адрес 0173000.

    - - - Добавлено - - -

    Но при этом дата не будет устанавливаться сама и при каждой загрузке её придётся вводить.
    Последний раз редактировалось Patron; 09.09.2017 в 22:46.

  5. #1435
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Можно добавить загрузчик с HD во все варианты прошивок для ВМ1 ( 000, 031, 054 ) с адреса 0173440 ( смещение прошивки 013440 ).
    Я бы не хотел трогать оригинальные прошивки вообще.
    Цитата Сообщение от Patron Посмотреть сообщение
    У ВМ2 и ВМ3 по адресу 173000 ПЗУ вроде вообще нет - им тоже можно повесить туда ПЗУ с загрузчиком HD с адреса 0173440.
    Не. Началось всё с того что я отрыл конфиг Е100.

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

    По умолчанию

    Контроллер не может загрузить процессор - это дело программы. Можно добавить в контроллер HD команду "прочитать блок 0 текущего устройства по адресу 0", но перед запуском первичного загрузчика командой G - надо будет ещё поместить в R0 номер загружаемого привода ( и для продвинутых операционок - записать 177720 в R1 ).

    Чем такая морока - проще пультовой скрипт написать, который запишет в память загрузчик HD и поместит нужные значения в регистры.

    HDBoot.MAC
    Код:
    ;	HD Device Bootstrap
    ;       R0 = Unit Number
    .ASect
    	. = 100
    	.Word	102
    	RtI
    	. = 10000
    Start:
    	Clr	R0
    
    	Mov	#177720, R1
    	Mov	#177722, R2
    
    	Mov	R0, (R2)
    	Mov	#1, (R1)
    
    	Clr	(R2)
    	Mov	#2, (R1)
    
    	Clr	(R2)
    	Mov	#3, (R1)
    
    	Mov	#256., (R2)
    	Mov	#4, (R1)
    
    	Mov	#5, (R1)
    
    	MTPS	#340
    	Jmp	@#0
    
    	.End	Start
    ;

    HD_Boot.odt
    Код:
    100/102¬
    2
    10000/5000¬
    12701¬
    177720¬
    12702¬
    177722¬
    10012¬
    12711¬
    1¬
    5012¬
    12711¬
    2¬
    5012¬
    12711¬
    3¬
    12712¬
    400¬
    12711¬
    4¬
    12711¬
    5¬
    106427¬
    340¬
    137¬
    0
    10000G


    Для отправки пультового скрипта - в любом конфиге нужны следующие модификации:

    Код:
    [objects]
    ODT_Loader = Ядро:ODT_Loader
    
    [links]
    TerminalPort <=> ODT_Loader
    
    [ODT_Loader.ini]
    ScriptFile = HD_Boot.odt
    InitialStateOf[Load] = 1
    SaveChangesFor[Load] = 0
    Wait_at_Prompt_sec = 0
    PromptChar="@"
    SendDelay_MS=0

    На состояние Load объекта ODT_Loader можно повесить кнопку и указать InitialStateOf[Load] = 0 - тогда загрузка с HD в пульте будет начинаться только после нажатия кнопки.
    Последний раз редактировалось Patron; 09.09.2017 в 23:25.

  7. #1437
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    ScriptFile = HD_Boot.odt
    Нет такого файла.

    - - - Добавлено - - -

    Цитата Сообщение от Patron Посмотреть сообщение
    На состояние Load объекта ODT_Loader можно повесить кнопку и указать InitialStateOf[Load] = 0 - тогда загрузка с HD в пульте будет начинаться только после нажатия кнопки.
    Пример можно?

    - - - Добавлено - - -

    Цитата Сообщение от Patron Посмотреть сообщение
    HD_Boot.odt
    В конфиге Е100 не срабатывает такой скрипт.

    - - - Добавлено - - -

    Например 10000G выглядит так:
    $10
    $00
    $0G
    $

    - - - Добавлено - - -

    Цитата Сообщение от Patron Посмотреть сообщение
    Чем такая морока - проще пультовой скрипт написать
    Ещё проще единицу поставить в InitialStateOf[Boot] = 1 в Booter.ini.

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Нет такого файла.
    Скопировать из окна кода HD_Boot.odt в сообщении.


    Цитата Сообщение от MiX Посмотреть сообщение
    Пример можно?
    Помнится, чтобы повесить кнопку на состояние Boot объекта Booter - пример не требовался.


    Цитата Сообщение от MiX Посмотреть сообщение
    В конфиге Е100 не срабатывает такой скрипт.
    Конечно не срабатывает - для E100 надо писать скрипт, заносящий данные через L и D и запускающий выполнение через L и S.

    Что-то типа такого ( и ещё - задать правильный промпт в настройке: PromptChar="$" ):

    Код:
    L 100
    D 102
    D 2
    L 10000
    D 5000
    D 12701
    D 177720
    D 12702
    D 177722
    D 10012
    D 12711
    D 1
    D 5012
    D 12711
    D 2
    D 5012
    D 12711
    D 3
    D 12712
    D 400
    D 12711
    D 4
    D 12711
    D 5
    D 106427
    D 340
    D 137
    D 0
    L 10000
    S


    Сейчас скопировал этот текст через буфер обмена в терминал и пошла загрузка с HD:

    Код:
    000000 000000 000000 000000
    $L 100
    $D 102
    $D 2
    $L 10000
    $D 5000
    $D 12701
    $D 177720
    $D 12702
    $D 177722
    $D 10012
    $D 12711
    $D 1
    $D 5012
    $D 12711
    $D 2
    $D 5012
    $D 12711
    $D 3
    $D 12712
    $D 400
    $D 12711
    $D 4
    $D 12711
    $D 5
    $D 106427
    $D 340
    $D 137
    $D 0
    $L 10000
    $S
    HD Boot-I-Cold boot..
     
    HD (177720) disk driver  v1.5  2016

  9. #1439
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    В конфиге Е100
    Проще взять прошивку от 11/34 и вставить в нее загрузчик для HD - там это легко делается.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #1440
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Задача была приблизить HD к реальной ситуации.
    Допустим что HD собран на каком нибудь микроконтроллере с флешкой. Встаёт вопрос как с него грузится. Наиболее оптимальный вариант, расположить загрузчик на борту HD контроллера, на подобии как сделано в И4 Эл.60.
    Всё просто- вставил контроллер, набрал 177720G, выбрал привод 0 и всё.

Страница 144 из 183 ПерваяПервая ... 140141142143144145146147148 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 13:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 18:53

Ваши права

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