
Сообщение от
DDp
ВНЕЗАПНО
если присмотретсо
видно что палитровый "мультиколор" получается с точностью до 4-х пикселей
а сами палитровые "знакоместа" 4х1 смещены относительно пиксельных "знакомест" на один пиксель

конечно может быть это изза ВНЕЗАПНОЙ кратности кода пищалки
а может так и есть
потом запилю какой нить тест
или можете запилить его сами и без меня
нужно нарисовать на экране шахматку
1111000011110000
1111000011110000
1111000011110000
1111000011110000
0000111100001111
0000111100001111
0000111100001111
0000111100001111
и гадить в поллитру с переменной скоростью (чтоб цикл плавал с шагом 1 такт туда сюда)
записать все на видео или несколько раз отскриншоить
а дальше можно усреднить жменю картинок
и посмотреть на границы палитровых "знакомест"
еще нужно проверить не смещается ли палитровые "знакоместа" при включении питания
нужно выключать БП нахрен включать
и записать подобный тест раза 4
а вот усрреденный B0000x от DDp
с той же точностью и тем же смещением

- - - Добавлено - - -
так же продублирую псто с львов форума и тут
В такты перевел, но мне кажется что их нельзя использовать точно в таком виде в любых условиях, скорее всего конкретная растактовка будет зависеть и от последнего цикла предыдущей команды.
но во первых ты doing it wrong полностью и целиком
и таким тестом ничего толком не определишь
да и сильно ты округлил не к месту
а во вторых цифры тоже интересные

мы видим сколько команд влезет в круглое число тактов
но тут мы вспоминаем про мерзкий ГФ24 с его никому ненужным делением на 9
который как всегда все нам портит
Код:
у нас есть 5 mhz video и возможно оно же частота ram
1--------2--------3--------4--------1--------2--------3--------4--------
часть тактов жрет чтение видео (не уверен когда именно)
=========2--------3--------4--------=========2--------3--------4--------
а тут у нас cpu работающий практически не синхронно
1---2---3---4---5---6---7---8---9---1---2---3---4---5---6---7---8---9---
а вот как то так наверно 2 nop-а будут выполнятся за 13 тактов в среднем
=========2--------3--------4--------=========2--------3--------4--------
wwwwwwww1111------------wwww1111------------wwwwwwww
1---2---3---4---5---6---7---8---9---10--11--12--13--
не нужны принимать за чистую правду
ибо я не все раздуплил на схеме
и не понел полностью и точно
...точнее тут я сильно прозевал и сделал все на оборот
но все ras cas-ы тактируются от кварца деленного на 2\4\8
когда проц на свой волне с частотой кварца деленной на 9
тоесть эмулятор должен плясать не от частоты проца
а от частоты проца*4 *8
нужно жестко втыкать в времянки...
...ну и писать чисто Львов эмулятор с нуля
а не считать получетверти тактов и мерять время пищание (которое на записях с разных звуковух уже +-1,5% плавает)...
и вообще времянки меряются мультиколорами и логическими анализаторами
мерянием длины пищания много ненамеряишь...
ну и вангую что эффективная частота проца дето в районе 1666666,6 из 2222222.2
- - - Добавлено - - -
и тут обращаем внимание на точное выравнивание всех out-ов по границам 4х1 пикселей
и это в то время как проц и видео живут совершенно на некратных частотах
может в эмуляции можно вообще плясать от частоты видео?
покрайней мере в то время когда "луч" над экраном
там вообще случаем не получается выравнивание до 9 тактов над экраном?
вот поправил и переосмыслил (расположение чтения относительно chars-ов условное!)
Код:
2nop = 13t
123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234 20MHz
1---------------2---------------3---------------4---------------1---------------2---------------3---------------4---------------1--- 1,25MHz chars
1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1--- 5MHz pixels
--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx---- chars reading
x x x x cpu can read
111111111---------------------------111111111---------------------------wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
1--------2--------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------1--------2------ 2,2MHz Cpu
ld a,a ~ 7t
123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234 20MHz
1---------------2---------------3---------------4---------------1---------------2---------------3---------------4---------------1--- 1,25MHz chars
1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1--- 5MHz pixels
------------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx--------xxxxxxxx chars reading
x x x x cpu can read
111111111------------------------------------wwwwwwwwwwwwwwwwwwwwwwwwwww111111111------------------------------------wwwwwwwwwwwwwwww
1--------2--------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------1--------2------ 2,2MHz Cpu
сколько длится чтение видео памяти нужно уточнить
или так
Код:
2nop = 13t
123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234 20MHz
1---------------2---------------3---------------4---------------1---------------2---------------3---------------4---------------1--- 1,25MHz chars
1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1--- 5MHz pixels
------------xx--------------xx--------------xx--------------xx--------------xx--------------xx--------------xx--------------xx------ chars reading
x x x x cpu can read
111111111---------------------------111111111---------------------------wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
1--------2--------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------1--------2------ 2,2MHz Cpu
ld a,a ~ 7t
123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234 20MHz
1---------------2---------------3---------------4---------------1---------------2---------------3---------------4---------------1--- 1,25MHz chars
1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1---2---3---4---5---6---7---8---1--- 5MHz pixels
------------xx--------------xx--------------xx--------------xx--------------xx--------------xx--------------xx--------------xx------ chars reading
x x x x cpu can read
111111111------------------------------------wwwwwwwwwwwwwwwwwwwwwwwwwww111111111------------------------------------wwwwwwwwwwwwwwww
1--------2--------3--------4--------5--------6--------7--------8--------9--------10-------11-------12-------13-------1--------2------ 2,2MHz Cpu
тк там 1/8 времени клащается video\cpu на d50 или около того?