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

User Tag List

Страница 122 из 161 ПерваяПервая ... 118119120121122123124125126 ... ПоследняяПоследняя
Показано с 1,211 по 1,220 из 1609

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

  1. #1211
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_17.01.17_21-08

    Изменения:

    1. Исправлена ошибка в эмуляции регистра SR3 процессора 1801ВМ3.

    2. В настройки объекта MS1201.03 добавлен параметр VM3.NVRAM_DataFile, задающий имя файла для образа памяти HALT_RAM и ОЗУ при эмуляции энергонезависимой памяти.

    3. Теперь объект Booter помещает в R1 CSR загружаемого устройства, а эмулятор контроллера HD выполняет запросы API чтения/записи образа через "аппаратную" последовательность команд задания привода, номера блока и счётчика слов.
    Последний раз редактировалось Patron; 18.01.2017 в 16:59.

  2. Эти 5 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    Doronetty (20.01.2017), hobot (18.01.2017), MiX (18.01.2017), perestoronin (18.01.2017), ZEman (18.01.2017)

  3. #1212
    Guru Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,776
    Благодарностей: 1101
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    последнее обновление



    Patron, у меня чисто пользовательские вопросы:
    1. может случиться так, что очередное обновление откажется работать под WindowsXP ?
    2. очень хочется пускай и не слишком радостной для фанатов ясности с планами на
    эмуляцию граф. контроллеров в эмуляторе?
    3. в данный момент ВМ3 всё ещё шлифуется или можно сказать с ним пока всё хорошо ?

    Спасибо.

    p.s. Кстати говоря в последних версиях MY.CFG не стартует - это нормально или у меня
    тут что то поломалось?
    Последний раз редактировалось hobot; 19.01.2017 в 13:17.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  4. #1213
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    может случиться так, что очередное обновление откажется работать под WindowsXP ?
    Случиться может что угодно - полное тестирование релизов не проводится.

    Цитата Сообщение от hobot Посмотреть сообщение
    хочется ясности с планами на эмуляцию граф. контроллеров в эмуляторе
    Планы по добавлению в API графического движка есть. Поскольку движок должен обеспечивать плавную одновременную работу в разных местах экрана нескольких одновременно запущенных эмуляторов разных графических устройств - разработка идёт не быстро.

    Цитата Сообщение от hobot Посмотреть сообщение
    в данный момент ВМ3 всё ещё шлифуется или можно сказать с ним пока всё хорошо ?
    На данный момент не известно, как должны работать запросы ДМА в режиме пульта, не известно, как в режиме пульта изменяется выполнение некоторых команд, не полностью известно, как изменяется работа команд в диагностическом режиме.

    Цитата Сообщение от hobot Посмотреть сообщение
    в последних версиях MY.CFG не стартует
    MY.cfg - эмулятор контроллера MY. При запуске этого конфига напрямую ( т.е. не из родительского конфига компа ) - он стартует так же, как и обычный контроллер MY без компа ( внешние признаки работы отсутствуют ).

  5. Этот пользователь поблагодарил Patron за это полезное сообщение:
    hobot (19.01.2017)

  6. #1214
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,221
    Благодарностей: 1975
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_17.01.17_21-08
    Эх, не хочется эксперимент прерывать и обновляться - все еще работает предыдущий эмулятор с RSX
    Код:
    >SHO HOS
    Host=KYPEBO RSX-11M-PLUS V4.6  BL87  
    >UPT
    21:23:33  up 48 day(s), 00:18, 3 user(s), 0 batch job(s), 18 active task(s)
    >
    - - - Добавлено - - -

    Ну и к вопросу о сбое питания и о том, что сохранять...
    Сделал небольшую демонстрацию в E11. Простой плагин, вызывающий прерывание по вектору 24 при записи в адрес 17766666. Выполняя такую запись командой самого E11, мы собственно и вызываем "сбой питания".

    Код плагина

    Код:
    #include "e11.h"
    
    static E11HANDLE csr, vec;
    
    static void __stdcall
    init(dword addr)
    {
    }
    
    static word __stdcall
    dati(dword addr)
    {
    	return (0);
    }
    
    static void __stdcall
    dato(dword addr, dword value, dword datob)
    {
    	EnqueueInt(vec, NULL, 0);
    }
    
    int __stdcall
    DllMain(unsigned long hinstDLL, unsigned long fdwReason, void *lvpReserved)
    {
    	switch (fdwReason) {
    	case DLL_PROCESS_ATTACH:
    		if ((csr = GetCSRBlock(017766666, 1, dati, dato, init)) == 0)
    			return (FALSE);
    		if ((vec = GetIntQel(7, 0, 024)) == 0) {
    			RetCSRBlock(csr);
    			return (FALSE);
    		}
    		break;
    	case DLL_PROCESS_DETACH:
    		RetIntQel(vec);
    		RetCSRBlock(csr);
    		break;
    	default:
    		return (FALSE);
    	}
    
    	return (TRUE);
    }
    [свернуть]


    Далее собственно демонстрация (RSX-11M+ V4.6, включен DECnet):
    Код:
    Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
    Copyright (C) 1993-2016 by Digby's Bitpile, Inc.  All rights reserved.
    See www.dbit.com for more information.
    E11>install plugins\pwf.dll
    E11>b du
    
    RSX-11M-PLUS V4.6  BL87   1024.KW  System:"KOPOBA"
    >RED DU:=SY:
    >RED DU:=LB:
    >RED DU:=SP:
    >MOU DU0:"RSX11MPBL87"/ACP=UNIQUE
    >@DU:[1,2]STARTUP
    >;
    >; Current daytime is 22:10 24-JAN-2017
    >;
    >* Please enter time and date (HH:MM DD-MMM-YYYY) [S T:10S]:
    ...
    >NCP SHO ACT NOD
    
    Active nodes summary as of 24-JAN-17 22:12:15
    
    Executor node = 62.6 (KOPOBA)
    
       State = On, Identification = "DECnet for RSX-11M-Plus V4.6"
    
    Remote                       Active                      Next
    Node            State        Links   Delay  Circuit      Node
    
    62.3 (BIGSYS)   Reachable                                62.3 (BIGSYS)
    
    >
    E11>d 166666 0
    E11>
    %HALT
    R0/172260 R1/172220 R2/172240 R3/172200  CM=K PM=S PRIO=7
    R4/177620 R5/172360 SP/002214 PC/046726  N=0 Z=0 V=0 C=0
    046726  mov     001014,sp
    E11>dump mem.pdp
    E11>q
    Система остановилась по сбою питания, сохраняем содержимое памяти в файл, выходим из эмулятора. Ничего кроме памяти не сохраняем - никаких состояний процессора. Запускаем эмулятор с нуля:
    Код:
    Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
    Copyright (C) 1993-2016 by Digby's Bitpile, Inc.  All rights reserved.
    See www.dbit.com for more information.
    E11>load mem
    E11>e 24 26
    000024/ 046726
    000026/ 000340
    E11>pc=46726
    E11>ps=340
    E11>r
    R0/000000 R1/000000 R2/000000 R3/000000  CM=K PM=K PRIO=7
    R4/000000 R5/000000 SP/000000 PC/046726  N=0 Z=0 V=0 C=0
    046726  mov     001014,sp
    E11>p
    
    22:12:46   Event type 4.7, Circuit down - circuit fault
              Occurred 24-JAN-17 22:12:45 on node 62.6 (KOPOBA)
              Circuit QNA-0
              Line synchronization lost
    22:12:47   Event type 4.10, Circuit up
              Occurred 24-JAN-17 22:12:47 on node 62.6 (KOPOBA)
              Circuit QNA-0
    22:12:48   Event type 4.15, Adjacency up
              Occurred 24-JAN-17 22:12:48 on node 62.6 (KOPOBA)
              Circuit QNA-0
              Adjacent node = 62.3 (BIGSYS)
    
    >NCP SHO ACT NOD
    
    Active nodes summary as of 24-JAN-17 22:13:29
    
    Executor node = 62.6 (KOPOBA)
    
       State = On, Identification = "DECnet for RSX-11M-Plus V4.6"
    
    Remote                       Active                      Next
    Node            State        Links   Delay  Circuit      Node
    
    62.3 (BIGSYS)   Reachable                                62.3 (BIGSYS)
    
    >
    Загрузили память из файла, никакого состояния процессора не восстанавливали (то есть имеем в регистрах мусор, MMU выключен, все устройства сброшены), загружаем PS и PC из вектора 24 (никаких операций со стеком) и запускаем процессор. Система поднимается как ни в чем не бывало, даже видно как переподнялся DECnet

    Вот в сущности этого бы и хотелось: возможности одной кнопкой вызывать трап по 24 и сохранение памяти в файл по переходу процессора в режим HALT (можно сразу с выходом из эмулятора). А при запуске, соответственно иметь возможность восстановиться из файла и запуститься. На ДВК я так понимаю штатно подобное не предусмотрено, но в качестве полезной фичи пригодилось бы
    Последний раз редактировалось form; 24.01.2017 в 19:30.
    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

  7. Этот пользователь поблагодарил form за это полезное сообщение:
    hobot (25.01.2017)

  8. #1215
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    хотелось: возможности одной кнопкой вызывать трап по 24 и сохранение памяти в файл по переходу процессора в режим HALT
    В последнем релизе так и должно быть. Если параметр VM3.NVRAM_DataFile не пустой - в этом файле сохраняется содержимое памяти при завершении эмуляции. Чтобы перед этим вызвать TRAP_24 - надо перед завершением эмуляции выключить питание.

  9. #1216
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,221
    Благодарностей: 1975
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    VM3.NVRAM_DataFile не пустой
    Что-то он подозрительно 8192 байта занимает - не очень похоже на содержимое памяти
    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. #1216
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  11. #1217
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Что-то он подозрительно 8192 байта занимает - не очень похоже на содержимое памяти
    Проверил прямо сейчас - если в комплектном конфиге VM3.cfg внести следующие изменения:

    Код:
    [Booter.ini]
    InitialStateOf[Boot] = 0
    
    
    [CpuBoard.ini]
    VM3.NVRAM_DataFile=RAM.bin
    то тогда после завершения эмуляции создаётся файл RAM.bin размером 262656, а после повторного старта эмуляции - RT-11 уже в памяти и можно записать в R6 адрес стека, нажать G и продолжить работу.

  12. #1218
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,221
    Благодарностей: 1975
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    то тогда после завершения эмуляции создаётся файл RAM.bin размером 262656
    Файл - перепутал с rom. Все нормально.

    Цитата Сообщение от Patron Посмотреть сообщение
    а после повторного старта эмуляции - RT-11 уже в памяти и можно записать в R6 адрес стека, нажать G и продолжить работу.
    В RT-11 не предусмотрено восстановление после сбоя питания (оно и невозможно в большинстве случаев в виду отсутствия нужного функционала в драйверах). С RSX же номер пока не прошел. R6 устанавливать не нужно в оригинале - восстановление после сбоя питания происходит именно с нуля: кроме памяти не сохраняется ничего.

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

    Ну и собственно функционала так и не удалось получить. Не удалось организовать сбой по питанию в принципе: при отжатии кнопки power просто все зависло (видимо эмулятор выключился), а не произошло прерывание по 24 (как должно быть). Или он просто молчит когда HALT происходит?

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

    Похоже эмулятор просто сохраняет содержимое памяти по нажатию кнопки power и все. Это не то.
    Нужно чтобы именно происходило прерывание по 24 по отключению питания, а сохранение памяти происходило в момент когда процессор переходит в режим HALT (система выполняет команду HALT).
    А при восстановлении, соответственно, память считывалась обратно, а PC/PS устанавливались из @#24-26. Стек при этом трогать не нужно - нужно просто нажать P в теории (или сделать автоматом запуск).

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

    К слову, проверка на RT-11 должна давать результат: система безнадежно остановилась и далее HALT в цикле - именно так RT-11 среагирует на сбой питания (при генерации можно разрешить, чтобы было напечатано сообщение о причине останова, но это все, что можно сделать в RT-11 по теме).
    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

  13. #1219
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Нужно чтобы именно происходило прерывание по 24 по отключению питания, а сохранение памяти происходило в момент когда процессор переходит в режим HALT (система выполняет команду HALT).
    В режиме HALT комп память не портит, поэтому сохранение выполняется после снятия питания, а не после выхода в пульт.

    Если включить дизассемблер - можно увидеть, что происходит. Для RT-11 выглядит примерно так:

    Код:
    150104 [000000]        CLR   R2                       ;   R2  :000000
    150106 [000004]        MOV   12.(SP), R5              ; 125420:151660 ->   R5
    150112 [000010]        MOV   -(R5), R4                ; 151656:104360 ->   R4
    150114 [000010]        CMPB  R4, #252.                ;   R4  :   360 -> 150116:   374
    150120 [000011]        BCC   150152
    150122 [000011]        MOV   SP, R1                   ;   R6  :125404 ->   R1
    
    #################
    ACLO - ON
    #################
                                                          ; 000026:000000 ->   PSW
                                                          ;   PSW :000011 -> 125402:125424
                                                          ;   PC  :150124 -> 125400:150112
                                                          ; 000024:000026 ->   PC
    
    000026 [000000]        HALT
    
    ################
    HALT Trap to 020000
    ################
    
    000000 [000340]        JMP   004702                   ;        004702 ->   PC
    
    004702 [000340]        MOV   #95., @#77004            ; 004704:000137 -> 077004
    004710 [000340]        MOV   #2522., @#77006          ; 004712:004732 -> 077006
    004716 [000340]        CMP   @#100000, #13300.        ; 100000:040000 -> 004722:031764
    004724 [000340]        BNE   004732
    
    004732 [000340]        MOV   #1874., @#77006          ; 004734:003522 -> 077006
    004740 [000340]        CALL  006332                   ;   PC  :004744 -> 017772

    Цитата Сообщение от form Посмотреть сообщение
    А при восстановлении, соответственно, память считывалась обратно, а PC/PS устанавливались из @#24-26.
    Так было всегда - добавилось только чтение образа памяти из файла перед запуском ВМ3, который в основном режиме сам выполняет старт по вектору 24.

    Цитата Сообщение от form Посмотреть сообщение
    Стек при этом трогать не нужно - нужно просто нажать P в теории (или сделать автоматом запуск).
    Из кода выше видно, что в RT-11 надо нажимать G. При сбросе питания содержимое R6 у ВМ3 обнуляется. С нулём в R6 -- RT-11 через G не запустится.

  14. #1220
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,221
    Благодарностей: 1975
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Из кода выше видно, что в RT-11 надо нажимать G. При сбросе питания содержимое R6 у ВМ3 обнуляется. С нулём в R6 -- RT-11 через G не запустится.
    В RT-11 нет способа продолжить выполнение после сбоя питания. Будет fatal останов. Запустить RT-11 после сбоя питания невозможно.

    Для простоты еще раз кратко распишу порядок:
    • происходит сбой питания
    • процесор вызывает прерывание по 24 (обычное, с использованием стека, при любом приоритете CPU)
    • система выполняет свои действия (сохраняет регистры и прочие нужные вещи, меняет ISR вектора 24 или выставляет флаг сбоя питания, итд), затем останавливает процессор
    • процессор и все устройства выключаются полностью (иначе собственно и не будет условия восстановления питания)
    • все запускается с нуля, содержимое памяти сохранено, PC берется из 24, PS из 26, процессор стартует в таких условиях (ну или можно остановить его в ожидании команды P) - стек здесь никак не используется и потому R6 пофигу
    Последний раз редактировалось form; 25.01.2017 в 22:51.
    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

Страница 122 из 161 ПерваяПервая ... 118119120121122123124125126 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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