Запустил Shock Megademo на якобы самом правильном эмуляторе Spectacular в режиме Spectrum 128 и... упс... Не работает первая часть с цветными полосами. Эмулятор в ресет уходит. Зато ваш тест ULA128 на нем работает правильно. Такое впечатление, что тест этот для эмуляторов написан, а не для реального Spectrum 128.
У Spectrum 128 и Pentagon 128 одинаковое количество тактов в строке 224. Однако ваш ULA128 на моем эмуляторе имеет косые искажения вертикальных линий, что по определению быть не может. Рисунок может сдвинуться вверх/вниз, но никак не по диагонали.
Но и по вертикали он сдвинуться не может, потому как Shock Megademo 100% писан для Spectrum 128 и несовпадение даже на одну линию по вертикали сильно исказит радугу.
Отсюда вывод - ваш ULA128 тест не для Spectrum 128.
Я в своем эмуляторе использовал модель ZX_ULA с Opencores - он основан на восстановлении модели посредством спиливания реального кристалла.
- - - Добавлено - - -
Выводы по SNA файлу делать нельзя. Нет уверенности в полной совместимости системы. Вы-то наверняка снапшот на прошивке Pentagon 128 делаете, а уменя прошивка Spectrum 128. В ОЗУ могут мешать какие-то данные, не совпадающие между прошивками.
Нужно TAP или TRD чтобы прога загрузилась правильно и выполнилась сначала, а не с сохраненного момента.
- - - Добавлено - - -
Ан нет. 224 это у ZX48.. 228 у ZX128 Опять ребус... Но Shock Megademo на Spectacular в ZX128 не работает. Только в ZX48 и без звука.