Цитата Сообщение от CityAceE Посмотреть сообщение
Спасибо за совет! Добавил сверху ещё какое-то невероятное количество FPS (см. ниже), сделав вот так:

Код:
zx_array = memoryview(bytearray(49152))

def fill_screen_map(zx_videoram=zx_screen):
    mem = 0
    for line_numb in range(192):
        pix_addr = addr_pix[line_numb]
        attr_addr = addr_attr[line_numb]
        for i in range(32):
            zx_array[mem:mem + 8] = pixelmap[zx_videoram[attr_addr + i]][zx_videoram[pix_addr + i]]
            mem += 8
    return zx_array.tobytes()
Попытался твою процедуру вывода на экран целиком к себе поместить, чтобы замерить скорость и сравнить. Но она сходу не заработала (экран оставался чёрным). Потыкался, сразу разобраться не получилось в чём проблем и я бросил. Но я успел увидеть, что FPS по сравнению с тем, что у меня было ранее (144) просел где-то на 10-15 кадров.
Ну вообще странно. Я пробовал перетаскивать твою процедуру целиком и не заметил изменений по фпс. Я вчера еще по разному игрался и пробовал вообще избавиться от конвертаций типов, но по фпс ничего не добился, а вот картинку испортил.

Цитата Сообщение от CityAceE Посмотреть сообщение
@Q-Master, у меня есть пакет "идеальных" файлов SNA, которые я делал уже давно. Я уже писал ранее, что получал их из TZX, поставив на паузу сразу после загрузки последнего байта и потратив несколько байтов стека кассетного загрузчика. Так вот из 36 файлов корректно запустилось на текущей версии PyZX гораздо меньше половины Не работают игры по-разному: какие-то сбрасывают виртуальный Спектрум, какие-то зависают, какие-то портят экран, из-за некоторых вылетает эмулятор, какая-то одна игра заставила что-то выводить в консоль. В общем, вот этот пакет снепшотов. Посмотри, вдруг удастся оперативно отыскать и профиксить ошибки эмуляции.
Качнул, надо проверить что там не так. 146% что с флагами лажа где-то.