Итак, экран 24576 байт. Я "разделил" его на три страницы по 8192 байта, которые включаются в область ПЗУ.
Когда в одном байте два пикселя, это, конечно. не очень удобно. Но зато занимает в два раза меньше памяти.
Но зато аппаратная прокрутка по горизонту тоже будет по 2 пикселя за раз. Это не очень хорошо, но можно использовать.
Я сделал несколько портов ввода/вывода с общим младшим адресом 91 (#5b).
Для управления экранами, страницами памяти карты, палитрой. Больше 20 портов.
На данный момент свободной внутренней памяти осталось около 6 кб. Можно попробовать добавить немного маленьких спрайтов.
Возможно, это пригодится чтобы обесклешивать главного героя в играх. Просто рисовать на втором экране поверх спрайта на обычном экране.
Также будет возможность использовать 4 Мб памяти sdram как просто память.
Каринку для SAM Coupé можно подготовить в DaDither, это удобно.
Предстоит доработка всего этого, тестирование.
Не понятно как будет на практике смотреться 60Гц, в то время как на спектруме 50. Надо ли добавлять какие-то прерывания по началу экрана, строки.
Если попробовать синхронизироваться с сигналом int спектрума, то наверное не все телевизоры такое поймут. Особенно 48 Гц.
Вот тут снял немного видео с экрана:
https://drive.google.com/drive/folde...tUjg61tFPhUf-B
Кстати, когда компьютер пишет в видеопамять, то при конфликтах видеоконтроллер читает байты не по тем адресам, и на экране появляется небольшой "снег". Прямо как фирменная особенность настоящего ZX!
Это можно разглядеть на видео.
Понятно, что изображение надо менять не во время прохода луча, тогда всё будет ок.
После сброса загружается палитра со стандартными цветами ZX. И второй экран выключается, на всякий случай.




Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Ответить с цитированием