Страница 1 из 7

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

Добавлено: 11 дек 2016, 21:23
Лас
Привет,
есть ли у кого-нибудь пресеты ULA для KAY в эмуляторе UnrealSpeccy?
Поделитесь, пожалуйста...

И, конечно, котик, чтоб сердце ваше смягчилось...
krt17 писал(а):
PRESET.KAY1024=69887,16132,224,50,32,0,1,0,0,0,320,240,24,32,384,304,72,64
Отредактировано Лас (2016-12-12 22:12:05)

Добавлено: 11 дек 2016, 22:17
Гость
У кая вроде как вейты есть (судя по схеме http://speccy.info/w/images/f/fc/KAY_1024_Schematic.png), посему анрил так не умеет. А мапинг памяти и пзу вроде как в стандартные входит.
ps Да присмотрелся wait только при турбе.Отредактировано krt17 (2016-12-11 19:31:41)

Добавлено: 11 дек 2016, 22:23
Гость
А собственно есть чем проверить? Там же в описании 1024 модель типа без вейтов. Были мультиколоры или бордеры специально под кай?

Добавлено: 11 дек 2016, 22:26
deathsoft
krt17 писал(а):
У кая вроде как вейты есть
У кая вэйты только в турбе, в нетурбе никаких вэйтов нету. Мапинг тут не причем, спрашивают про ула пресеты, положения бордера и его размеры и положение начала экрана и параметры генерации инта.
Параметры улы надо либо снимать с живого кая с помощью спец программ (интроспек когдато давал такую прогу), либо моделировать схему и смотреть при каких значениях счетчиков какие сигналы генерируются (blank, hsync/vsync и т.д.)

Добавлено: 11 дек 2016, 22:45
Лас
deathsoft писал(а):
krt17 написал(а):

У кая вроде как вейты есть

У кая вэйты только в турбе, в нетурбе никаких вэйтов нету. Мапинг тут не причем, спрашивают про ула пресеты, положения бордера и его размеры и положение начала экрана и параметры генерации инта.
Параметры улы надо либо снимать с живого кая с помощью спец программ (интроспек когдато давал такую прогу), либо моделировать схему и смотреть при каких значениях счетчиков какие сигналы генерируются (blank, hsync/vsync и т.д.)

Были когда-то у меня времянки прописаны в UnrealSpeccy, восстанавливал по комментариям в исходниках этой программы: http://zx-pk.ru/threads/13770-kay-1024- … post355699
Изначально со всеми имеющимися пресетами криво работало, что естественно. Но, вроде, после создания персонального пресета для кая со своими времянками нормально работало в этом эмуляторе. Мог чего то забыть, но, по-моему, там еще вручную галку типа even M1 то ли убрать, то ли поставить надо. Если не путаю.
Исходники, ессно, утрачены ИзображениеОтредактировано Лас (2016-12-11 19:50:58)

Добавлено: 11 дек 2016, 22:52
Гость
deathsoft писал(а):
У кая вэйты только в турбе, в нетурбе никаких вэйтов нету. Мапинг тут не причем, спрашивают про ула пресеты, положения бордера и его размеры и положение начала экрана и параметры генерации инта.
Спасибо кэп. Про спец программы забавно.

Добавлено: 11 дек 2016, 22:57
Гость
Лас писал(а):
восстанавливал по комментариям в исходниках этой программы:
Ща подберем.

Добавлено: 11 дек 2016, 23:12
deathsoft
Лас писал(а):
Мог чего то забыть, но, по-моему, там еще вручную галку типа even M1 то ли убрать, то ли поставить надо. Если не путаю.
Эту галку можно тоже через настройки улы задать, там какоето из чисел через запятую отвечает за этот флаг.

Добавлено: 11 дек 2016, 23:13
deathsoft
krt17 писал(а):
Про спец программы забавно.
Спец программа, которая такт начала пэйпера выдает с точностью до такта + позволяет синхронизацию бордюра сделать.
(собственно вот тема про тайминги пентагона и спец программу http://vb3.zx-pk.ru/showthread.php?t=21212)Отредактировано deathsoft (2016-12-11 20:18:29)

Добавлено: 11 дек 2016, 23:33
Гость
16132/224

Добавлено: 11 дек 2016, 23:43
Гость
deathsoft писал(а):
Спец программа, которая такт начала пэйпера выдает с точностью до такта + позволяет синхронизацию бордюра сделать.
Да все так, просто такое раньше каждый сам для себя делал, когда забывал сколько там на его пентагоне, или когда у коллеги проверить надо, пишешь, по модему кидаешь и смотришь почему у него сечется а у тебя нет.

4т бордер поставить, m1 не нужен. Возможно не 100%, но точнее только по схеме, по крайней мере копать глубже не охота пока.

Добавлено: 11 дек 2016, 23:48
Лас
krt17 писал(а):
16132/224
Шота пошло не так...

Изображение

Добавлено: 11 дек 2016, 23:50
Лас
А можно по схеме определить, из сколько линий у кая состоит экран? И какая длительность INT?

Добавлено: 11 дек 2016, 23:50
Гость
Ну прибавь 4, я все еще на старом анриле, все не доберусь поэкспериментировать с настройками чтоб новый не тормозил.

Добавлено: 11 дек 2016, 23:53
Гость
Лас писал(а):
А можно по схеме определить, из сколько линий у кая состоит экран? И какая длительность INT?
Конечно можно, чел с набитым глазом минут за 10 тебе скажет, мне пару дней ковыряться, для знающего вообще не вопрос.

Добавлено: 12 дек 2016, 01:37
deathsoft
Лас писал(а):
И какая длительность INT?
Инт в кае выставляется по кадровому синхроимпульсу /КС (в сдвиговый регистр D53 грузится паттерн 1001), а снимается по приходу 4х импульсов /M1, ширина инта будет переменная, зависящая от выполняющихся команд (если прерывания в процессоре разрешены, то /IORQ, /M1 придет при подтверждении прерывания).

Добавлено: 12 дек 2016, 01:44
deathsoft
4T бордер в кае точно (стробирование мультиплексора D34 по H2, также как и в скорпионе).

Добавлено: 12 дек 2016, 02:17
Лас
Чего-то не очень здорово фурычит в эмуле - бордюр дергается...
Снял видео как смог Изображение
Изображение

Добавлено: 12 дек 2016, 02:51
deathsoft
Лас писал(а):
Чего-то не очень здорово фурычит в эмуле - бордюр дергается...
Да, у меня также все дергается. Если жать подряд несколько раз паузу, то видно, что на некоторых кадрах картинка норамльная, а на некторых бордер съезжает относительно папера на пол знакоместа.

Надо разбираться, в чем там еще может быть дело.

Возможно дело в настройке на первый такт в кадре (как в пентагоне), и общем числе тактов в прерывании.Отредактировано deathsoft (2016-12-11 23:53:27)

Добавлено: 12 дек 2016, 10:06
kalantaj
Похоже как я пытался скорпионовскую демку под пентагон переделать.
Так там при движении квадратов влево/вправо всё нормуль, но при движении вверх/вниз точно такое дрожание квадратов на бордюре по вертикали.
Примерно на одно знакоместо.

Добавлено: 12 дек 2016, 10:24
kalantaj
Может дело всё же в логике памяти? Что-то-там неправильно?

Добавлено: 12 дек 2016, 11:46
Лас
kalantaj писал(а):
Может дело всё же в логике памяти? Что-то-там неправильно?
Не знаю, я писал эти клетки на реальном Кае-1024, там все отлично работало, не дергалось.
Подстройки под первый такт в кадре нет, если ничего не забыл. Ei halt и всё Изображение

Добавлено: 12 дек 2016, 11:58
kalantaj
Я про Memory Logic в Unreal.

Добавлено: 12 дек 2016, 15:20
deathsoft
Да похоже nemo про безвэйтовость кая просто наебал, т.к. из схемы видно, что даже в нетурбо режиме wait генерируется при обращениях к ОЗУ, сигнал MXSEL - выбор ОЗУ, *TURBO=0 (турбо отключено), далее на D54 видно, что выбирается на сигнал A (а это по сути нестробированный /WAIT, стробирование делается на D2) либо +5V(1), либо /M1 в зависимости от RAS & /CAS (D13.4). В какие моменты приходит этот /WAIT нужно выяснять отдельно, возможно в эти моменты процессор сигнал /WAIT не опрашивает и на него реально пофиг, но тогда непонятно зачем его было вообще генерировать. Ну и самое главное, нету как в пентагоне кэша пикселей/атрибутов на нескольких регистрах, поэтому совершенно непонятно, как схема может работать без вэйтов. Более подробно соотношение сигналов можно узнать только моделированием схемы, либо снятием диаграмм с реального кая.

Добавлено: 12 дек 2016, 15:31
AAA
У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?

Добавлено: 12 дек 2016, 15:46
deathsoft
AAA писал(а):
У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?
Инт завязан на сигнал /M1 и начинается не по началу кадрового синхроимпульса (как должно быть), а когда поступит первый /M1 после кадрового синхроимпульса, может в этом дело, что все дергается.

Добавлено: 12 дек 2016, 17:49
deathsoft
Получил параметры развертки KAY1024 (моделированием схемы, кроме положения /INT)

Изображение
Для наглядности - картинка с времянками пентагона (для KAY1024 числа будут другие, они приведены ниже):

Горизонтальная развертка:
sync line: 16тактов
blank line: 32 такта
левый бордюр: 32такта
экран:128 тактов
правый бордюр: 32такта
(общая длина строки 32+32+128+32=224 такта)

Вертикальная развертка:
frame sync: 16 строк
верхний бордюр: 56 строк
экран: 192 строки
нижний бордюр: 48 строк
(общий размер экрана 16+56+192+48=312 строк)

Общее число тактов в экране 224*312=69888

С интом все сложнее, патерн инта 1001 грузится в сдвиговый регистр по сигналу кадровой синхронизации /KC, но далее этот патерн сдвигается сигналом /M1 от процессора, и /INT получается плавающий (как AAA писал про феникс). Причем от /INT до следующего /INT число тактов будет переменное.Отредактировано deathsoft (2016-12-12 14:54:32)

Добавлено: 12 дек 2016, 18:09
deathsoft
Посмотрел схему феникса, там инт сделан как в зеленом скорпионе, установка по окончанию импульса кадровой синхронизации, сброс по H6. Т.е. инт никуда не плавает, и ширина самого импульса инт фиксированная.

Добавлено: 12 дек 2016, 19:28
Гость
Про плавающий инт немного не ясно, конец да плавающий но начало то в любом случае по m1 его запускай или так подавай, проц же все равно закончит текущую команду? Или при таком раскладе пропустит и только на следующей будет прерывание? Дрожание явно из за лишнего halt оно и дает 8 точек, судя по тому что дрожит не всегда именно когда int должен прийти именно 0/4 оно пропускает в остальных [1-3]/4 выравнивает. Мне как невежде в данном вопросе схемотехническом, по дилетански кажется что имеено в ебнутом формирователе инта дело, все остальное четко, и 72 линии подтвердились.
Отсюда наверное и странные 4 такта плюсом к 72 линиям.Отредактировано krt17 (2016-12-12 16:36:20)

Добавлено: 12 дек 2016, 20:08
Лас
Чего за "лишний halt"? oO
Смещение из-за лишних 4t, как вариант.