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

User Tag List

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

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

  1. #581
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 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,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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. #583
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #584
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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.

  5. #585
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    По умолчанию

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


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

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

  8. #587
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 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.

  9. #588
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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 в эмулятор. Вряд ли такая опция появится раньше консольной версии эмулятора.

  10. #589
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 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-е сижу, поэтому сложно до такого додуматься

  11. #590
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 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 из 183 ПерваяПервая ... 555657585960616263 ... ПоследняяПоследняя

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

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

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

Похожие темы

  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

Ваши права

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