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

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

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

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

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

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

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

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

А собственно есть чем проверить? Там же в описании 1024 модель типа без вейтов. Были мультиколоры или бордеры специально под кай?
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

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

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

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

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

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

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

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

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

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

Лас писал(а):
восстанавливал по комментариям в исходниках этой программы:
Ща подберем.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

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

Сообщение deathsoft »

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

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

16132/224
Гость

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

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

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

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

krt17 писал(а):
16132/224
Шота пошло не так...

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

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

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

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

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

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

Лас писал(а):
А можно по схеме определить, из сколько линий у кая состоит экран? И какая длительность INT?
Конечно можно, чел с набитым глазом минут за 10 тебе скажет, мне пару дней ковыряться, для знающего вообще не вопрос.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

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

Сообщение deathsoft »

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

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

Чего-то не очень здорово фурычит в эмуле - бордюр дергается...
Снял видео как смог Изображение
Изображение
Ностальгирующий рукожоп
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

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

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

Возможно дело в настройке на первый такт в кадре (как в пентагоне), и общем числе тактов в прерывании.Отредактировано deathsoft (2016-12-11 23:53:27)
Аватара пользователя
kalantaj
Сообщения: 2292
Зарегистрирован: 09 июл 2016, 00:00

Сообщение kalantaj »

Похоже как я пытался скорпионовскую демку под пентагон переделать.
Так там при движении квадратов влево/вправо всё нормуль, но при движении вверх/вниз точно такое дрожание квадратов на бордюре по вертикали.
Примерно на одно знакоместо.
Аватара пользователя
kalantaj
Сообщения: 2292
Зарегистрирован: 09 июл 2016, 00:00

Сообщение kalantaj »

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

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

kalantaj писал(а):
Может дело всё же в логике памяти? Что-то-там неправильно?
Не знаю, я писал эти клетки на реальном Кае-1024, там все отлично работало, не дергалось.
Подстройки под первый такт в кадре нет, если ничего не забыл. Ei halt и всё Изображение
Ностальгирующий рукожоп
Аватара пользователя
kalantaj
Сообщения: 2292
Зарегистрирован: 09 июл 2016, 00:00

Сообщение kalantaj »

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

Сообщение deathsoft »

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

Сообщение AAA »

У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

AAA писал(а):
У него инт то на одной частоте или как у мика в фениксе прыгает в разые стороны?
Инт завязан на сигнал /M1 и начинается не по началу кадрового синхроимпульса (как должно быть), а когда поступит первый /M1 после кадрового синхроимпульса, может в этом дело, что все дергается.
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение 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)
Аватара пользователя
deathsoft
Сообщения: 167
Зарегистрирован: 22 окт 2016, 00:00

Сообщение deathsoft »

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

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

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

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

Чего за "лишний halt"? oO
Смещение из-за лишних 4t, как вариант.
Ностальгирующий рукожоп
Ответить