Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Самопал (http://zx-pk.ru/showthread.php?t=9457)

ivagor 3rd November 2009 07:15

Vadik, если не сложно, прогони на своем самопале vector speed test 1.0 при всех возможных вариантах частот (если не путаю 1,5/3/6 МГц). Было бы здорово увидеть результат с еще одного реала, кроме оригинального 06Ц, результат которого приведен.

Vadik 5th November 2009 22:30

1 Attachment(s)
Запускал vector speed test вот такая картинка. Из за чего пока непонимаю.

Vadik 5th November 2009 22:40

Из-за неправильного формирования сигнала "INTE" которого нет у Z80 может быть такой результат работы теста?

ivagor 5th November 2009 22:42

А это результат на какой частоте?

Vadik 5th November 2009 22:43

на всех частотах такой результат

ivagor 5th November 2009 23:22

Спасибо за тест. Вполне возможно, что такой результат связан с длительностью INTа. Он у тебя сейчас фиксированной длины или "гасится" по какому-то условию?

---------- Post added 06.11.2009 at 00:14 ---------- Previous post was 05.11.2009 at 23:51 ----------

Могу предположить следующее - сразу после разрешения прерывания в инициализации теста происходит прерывание, отсюда все нули. Ноль для EI мне пока непонятен.

---------- Post added at 00:20 ---------- Previous post was at 00:14 ----------

Quote:

Originally Posted by ivagor (Post 230270)
Ноль для EI мне пока непонятен.

Тяжелый случай, я забыл, что после EI в инициализации поставил NOP, так что и с EI все понятно.

---------- Post added at 00:22 ---------- Previous post was at 00:20 ----------

Vadik, чтобы переделать тест для твоего компьютера, мне нужно знать длительность запроса на прерывание или условие его (запроса) убирания.

Vadik 5th November 2009 23:49

У меня сделано так: Кадровый синхроимпульс с видеоконтролера приходит на триггер К555ТМ2 (подобно заводской схемы "Вектора" и микросхеме D28.2), а вместо сигнала INTE на входе "S" тригера D28.2 я подал сигнал с видеоконтолера который сбрасывает тригер когда "луч" переходит с бордюра на основное поле экрана

ivagor 5th November 2009 23:50

Quote:

Originally Posted by Vadik (Post 230287)
а вместо сигнала INTE на входе "S" тригера D28.2 я подал сигнал с видеоконтолера который сбрасывает тригер когда "луч" переходит с бордюра на основное поле экрана

Т.е. через 40 строк от прерывания?

Vadik 5th November 2009 23:54

ну да, наверно

ivagor 5th November 2009 23:55

Завтра сделаю спецвариант.

Vadik 6th November 2009 00:03

Я хотел спросить. Как правильней работа прерываний, как я сделал или как в оригинале

ivagor 6th November 2009 09:48

Сделал 2 варианта - один в расчете на долгий запрос прерывания, а второй - на очень долгий. Если не трудно, попробуй оба.
Attachment 14099

Quote:

Originally Posted by Vadik (Post 230293)
Как правильней работа прерываний, как я сделал или как в оригинале

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

Vadik 6th November 2009 20:26

1 Attachment(s)
результаты теста vstLFLE.rom

Vadik 6th November 2009 20:37

1 Attachment(s)
Ещё

ivagor 6th November 2009 21:21

Vadik, спасибо за результаты. Попытался перевести в число такт/команду, получается немного странновато. Сколько у тебя строк в кадре (с учетом бордюров и синхры/гашения)? А тактов в строке при 3 МГц?

---------- Post added at 22:01 ---------- Previous post was at 21:58 ----------

Может у тебя тактовая чуть больше, чем 1,5/3/6?

---------- Post added at 22:21 ---------- Previous post was at 22:01 ----------

Попробовал в b2m подобрать частоту, на которой будет как у тебя на рис. 3 МГц. При 3148KHz получается очень близко (разница буквально в одну команду).
Либо у тебя нестандартная длительность кадра, и не 50 Гц, а примерно 47,65 Гц.
Или комбинированный вариант - и частота чуть выше и кадр чуть длиннее :)

Vadik 6th November 2009 21:22

Кварц у меня на 12000к,значит при делении счетчиком К555ИЕ7 частота должна быть равна 1.5/3/6/0.75. Как посчитать количество строк я незнаю, но мне кажется что частота кадровых импульсов у меня меньше чем 50Гц, а измерить мне нечем.
Может из заниженой частоты кадров так получилось?
Когда я сравнивал с эмуляторами мне показалось что AY-музыка в эмуляторах играла быстрее, чем на "самопале".

ivagor 6th November 2009 21:29

Если все же опорная частота строго 12, и если длительность строки стандартная (64 мкс), то получается, что у тебя в кадре не 312, а 328 строк. Соответственно кадровая частота, как я писал выше, примерно 47,65 Гц. При таких параметрах сигнала более чем возможны проблемы с тюнерами при захвате. Может и ТВ не все воспринимают.

Vadik 6th November 2009 21:38

Когда я начал собирать я незадумывался о точных расчётах всех сигналов, да и приборов нет чтобы настраивать,вобщем собирал по логике работы узлов настоящего Вектора.
Сейчас нарисую свою схему видеоконтролера(быстро, но неакуратно) и выложу.
Может подскажите что неправильно.

ivagor 6th November 2009 21:41

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

Vadik 6th November 2009 21:48

Я проверял на разных телевизорах:
Советский "Горизонт"-работает стабильно, без замечаний
Современный "RUBIN"- работает тоже стабильно (Через "Скарт")
LCD "Samsung" (Через "Скарт")-синхронизация иногда срывается как по строкак так и по кадрам
LCD "NOVEX 15" "(Через "Скарт")-синхра стабильная но наблюдается отсутствие нижнего бордюра

Vadik 7th November 2009 12:33

3 Attachment(s)
Подключил к ТВ тюнеру Win TV HVR-1110 работает нормально

Vadik 7th November 2009 12:43

1 Attachment(s)
Схема формирования синхроимпульсов "Самопала". Рисовал быстро поэтому неакуратно. Рисую продолжение.

Ramiros 8th November 2009 12:28

Vadik, В твоем самопале наверное нет циклов ожидания для выравнивания на начало машинного цикла, что есть в оригинальном векторе?

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

ivagor 8th November 2009 12:44

Vadik так и писал, что у него нет никаких тормозов проца, результаты vst этому полностью соответсвуют. Просто получается, что у него в дополнение к нетормозному процу еще и промежуток между прерываниями не 312 строк, а 328. Или строки длиннее.

Ramiros 8th November 2009 14:10

Тогда на него равняться ни есть гуд

Vadik 9th November 2009 23:57

1 Attachment(s)
схема микропроцессорной части самопала, почти готова на данный момент

ivagor 13th November 2009 18:36

Vadik, можно уточнить длительность строки, прогнав следующий тестик на твоем компе при частоте 3 МГц:
Attachment 14237
Если длительность строки 192 такта, то края полоски на бордюре будут строго вертикальные (желательно увидеть скриншот). Число тактов между прерываниями уже известно после прогона vst. В результате можно будет точно сказать, сколько строк между прерываниями.

Vadik 13th November 2009 21:02

1 Attachment(s)
Вот

ivagor 13th November 2009 22:01

Ага, оказалось, что в строке у тебя не 192 такта, к тому же еще и строк до активной части изображения меньше, чем в оригинале. Вот еще один вариант, я на 99,99% уверен, что он даст вертикальную линию на бордюре

Vadik 13th November 2009 22:10

1 Attachment(s)
Вот ветикальные. Интересно сколько строк получается?

ivagor 13th November 2009 22:14

Yes!
Получается, что при 3 МГц:
196 тактов в строке (вектор - 192)
320 строк в кадре (вектор - 312)
32 строки от прерывания до активной области изображения (вектор - 40 строк)

Vadik 13th November 2009 22:18

Это сильно плохо?

ivagor 13th November 2009 22:27

Смотря какие цели преследовать. Частота кадров 47,8 Гц - это однозначно плохо, музычка по прерываниям чуть медленнее играет, совместимость с ТВ и тюнерами (теоретически) хуже, хотя, как я понял, у тебя все "устройства отображения информации" работают нормально.

У меня шкурный вопрос - ты уже пробовал macaroids, king's valley, а вот этот Jet Set пробовал? Он для z80, быстрый, звук через AY. Без модифицированного КД должен работать в ч/б варианте.

Vadik 13th November 2009 22:52

1 Attachment(s)
Полностью копировать Вектор я не собирался, к тому же я мало надеялся что у меня хоть чтото получится.
king's valley,macaroids проверял,больше понравился king's valley.

Jet Set только сейчас попробовал, интересная игрушка.

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

ivagor 13th November 2009 23:03

Спасибо за скрин jet set, я рад, что он работает на реале.

IMHO, главный недостаток твоего компа на данный момент - запрос прерываний длинноватый и фиксированный.

Vadik 13th November 2009 23:10

Я сейчас попробую переделать по схеме Омского адаптера Z80

Vadik 14th November 2009 00:07

4 Attachment(s)
Вот фото железа(в разборе)

Vadik 14th November 2009 00:38

1 Attachment(s)
Допаял схему формирования сигнала INTE из Омского адаптера Z80

запускал Vst.rom

ivagor 14th November 2009 10:45

Vadik, это здорово, но если ты сделал оригинальный омский вариант, то там вроде была засада с обработкой прерываний во время выполнения команд z80 с префиксами. Можно попытаться это проверить таким тестиком
Attachment 14267
Если прерывания не "теряются", то цифры должны увеличиваться примерно каждую секунду. Если цифры идут заметно медленнее, чем секунды (или вобще цифры не показывается), значит прерывания при выполнении двухбайтовых команд не обрабатываются.
Есть доработка на этот случай
Quote:

Originally Posted by ivagor (Post 230567)
Омский - обязательно посмотри дополнение по поводу доделывания обработки прерываний в Вектор-USER, номер 28-29, стр. 6 (страница 118 djvuшного документа)

Вопрос в том, годится ли она для всех частот, в т.ч. 1,5 и 6.

Vadik 14th November 2009 15:02

Проверил. Цифры 3-4 секунды идут нормально потом небольшая пауза и снова 3-4 сек норм пауза....и т.д.
Это на 3Мгц потом проверю на 6Мгц


All times are GMT +4. The time now is 23:23.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.