1

Привет,
есть ли у кого-нибудь пресеты 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)

Ностальгирующий рукожоп

2

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

3

А собственно есть чем проверить? Там же в описании 1024 модель типа без вейтов. Были мультиколоры или бордеры специально под кай?

4

krt17 сказал:

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

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

5

deathsoft сказал:

krt17 написал(а):

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

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


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

Ностальгирующий рукожоп

6

deathsoft сказал:

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

Спасибо кэп. Про спец программы забавно.

7

Лас сказал:

восстанавливал по комментариям в исходниках этой программы:

Ща подберем.

8

Лас сказал:

Мог чего то забыть, но, по-моему, там еще вручную галку типа even M1 то ли убрать, то ли поставить надо. Если не путаю.

Эту галку можно тоже через настройки улы задать, там какоето из чисел через запятую отвечает за этот флаг.

9

krt17 сказал:

Про спец программы забавно.

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

10

16132/224

11

deathsoft сказал:

Спец программа, которая такт начала пэйпера выдает с точностью до такта + позволяет синхронизацию бордюра сделать.

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

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

12

krt17 сказал:

16132/224

Шота пошло не так...

http://zxdemos.ru/img/posts/posts_20/22284_2.png

Ностальгирующий рукожоп

13

А можно по схеме определить, из сколько линий у кая состоит экран? И какая длительность INT?

Ностальгирующий рукожоп

14

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

15

Лас сказал:

А можно по схеме определить, из сколько линий у кая состоит экран? И какая длительность INT?

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

16

Лас сказал:

И какая длительность INT?

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

17

4T бордер в кае точно (стробирование мультиплексора D34 по H2, также как и в скорпионе).

18

Чего-то не очень здорово фурычит в эмуле - бордюр дергается...
Снял видео как смог http://zxdemos.ru/img/posts/posts_20/22284_2.gif
http://zxdemos.ru/img/posts/posts_20/22284_3.gif

Ностальгирующий рукожоп

19

Лас сказал:

Чего-то не очень здорово фурычит в эмуле - бордюр дергается...

Да, у меня также все дергается. Если жать подряд несколько раз паузу, то видно, что на некоторых кадрах картинка норамльная, а на некторых бордер съезжает относительно папера на пол знакоместа.

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

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

20

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

21

Может дело всё же в логике памяти? Что-то-там неправильно?

22

kalantaj сказал:

Может дело всё же в логике памяти? Что-то-там неправильно?

Не знаю, я писал эти клетки на реальном Кае-1024, там все отлично работало, не дергалось.
Подстройки под первый такт в кадре нет,  если ничего не забыл. Ei halt и всё http://zxdemos.ru/img/posts/posts_20/22284_2.gif

Ностальгирующий рукожоп

23

Я про Memory Logic в Unreal.

24

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

25

У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?

Новое м е г ААА д е м о готово на 60%

26

AAA сказал:

У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?

Инт завязан на сигнал /M1 и начинается не по началу кадрового синхроимпульса (как должно быть), а когда поступит первый /M1 после кадрового синхроимпульса, может в этом дело, что все дергается.

27

Получил параметры развертки KAY1024 (моделированием схемы, кроме положения /INT)

http://zxdemos.ru/img/posts/posts_20/22284_4.gif
Для наглядности - картинка с времянками пентагона (для 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)

28

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

29

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

30

Чего за "лишний  halt"? oO
Смещение из-за лишних 4t, как вариант.

Ностальгирующий рукожоп