User Tag List

Страница 5 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 41 по 50 из 70

Тема: sPycialist - эмулятор ПК Специалист на Python

  1. #41

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    CityAceE, я погорячился. Сейчас проще поправить монитор регистров. Инструкции работают за счет того, что у тебя операции с PSW и SP вынесены в отдельные обработчики. Но вообще я не прав, надо как-то переделать регистровый файл. Пока не могу придумать, как это получше сделать -- если регистры нумеровать подряд, 0=b, 1=c... то получается, что в отображении на регистровые пары перепутаны байты. А если как сейчас, то в принципе ок с учетом того, что я там сделано 1 ^ во всех адресациях регистров, но получается вот этот затык с перепутанным AF.

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

    Цитата Сообщение от Q-Master Посмотреть сообщение
    Смысла нет ровным счетом никакого. Доступ к переменным класса и ф-циям класса в питоне несколько медленнее, т.к. везде передается self и еще там куча всякой магии.
    Вот. Я уже убедился в этом на практике.
    Больше игр нет

  2. #42

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,641
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    НР можно починить малой кровью
    Спасибо! Я чуть подправил:

    Код:
    elif vv55a_mode == 0x82:
        if not (addr % 4):
            return 0xff - kb_mem[0]
        elif addr % 4 == 1:
            if kb_ports[0] & kb_mem[0] or (kb_ports[2] & kb_mem[2]) % 0x10:
                return 0xff - kb_ports[1]
            else:
                return 0xff - (kb_ports[1] & 2)
        elif addr % 4 == 2:
            return 0xff - kb_mem[2]

    Цитата Сообщение от ivagor Посмотреть сообщение
    чтобы диагональ не превращалась в квадрат нужно сильно переделывать.
    А в чём суть переделки?

    Цитата Сообщение от svofski Посмотреть сообщение
    А если как сейчас, то в принципе ок с учетом того, что я там сделано 1 ^ во всех адресациях регистров, но получается вот этот затык с перепутанным AF.
    Бог с ним, с монитором - регистровую пару легко перевернуть в итоге при выводе. Просто я не совсем понял почему перемена местами A и F при их задании в начале файла всё крашит. Не стал разбираться и бросил. А вот 1 ^ меня реально не очень порадовало - это же дополнительная медленная логическая операция, которая будет замедлять эмуляцию инструкций. Но опять же всё оставил так, как ты сделал.
    Последний раз редактировалось CityAceE; 02.01.2019 в 14:58.
    С уважением, Станислав.

  3. #43

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас все нажатия сливаются в 2 с половиной байта, по которым можно правильно определить одновременные нажатия только в пределах ряда или колонки. Вместо этих 2.5 байт надо делать матрицу 12x6+1 бит или 12x7. Содержимое keys при этом целесообразно поменять на пары № колонки, № столбца.

  4. #44

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Бог с ним, с монитором - регистровую пару легко перевернуть в итоге при выводе. Просто я не совсем понял почему перемена местами A и F при их задании в начале файла всё крашит. Не стал разбираться и бросил. А вот 1 ^ меня реально не очень порадовало - это же дополнительная медленная логическая операция, которая будет замедлять эмуляцию инструкций. Но опять же всё оставил так, как ты сделал.
    Вот я не могу придумать, как сделать так, чтобы индексы регистров в bytearray были бы b = 0, c = 1, ... но при этом словная memoryview от того же массива была бы не перевернутой. Медленность операции 1 ^ мне кажется преувеличенной, но элегантности в этом нет. Факт.

    Перемена местами A и F все крашит потому, что инструкции, которые ссылаются по индексу на A (например inr a), начинают ссылаться на F.
    Больше игр нет

  5. #45

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,641
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, у меня пока нет никаких полезных мыслей ни по регистрам, ни по клавиатуре. Зато эмулятор стал вполне играбельным:

    С уважением, Станислав.

  6. #46

    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,116
    Спасибо Благодарностей отдано 
    162
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    32 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    В общем, у меня пока нет никаких полезных мыслей ни по регистрам, ни по клавиатуре. Зато эмулятор стал вполне играбельным:
    без звука только.
    не планируете добавить эмуляцию звука или сильно тормозить будет после этого ?

    эммм......
    поспешил с выводами малость.

    как вообще запустить ЭТО из виндовса ?
    то-ли то что у меня десятка, то-ли ещё что, но запустить не выходит никак.
    создал в папке эмулятора батник с ключом "python spycialist.py" и всёравно тишина.
    Последний раз редактировалось ZEman; 02.01.2019 в 16:26.

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

  8. #47

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,641
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEman Посмотреть сообщение
    не планируете добавить эмуляцию звука
    На эмуляцию звука не остаётся ресурсов пока.

    Цитата Сообщение от ZEman Посмотреть сообщение
    как вообще запустить ЭТО из виндовса ?
    1. Скачиваем с официального сайта и устанавливаем интерпретатор Python 3.
    2. Устанавливаем пару требуемых библиотек, подав в консоли команду:
    Код:
    pip install pygame numpy
    3. И только после этого запускаем батник.
    С уважением, Станислав.

  9. #48

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Модернизированный тест клавиатуры (мой, не Рюмика).
    1) Он будет нормально показывать не только на ч/б специалистах, но и на цветных
    2) Нет миганий/морганий
    3) Нет щелчков/потрескиваний
    4) Не используются процедуры ПЗУ (но используется шрифт из ПЗУ, можно и свой шрифт прицепить при необходимости)
    5) Добавил еще один вариант теста (82+91)
    6) Развернул порядок вывода слева-направо, чтобы удобнее было сверять с картинкой
    Вложения Вложения
    • Тип файла: zip klav2.zip (945 байт, Просмотров: 81)

  10. #49

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще один пример того, как не надо программировать на питоне (да и вообще так не надо программировать). Также я поленился редактировать keys и вместо этого транслирую его содержимое в индексы и маски.

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

    Caps Lock имхо лучше заменить на какую-нибудь другую клавишу, например Ctrl, а то сейчас приходится по два раза нажимать.
    Вложения Вложения
    Последний раз редактировалось ivagor; 03.01.2019 в 08:31.

  11. #50

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,641
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Сейчас все нажатия сливаются в 2 с половиной байта, по которым можно правильно определить одновременные нажатия только в пределах ряда или колонки.
    Сделал прототип, чтобы клавиши не слипались. И оно работает. Но надо как-то теперь это переписать, чтобы было красиво, так как сейчас это угодливое нагромождение if'ов.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Еще один пример
    Сделали практически синхронно И довольно похоже. Я тоже не редактировал keys. И обошёлся только одной таблицей (матрицей).

    Просто для сравнения предлагаю свой вариант. Но у меня помимо всего прочего ещё и НР снова отвалился.
    Вложения Вложения
    Последний раз редактировалось CityAceE; 03.01.2019 в 09:00.
    С уважением, Станислав.

Страница 5 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Специалист-М
    от zx_ в разделе Специалист
    Ответов: 230
    Последнее: 18.12.2021, 14:41
  2. Ответов: 77
    Последнее: 21.01.2021, 00:14
  3. Тулзы для работы с образами на Python
    от Q-Master в разделе Утилиты
    Ответов: 4
    Последнее: 25.11.2014, 22:44
  4. Эмулятор ПК "Специалист" для Mac OS X
    от hdc в разделе Эмуляторы отечественных компьютеров
    Ответов: 1
    Последнее: 21.10.2009, 11:28
  5. Python
    от Black1980 в разделе Программирование
    Ответов: 12
    Последнее: 26.12.2006, 10:30

Ваши права

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