а ты цвета задал? У ямахи же нет палитры, там прописанные цвета.
Вид для печати
goodboy, вот именно эту палитру я и вижу. Сложно тут сопоставить цвета Спектрумовским. Тут три оттенка красного и три зелёного.
Ничего на задавал, использую стандартные, такие как goodboy продемонстрировал.
Задействовал только хотя бы приблизительно похожие цвета:
https://pic.maxiol.com/images2/16351....exolonmsx.png https://pic.maxiol.com/images2/16351...exolonorig.png
Задал свою палитру. Но что-то сильно резкий переход между цветами:
Яркий белый - %111111111111
Тёмный белый - %011101110111
https://pic.maxiol.com/images2/16351...05.msxexzx.png
Затупил с палитрой. Наверное это где-то из области профдеформации. Я вместо того, чтобы расценивать значение канала как двоичное число, манипулировал с единицами как в маске подсети, то есть тупо убирал единицы слева.
https://pic.maxiol.com/images2/16352...exlolonmsx.png https://pic.maxiol.com/images2/16351...exolonorig.png
Теперь картинка идентична Спектрумовской. Но скорость её вывода совсем не радует. Чтобы вывести полноэкранную картинку нужно перекинуть 6144*2 байт через out (x),a.
Во вложении исходный текст для компиляции с помощью ассемблера sjasmplus. Перед компиляцией рядом с исходником нужно положить файл стандартного экрана ZX Spectrum длиной 6912 с именем zx.scr (либо поменять его имя в исходном тексте в предпоследней строке). На выходе будет файл, готовый для запуска в эмуляторе MSX.
Никакой оптимизации по скорости или объёму не делал, написал, что называется "в лоб", лишь бы работало. Делал для себя, в качестве заготовки графической программы, на основе которой можно будет что-то написать для платформы MSX.
Возможно кому-то пригодится аналогичная по назначению процедура для msx1 или альтернативный вариант для msx2 (яндекс.диск). Компилировать в TASM 3.2
- - - Добавлено - - -
В варианте для msx1 теоретически могла возникнуть проблема, сделал более корректно. Вариант для msx2 тоже заменил за компанию.
Upd 27.10.2021: Образы romов по 8192 байта, например для запуска в fMSX.