Времянки UnrealSpeccy для KAY

Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Да мне интересно какие там на реале задержки рассчитаны и я их хочу с моделированием схемы сравнить, а не с той херней которую надо в унриал вбивать. Я хочу посмотреть как надо исправить унриал чтобы в нем указывать числа соответствующие схеме, а не подогнанные под непонятно что.
Гость

Сообщение Гость »

deathsoft писал(а):
Эта дема под желтый скорпион. Запусти ее в унриале посмотри.
Ну под четнотактовый тоже можно конечно, но еще меньше полезных команд. Я верю, вчера запускал. Так, а на зеленом тоже четнотактовые были команды? Я уже не помню нифига.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Судя по настрокам в унриале - нет, в зеленом округления до четных тактов не было. А как там в реале, надо прошивку альтеры смотреть, как там вэйт формируется в нетурбо режиме, я когда то постил исходник прошивки.
Гость

Сообщение Гость »

deathsoft писал(а):
Да мне интересно какие там на реале задержки рассчитаны и я их хочу с моделированием схемы сравнить, а не с той херней которую надо в унриал вбивать. Я хочу посмотреть как надо исправить унриал чтобы в нем указывать числа соответствующие схеме, а не подогнанные под непонятно что.
Как ты это себе представляешь, ну хорошо, прощелкай в анриле до первого оута вот и узнаешь где хотели начинать бордер, такты то от инта будут показаны.
Так что выяснили по схеме, 16+(16+40)+192+48. Не понятно когда приходит инт, на это две причины. Первая ебнутая цепочка через сдвиг по m1 и вторая ,я так понимаю, не понятная связь с КС ( когда с точностью до пикселя относительно СС он начинается). По деме это точнее чем есть не выяснить, нет там такого, ну либо я вообще ничего в этом не понимаю.
Гость

Сообщение Гость »

Кстати посмотрел еще раз на сблайвовскую картинку, хуйня там конечно конкретная написана, но что то правильное наверное есть же (272+48=312????Изображение)
Гость

Сообщение Гость »

deathsoft писал(а):
Вот дема для скорпиона http://zxaaa.net/view_demo.php?id=5847
На деме кстати скрин заглушки Изображение
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

ну у себя я для теста делал вот такую программу:
в A, D, E заданы цвета для бордюра в BC задано 0xFE

рисование из обработчика im2

первая строка
[(вход в im2 19T) (ld (0),A 13T) это всего 32T (hblank)] [(out (c),A 12T) (DI 4T) (out (c), D 12T) (DI 4T) всего 32T левый бордюр] [(out (c),E 12T) (DI 37раз по 4T) всего 128+32T]

следующие строки (7 штук)
[(DI 8 раз по 4T) всего 32T (hblank)] [(out (c),A 12T) (DI 4T) (out (c), D 12T) (DI 4T) всего 32T левый бордюр] [(out (c),E 12T) (DI 37раз по 4T) всего 128+32T]
Гость

Сообщение Гость »

Решил поставить в пресете позырить что там в бланках происходит 448,312,72,64 опять побилась синхра. Я нифига не понимаю как окно отображения может влиять на луч. Короче Дэд надо переделывать, мирится с этим нельзя, пора положить конец всяким спекуляторам и фьюзам хотя бы на безвейтовом поле боя.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Посмотри функцию video_timing_tables() и update_screen() в draw.cpp они отвечают за потактовое рисование на бордере и экране.

http://rgho.st/7jQ9dtqMT (вот тут я сам комментарии дописывал, у SMT там черт ногу сломит, никаких комментов не было).Отредактировано deathsoft (2016-12-13 23:30:21)
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Кстати в бланках ты ничего не увидишь, в унриале когда далается запись во время бланка из функции update_screen() делается просто выход.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

При рисовании используется таблица отрезков экрана (которая фрагментам строк экрана (по тактам) сопоставляет 3 видео режима):
0 - нерисуемая часть
1 - бордер
2 - paper
каждый отрезок имеет такт начала и такт конца и самое главное - указатель на место в промежуточном видеобуфере в котором строится изображение.
последний отрезок помечается спец маркером конца списка отрезков.Отредактировано deathsoft (2016-12-13 23:38:48)
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

krt17 писал(а):
Решил поставить в пресете позырить что там в бланках происходит 448,312,72,64 опять побилась синхра.
Задание числа строк больше чем 304 - это выход за границы массива. Максимальный размер видеообласти 512*304.
Гость

Сообщение Гость »

Я все понял, не надо переделывать и так проживем:)
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

krt17 писал(а):
Я все понял, не надо переделывать и так проживем:)
Ты хоть сорец то посмотрел?
Гость

Сообщение Гость »

Конечно, как video[] строится понял в общих чертах, как с помощью нее пишется буфер чуть похуже. Но еще я понял что все понять а еще и осмысленные вещи делать у меня уйдет куча времени. На пенсии, не раньше, у меня элита стынет Изображение
Гость

Сообщение Гость »

Ну так чтобы понять правильно ли я понял. video заполняется разными типами областей. Буфер заполянется спековскими байтами (пиксели + атрибуты) до текущего такта перед каждой записью в экран или в fe или щелчком экрана. В буфере хранятся и экран и бордер. Где там проверка на 4т бордер нифига не понял, поэтому и думаю что мне как до луны.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
Вот дема для скорпиона http://zxaaa.net/view_demo.php?id=5847
Так эту демку тоже я делал, вечерами дома у друга. Своего скорпиона не было.
Делал на желтом скорпе с вэйтами Изображение
Монитор электроника, бордер = small.
Днем дома на бумажке посчитал, вечером набил Изображение
Потом отлаживал.
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

С пресетом то для кая напортачили:
видимый верхний бордер у кая 56, а не 72
всего видимых строк 296, а не 304
невидимые 16 строк уже учтены в размере фрейма 69887
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Лас, а кай на котором писалась kay_demo был без доработок инта? А то такое впечатление, что там инт пытались на пентагоновский переделать. Т.к. в start of paper учитываются 16 невидимых строк, которые в кае (в соответствии со схемой) должны быть в конце кадра, а при приходе инта должны быть сразу 56 видимых строк бордюра.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
Лас, а кай на котором писалась kay_demo был без доработок инта? А то такое впечатление, что там инт пытались на пентагоновский переделать. Т.к. в start of paper учитываются 16 невидимых строк, которые в кае (в соответствии со схемой) должны быть в конце кадра, а при приходе инта должны быть сразу 56 видимых строк бордюра.
без доработок, серийный KAY-1024
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

А схема которая с ним в комплекте шла не осталось? Та схема которая у меня датирована 19.01.2000. Возможно есть разные версии схем.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
А схема которая с ним в комплекте шла не осталось? Та схема которая у меня датирована 19.01.2000. Возможно есть разные версии схем.
В комплекте с ним было вот это, 1999 год: http://zxpress.ru/book.php?id=108
http://zxpress.ru/books_files/KAY1024.ZIP
P.S. принципиальной схемы КАЯ в этой книжке - нет.Отредактировано Лас (2016-12-14 19:46:12)
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Лас писал(а):
В комплекте с ним было вот это
Видимо немо как и зонов продавал схему отдельно, или вообще не продавал, а только в сервисные мастерские давал.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
Лас написал(а):

В комплекте с ним было вот это

Видимо немо как и зонов продавал схему отдельно, или вообще не продавал, а только в сервисные мастерские давал.
схема была, на отдельном листе формата а3.

вот нашел схему 2008, правленную Котом:
https://web.archive.org/web/20160912200 … ematic.png
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Лас писал(а):
вот нашел схему 2008, правленную Котом:
У меня эта же схема, только без правок кота.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Тут выяснилась еще одна интересная деталь растактовок развертки ленинградо подобных схем (скорпион/кай):
(структура строк растра на примере кая)

[MB 128T][RB 32T][hblank 32T] (строка 0)
[LB 32T][MB 128T][RB 32T][hblank 32T] (строка 1)
...
[LB 32T][MB 128T][RB 32T][hblank 32T] (строка 55)
[LB 32T][PP 128T][RB 32T][hblank 32T] (строка 56,первая строка paper)

LB - left border
MB - middle border
RB - right border
PP - paper
отсюда становится понятным, почему start of paper считается без учета hblank и левого бордюра (в отличии от пентагона)
на ленинградо подобных схемах за 0 отсчета принят paper, первая строка растра (строка 0) начинается не с hblank и не с левого бордюра, а сразу с бордюра расположенного над paper и это укороченная строка (всего 160 тактов, а не 224).

В пентагоне первая строка растра начинается с hblank, затем идет левый бордюр, средний бордюр и правый бордюр.

Единственное, что пока остается не понятным, почему в kay_demo есть учет еще 16 строк, которые должны быть судя по схеме ДО прихода инта.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
Тут выяснилась еще одна интересная деталь растактовок развертки ленинградо подобных схем (скорпион/кай):
(структура строк растра на примере кая)

[MB 128T][RB 32T][hblank 32T] (строка 0)
[LB 32T][MB 128T][RB 32T][hblank 32T] (строка 1)
...
[LB 32T][MB 128T][RB 32T][hblank 32T] (строка 55)
[LB 32T][PP 128T][RB 32T][hblank 32T] (строка 56,первая строка paper)

LB - left border
MB - middle border
RB - right border
PP - paper
отсюда становится понятным, почему start of paper считается без учета hblank и левого бордюра (в отличии от пентагона)
на ленинградо подобных схемах за 0 отсчета принят paper, первая строка растра (строка 0) начинается не с hblank и не с левого бордюра, а сразу с бордюра расположенного над paper и это укороченная строка (всего 160 тактов, а не 224).

В пентагоне первая строка растра начинается с hblank, затем идет левый бордюр, средний бордюр и правый бордюр.

Единственное, что пока остается не понятным, почему в kay_demo есть учет еще 16 строк, которые должны быть судя по схеме ДО прихода инта.
Демку для Кая писал по тому же принципу, что и для скорпиона:
основной параметр - 224 такта на строку, N строк до PAPER, одинаковое количество тактов на обе рамки - по 48 тактов, 128 тактов на экран.
Основная ощутимая разница для меня - это то, что в скорпионе проще выравнивать код по тактам было.
Точную информацию по количеству строк до paper я, наверное, получил или от Скутина или от Лапо.
Вполне возможно, что потом просто выравнивал, варьируя параметры вывода.
Короче, кодер не запаривается - при отладке подгоняет по месту, если что-то не срослось. Но, помнится, что на KAY-1024 в Москве, выпущенном ранее, эти клетки работали аналогично, без рассинхронизации.
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Нашел тут разъяснение от немо по поводу "странной" реализации /INT:
Открытые письма Nemo №4.7
665708 04.08.2000


10. Длительность INT'a - 2 маш команды
(EI) либо 3 маш. команды (DI). Т.е. INT
(его длительность) измеряется в машинных
командах, а не в макросекундах (либо цик-
лах). Поэтому его длительность одинакова
в TURBO/NORMAL, что очень важно. Т.е. та-
кой способ реализации INT'a можно расс-
матривать как специфику TURBO-машин -
иначе софт начнет глючить. Кроме того INT
синхронизирован с процессором. Т.е. он
всегда, везде и во всех KAY'ях одинаков,
чего нельзя сказать о формирователях
INT'а на RC-цепях.

На самом то деле сделано через жопу (но не лишено смысла), немо просто не осилил снимать инт по /IORQ /M1. А на скорпионе в турбе да - инт будет 32такта для частоты 3.5МГц, которые на 7МГц превратятся уже в 64 такта, т.к. длина инта берется со счетчика развертки который не зависит от частоты процессора.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

Протрассировал по фотографиям пустой платы kay1024 (http://sblive.narod.ru/ZX-Spectrum/KAY- … Y-1024.htm (KAY1024TOP.jpg, KAY1024BOTTOM.jpg)) выводы регистра D53 формирователя /INT, все полностью совпало со схемой. Ясности в дополнительные 16линий это не внесло. Нужен тест kaydemo на реальном kay1024.
Аватара пользователя
Лас
Сообщения: 636
Зарегистрирован: 31 июл 2016, 00:00
Откуда: пос. Полярный, ЯНАО
Контактная информация:

Сообщение Лас »

deathsoft писал(а):
Протрассировал по фотографиям пустой платы kay1024 (http://sblive.narod.ru/ZX-Spectrum/KAY- … Y-1024.htm (KAY1024TOP.jpg, KAY1024BOTTOM.jpg)) выводы регистра D53 формирователя /INT, все полностью совпало со схемой. Ясности в дополнительные 16линий это не внесло. Нужен тест kaydemo на реальном kay1024.
какого рода тест нужен на реале? на двух каях нормально работало. на моем - питерском, и на другом - московском, который года на 2 старше был.
Ностальгирующий рукожоп
Ответить