User Tag List

Показано с 1 по 10 из 78

Тема: PyZX - эмулятор ZX Spectrum, полностью написанный на Python

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    Посмотрел я код эмуля. С первого взгляда код не понравился. pack/unpack автору явно незнаком, numpy тоже. По мне так очень похоже на прямое переложение с какого-то другого языка (С возможно) без каких-либо оптимизаций.
    Да вот, собственно, автор и не скрывает, всё честно написав в прилагаемой документации:
    "Thanks to Jasper(http://www.spectrum.lovely.net/) for real great Java emulator of ZX Spectrum. Big amount of code was just automatically translated from Java into Python, so we need more optimization/rewriting to reach good speed of emulation."
    С уважением, Станислав.

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

  3. #2

    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Да вот, собственно, автор и не скрывает, всё честно написав в прилагаемой документации:
    "Thanks to Jasper(http://www.spectrum.lovely.net/) for real great Java emulator of ZX Spectrum. Big amount of code was just automatically translated from Java into Python, so we need more optimization/rewriting to reach good speed of emulation."
    Хех я угадал ибо как истинный Ъ по ссылкам не хожу и доки не читаю .
    PS: Поковырял сегодня код - код ужасен в принципе и сразу вобщем-то понятно почему оно тормозит. Более того, в коде есть ошибки которые должны приводить к падениям по исключению, т.к. там есть ссылки на переменные, которых нет. Мне чот стало забавно поковыряться, попробую со скуки чуть улучшить характеристики, да и некоторые явные кривуляки убрать.

  4. #3

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

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    pack/unpack автору явно незнаком, numpy тоже.
    Стало любопытно в каких местах PyZX это можно было бы применить?

    Цитата Сообщение от Q-Master Посмотреть сообщение
    Мне чот стало забавно поковыряться, попробую со скуки чуть улучшить характеристики, да и некоторые явные кривуляки убрать.
    А у меня после копания в коде PyZX возникло желание написать что-то своё, хотя это будет существенно дольше.
    С уважением, Станислав.

  5. #4

    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Стало любопытно в каких местах PyZX это можно было бы применить?
    Так все байтодрочерство однозначно надо в pack/unpack зафигачивать и в memoryview(bytearray). По большому счету, timeit.timeit много интересных моментов расскажет про скорости выполнения того или иного куска кода.

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А у меня после копания в коде PyZX возникло желание написать что-то своё, хотя это будет существенно дольше.
    Писать долго. А тут возможно еще привести в порядок, но скорости конечно не будет. Ускорить можно если написать на Cython основные моменты, но это уже будет не так интересно.

  6. #5

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

    По умолчанию

    @Q-Master, как успехи? Или не стал связываться с PyZX?

    А я всё-таки взялся за свой эмулятор с нуля. Не уверен, что доведу его до конца - уж больно муторно сидеть и все команды эмулировать. Хотя когда-то я уже это проходил.
    С уважением, Станислав.

  7. #6

    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    @Q-Master, как успехи? Или не стал связываться с PyZX?

    А я всё-таки взялся за свой эмулятор с нуля. Не уверен, что доведу его до конца - уж больно муторно сидеть и все команды эмулировать. Хотя когда-то я уже это проходил.
    Ну как успехи:
    1. Там есть ошибки в коде, которые вообще не понятно как позволяли ему работать. Реально используются переменные, которые нигде не объявлены.
    2. Сейчас переписываю эмуль проца с if/if/if/if на dict (аналог switch/case получится).
    3. Переписал часть медленных битовых операций на куда более быстрое деление с остатком.
    4. Поковырялся с регистрами, но пока ничего там еще не сделал толком. Надо подключать битфилды для флагов и memoryview для остальных регистров.
    п.2 пипец долгий и нудный. Я максимум еще только треть сделал...

  8. #7

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    Я максимум еще только треть сделал...
    Дело хорошее!

  9. #8

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

    По умолчанию

    Q-Master, отличные новости! Только, судя по всему, от PyZX там уже мало что останется Но это, наверное, даже хорошо!
    Ну, а треть п.2 так это, как мне кажется, очень даже неплохой результат! Ждём дальнейших новостей!
    С уважением, Станислав.

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

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

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

Похожие темы

  1. Собрал комп полностью своими руками
    от scooby-do в разделе Зарубежные компьютеры
    Ответов: 15
    Последнее: 15.03.2025, 00:11
  2. Тулзы для работы с образами на Python
    от Q-Master в разделе Утилиты
    Ответов: 4
    Последнее: 25.11.2014, 22:44
  3. эмулятор ZX Spectrum на Atari XL?
    от [bETA]mEN в разделе Atari
    Ответов: 1
    Последнее: 09.12.2007, 22:51
  4. Python
    от Black1980 в разделе Программирование
    Ответов: 12
    Последнее: 26.12.2006, 10:30

Ваши права

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