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

User Tag List

Страница 59 из 160 ПерваяПервая ... 555657585960616263 ... ПоследняяПоследняя
Показано с 581 по 590 из 1600

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

  1. #581
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,466
    Благодарностей: 814
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    LSX на ДВК-2М с DX без проблем работает - надо только драйвер DW сделать.
    Да действительно, подключил на DX, всё пошло.
    Образ - Здесь
    На DX0 подключать (распакованный) образ ROOT.DSK
    На DX1 подключать (распакованный) образ USR.DSK
    На приглашение BOOT: ответить lsx
    ...
    Видео запуска LSX на PDP 11/03 -Здесь

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

    По умолчанию

    ...

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

    Изменения:

    1. Теперь файлы с расширениями .BIN и .DAT не могут быть перекодированы при работе приводов HD и HX с каталогом Windows.


    2. В модуль CPU11_module.em добавлен объект BreakPoint, создающий на шине ловушку адреса. Пример использования BreakPoint добавлен в файл конфигурации DisAsm.cfg


    По умолчанию каждый объект типа BreakPoint имеет следующие настройки:

    Код:
    [BRK.ini]
    InitialStateOf[Enabled] =1
    SaveChangesFor[Enabled] =0
    InitialStateOf[PauseCPU]=1
    SaveChangesFor[PauseCPU]=1
    FirstAddr =0177726
    Last_Addr =0177727
    IO_Mode = Any
    IO_Size = Any
    IO_Data = Any
    Skip_FirstHits = None
    Catch_NextHits = All
    Show_LastSteps = Max
    Show_NextSteps = Default
    Show_HitReport = Yes
    Возможные значения:

    Enabled
    1 - Ловушка включена.
    0 - Ловушка отключена.

    PauseCPU
    1 - Эмуляция ставится на паузу при каждом срабатывании ловушки.
    0 - Эмуляция не останавливается.

    FirstAddr
    0000000..0177777, 0x0000..0xFFFF - Начальный адрес зоны перехвата.

    Last_Addr
    0000000..0177777, 0x0000..0xFFFF - Конечный адрес зоны перехвата.

    IO_Mode
    Any, READ, WRITE - Тип обращения.

    IO_Size
    Any, WORD, BYTE - Размер данных.

    IO_Data
    Any, -32768..65535, -077777..0177777, -0x7FFF..0xFFFF - Конкретное содержимое данных для перехвата.

    Skip_FirstHits
    None, 0 - Не пропускать первые срабатывания.
    1..nn - Игнорировать nn первых срабатываний ловушки.

    Catch_NextHits
    All - Не игнорировать последующие срабатывания.
    None, 0 - Игнорировать последующие срабатывания.
    1..nn - Повторять срабатывание ловушки nn раз.

    Show_LastSteps
    Max, None, 0..nn - При срабатывании ловушки выводить в поток дизассемблера трассу предыдущих nn шагов.

    Show_NextSteps
    Default - Не изменять режим дизассемблера.
    All - Включить дизассемблер.
    None, 0 - Выключить дизассемблер.
    1..nn - Включить дизассемблер для nn последующих шагов, после чего выключить.

    Show_HitReport
    Yes, true, ON, 1 - Вывести в листинг дизассемблера отчёт о срабатывании ловушки.
    No, false, OFF, 0 - Не выводить отчёт о срабатывании ловушки.
    Последний раз редактировалось Patron; 01.12.2015 в 16:45.

  3. Эти 3 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    Doronetty (18.01.2015), hobot (17.01.2015), MiX (17.01.2015)

  4. #583
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,466
    Благодарностей: 814
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обнаружены ошибки в конфигурациях LoadScript и CmdLine, где первый выдав на экран скрипт -закрывается. Второй пишет в консоли что "Файл скрипта не указан".
    ...
    Еще просьба, можно сделать RAM диск под драйвер VD где адресация 176640.
    Спасибо.

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

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    LoadScript - выдав на экран скрипт -закрывается
    LoadScript.cfg выполняет в RT-11 команды из файла Script.txt, который в комплекте поставки выглядит так:

    Код:
    ASS HD1 DK:
    DIR/FU/BL/VOL
    DU/TE HD1:/END:6
    EXIT
    Последняя команда вызывает завершение программы эмулятора. Если убрать её из файла Script.txt - тогда после выполнения всех команд скрипта эмулятор продолжит работу.


    Цитата Сообщение от MiX Посмотреть сообщение
    CmdLine пишет в консоли что "Файл скрипта не указан".
    ODT_Loader теперь имеет специальный режим извлечения скрипта из файла ODT_Loader.ini, который активируется при двойном клике в Windows на файле с расширением, зарегистрированным в Windows для открытия программой эмулятора.

    При двойном клике на таком файле Windows ( например, на файле TETRIS.SAV или GAME.BAS ) эмулятор загружает файл конфигурации CmdLine.cfg и через внутренний параметр передаёт команду в ODT_Loader для извлечения скрипта из файла ODT_Loader.ini. При обычной "ручной" загрузке CmdLine.cfg этого не происходит и поэтому ODT_Loader сообщает об отсутствии скрипта для загрузки.
    Последний раз редактировалось Patron; 18.01.2015 в 14:24.

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

  8. #585
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,309
    Благодарностей: 1821
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Использую эмулятор для компиляции тестов при помощи родного MACRO-11. Написал .com файл и запускаю эмулятор из makefile, как часть процесса общей сборки. Возникли некоторые вопросы:
    - эмулятор каждый раз мне отключает режим NumLock, можно как-то сделать чтобы он восстанавливал этот режим после выхода?
    - можно как-то логировать в файл то что выводится в терминал в эмуляторе? Там бывают всякие ошибки (и компиляции и командной строки), их полезно рассмотреть подробнее, а не ловить в мелькающем окне
    - можно как-то запускать эмулятор чтобы он не открывал окно, молча делал компиляцию в фоне и потом завершался, а то мигание окошка при makefile вызывает некоторый дискомфорт?

    Update: по логу разобрался, все нормально
    Последний раз редактировалось Vslav; 20.01.2015 в 13:36.

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    эмулятор каждый раз мне отключает режим NumLock, можно как-то сделать чтобы он восстанавливал этот режим после выхода?
    Пока нет. Проблема сложна тем, что если одновременно запущены несколько эмуляторов, то простое запоминание текущего состояния NumLock при запуске очередного эмулятора в общем случае приводит к невозможности восстановления исходного состяния NumLock после завершения всех эмуляторов. Попробую решить этот вопрос к следующему релизу.


    Цитата Сообщение от Vslav Посмотреть сообщение
    можно как-то запускать эмулятор чтобы он не открывал окно, молча делал компиляцию в фоне и потом завершался
    Придётся подождать появления консольного "эмулятора RT-11", предназначенного исключительно для запуска команд и консольных утилит RT-11 в консоли Windows.

  10. Эти 2 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    hobot (20.01.2015), Vslav (20.01.2015)

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

  12. #587
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,309
    Благодарностей: 1821
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    случае приводит к невозможности восстановления исходного состяния NumLock
    Меня устроит и приведение NumLock в какое-то фиксированное состояние, в моем случае всегда "включено". Может быть, ткнете меня в WinAPI как NumLock можно принудительно включить, тогда я утилитку себе напишу, буду просто в командном файле ее вызывать. Или в конфиг вставьте - в какое состояние NumLock приводить при выходе.

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

    Еще предложение - чтобы эмулятор мог возвращать код ошибки, устанавливаемый или возвращаемый утилитами RT-11, тогда make может увидеть ошибку и более красиво и информативно остановиться.
    Последний раз редактировалось Vslav; 20.01.2015 в 17:04.

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    как NumLock можно принудительно включить
    Код:
    	BYTE keyState[256];
    	GetKeyboardState((LPBYTE)&keyState);
    
    	keyState[VK_NUMLOCK] = 1;
    
    	SetKeyboardState((LPBYTE)&keyState);

    Цитата Сообщение от Vslav Посмотреть сообщение
    чтобы окно было невидимым или хотя бы свернутым.
    Запустить любую оконную программу в свёрнутом окне можно средствами Windows. Для проверки сейчас сделал на своём рабочем столе ссылку на pdp11.exe, сделал на этой ссылке правый клик и в свойствах выбрал "Окно->Свёрнутое в значок". Наверняка, запустить эмулятор через такую ссылку можно не только вручную.


    Цитата Сообщение от Vslav Посмотреть сообщение
    Еще предложение - чтобы эмулятор мог возвращать код ошибки, устанавливаемый или возвращаемый утилитами RT-11.
    Такое возможно только при использовании специального ( ещё не написанного ) монитора RT-11, передающего код завершения из RT-11 в эмулятор. Вряд ли такая опция появится раньше консольной версии эмулятора.

  14. Эти 2 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    hobot (20.01.2015), Vslav (20.01.2015)

  15. #589
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,309
    Благодарностей: 1821
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Код:
    	BYTE keyState[256];
    	GetKeyboardState((LPBYTE)&keyState);
    
    	keyState[VK_NUMLOCK] = 1;
    
    	SetKeyboardState((LPBYTE)&keyState);
    У меня такое под Win7 не заработало, MSDN вот чего пишет:

    Цитата Сообщение от MSDN
    Because the SetKeyboardState function alters the input state of the calling thread and not the global input state of the system, an application cannot use SetKeyboardState to set the NUM LOCK, CAPS LOCK, or SCROLL LOCK (or the Japanese KANA) indicator lights on the keyboard. These can be set or cleared using SendInput to simulate keystrokes.
    Вот такое работает:
    Код:
    int main(int argc, char *argv[])
    {
      BYTE keyState[256];
      BOOL result;
    
      result = GetKeyboardState((LPBYTE)&keyState);
      if (result && (keyState[VK_NUMLOCK] == 0))
      {
        keybd_event(VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0);
        keybd_event(VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
      }
      return 0;
    }
    Цитата Сообщение от Patron Посмотреть сообщение
    Запустить любую оконную программу в свёрнутом окне можно средствами Windows.
    Да, спасибо за идею, я на FAR-е сижу, поэтому сложно до такого додуматься

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Вот такое работает
    Точно. В эмуляторе это выглядит ( и работает ) так:

    Код:
    void SetNumLock( bool bState )
    {
      BYTE keyState[256];
    
      GetKeyboardState((LPBYTE)&keyState);
      if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
          (!bState && (keyState[VK_NUMLOCK] & 1)) )
      {
      // Simulate a key press
         keybd_event( VK_NUMLOCK,
                      0,
                      KEYEVENTF_EXTENDEDKEY | 0,
                      0 );
    
      // Simulate a key release
         keybd_event( VK_NUMLOCK,
                      0,
                      KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                      0);
      }
    }

Страница 59 из 160 ПерваяПервая ... 555657585960616263 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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