Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   LENINGRAD-2010. Сборка, наладка, расширение. (http://zx-pk.ru/showthread.php?t=16312)

balu_dark 5th October 2011 16:51

Учитывайте что вайты добавляются не отфонаря! А только если происходит ЗАПИСЬ(поправлюсь и чтение если оно мешает видеоконтроллеру) в область экранных 16к которая совпадает с чтением памяти видеоконтроллером. Рекомендую ввести в схему не просто бордер а сигнал которым переключаются мультиплексоры с адреса процессора на адрес видео генератора. тогда wait будет возникать только в нужные моменты времени а не тупо тормозить все кроме вывода бордюра.

zst 5th October 2011 20:19

1 Attachment(s)
Quote:

Originally Posted by Alexander Makeev (Post 420978)
и не станет, в оригинальном спектруме добавляются WAIT'ы, длительность зависит от того в какой момент времени происходит обращение к памяти, причем WAIT'ы добавляются при обращении к странице где находится видеопамять.

например на такте 14336 идет происходит задержка на 6 тактов, на такте 14337 на 5 тактов и т.д. При обращении к портам тоже такая задержка (в ULA нет проверки что это порт, а не память).

Cудя по этому описанию (http://www.worldofspectrum.org/faq/r...htm#Contention), которое сделано, видимо, для написания эмуляторов, первые 6 тактов идет задержка Z80 до окончания этого периода 6 тактов. Потом два такта идут без задержки. Поэтому, я и предложил схему, которая тормозит Z80 при обращении к странице видео ОЗУ (или к портам с таким же диапазоном адресов: A15=0 и A14=1) во время отображения картинки на экране. 6 тактов - есть WAIT, 2 такта - нет WAIT. Только надо эту идею проверить на Ленинграде.

Не подскажешь по какой схеме добавляются WAIT'ы в оригинальном Ленинград-1?[/QUOTE]
Примерно так:
WAIT начанается в момент чтения первого байта команды из ОЗУ, если при этом такт отображения экрана (H1=1). Заканчивается при /WRBUF = 0.

Quote:

Originally Posted by zebest (Post 421089)
как всегда слу чайно наткнулся
http://zxpress.ru/print.php?id=8905


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

Я пытаюсь настроить Ленинград до совместимости с оригинальным 48К.

При проверке должны правильно отображаться:

DARK STAR (через некоторое время после запуска игры должен появиться летающий аппарат на верхнем бордере):
(ftp://ftp.worldofspectrum.org/pub/si...rkStar.tap.zip)

http://s47.radikal.ru/i117/1110/10/e2dc7b9f77a4t.jpg


VECTRON (полоски на бордере должны совпасть с изображением на картинке):
(ftp://ftp.worldofspectrum.org/pub/si...ectron.tap.zip)

http://s49.radikal.ru/i123/1110/49/3852118adbc8t.jpg


AQUAPLANE (горизонт должнен совпасть на картинке и на бордере):
(ftp://ftp.worldofspectrum.org/pub/si...aplane.tap.zip)

http://s42.radikal.ru/i097/1110/94/2dd43570c4f9t.jpg


SHOCK MEGADEMO (вторая часть с горизонтальными полосками по всему экрану):
(ftp://ftp.worldofspectrum.org/pub/si...gademo.tap.zip)

http://s48.radikal.ru/i122/1110/d0/8d9bab38300ft.jpg



ULATEST3
(http://wizard.ae.krakow.pl/~jb/qaop/ulatest3.tap)

http://s017.radikal.ru/i418/1112/73/05ca2b52f16et.jpg


Тест INT`a от Ковалевского
(http://zx.pk.ru/attachment.php?attac...2&d=1317736159)

http://s002.radikal.ru/i200/1112/bb/88ce96ad78cat.jpg


Тест, показывающий кол-во тактов
(http://zx.pk.ru/attachment.php?attac...6&d=1317751499)
http://s15.radikal.ru/i188/1112/0b/4282c91cae83t.jpg


Тест развертки от VNN_KCS:
(http://sderni.ru/84839)

[место для фотографии]


FLOATSPY
(файл ниже)

[место для фотографии]

balu_dark 5th October 2011 21:57

ZST : только потом когда уже будут окончательные рекомендации по доработкам - надо будет придумать как эти А14 и А15 брать в случае расширения 128к. скорее всего их брать с мультиплексора страниц. чтобы тормозилось еще и работа с впечатанной в верхнее окно видео страницей.

---------- Post added at 19:57 ---------- Previous post was at 19:55 ----------

Блин - может внатуре тормозить его клоком а не вейтом?

_Ratibor_ 5th October 2011 22:15

zst, фигня какая то с портом FF и тестовыми программами.
Когда я пытался на ленинграде-1 сделать этот порт(и по Вашему варианту и по куче других), то тесты вроде показывают что практически все ок, а к примеру в игре F.I.R.E. все мерцало.
А сегодня наконецто закончил с нижней платой PROFI 5.03, распаял порт FF.
Запускаю тесты(floatspy) - даже близко не рядом :(
Осерчал я на профик, вернее на реализации в нем ФФ.
Я там сделал порт FF не как в журнале схем, а по другому,
вернее я это еще сделал в году этак 95 вроде по рекомендациям Кирилла Громова.
А сейчас загружаю F.I.R.E. - все нормально, никакого мерцания нет.
Значит порт FF работает нормально.
Сейчас еще раз перепроверил схему реализации порта FF, лучше не куда.

И кому верить ?

_Ratibor_ 7th October 2011 14:01

Quote:

Originally Posted by zst (Post 419611)
Может попробовать так:

http://s06.radikal.ru/i179/1109/eb/789ef930390bt.jpg

В общем собрал я сейчас эту доработку, чутка еще не хватает.
Визуально бордюр выше на 4-5 строк(на уровне пиков низких гор).

zst 7th October 2011 20:31

Quote:

Originally Posted by _Ratibor_ (Post 421696)
В общем собрал я сейчас эту доработку, чутка еще не хватает.
Визуально бордюр выше на 4-5 строк(на уровне пиков низких гор).

У меня тоже. Наверно, меньше чем на четырех микросхемах не сделать.

---------- Post added at 20:27 ---------- Previous post was at 20:24 ----------

Quote:

Originally Posted by balu_dark (Post 421154)
ZST : только потом когда уже будут окончательные рекомендации по доработкам - надо будет придумать как эти А14 и А15 брать в случае расширения 128к. скорее всего их брать с мультиплексора страниц. чтобы тормозилось еще и работа с впечатанной в верхнее окно видео страницей.

Сделать бы пока для 48К. У 128К наверно времянки другие.
Quote:

Блин - может внатуре тормозить его клоком а не вейтом?
Да, наверно, другого способа добиться совсестимости времянок нет. В оригинале ведь на ULA не подается сигнал WAIT. Значит, и нам надо сделать без WAIT.

---------- Post added at 20:31 ---------- Previous post was at 20:27 ----------

Попробовал более сложную схему на двух микросхемах - не помогло. Надо делать без WAIT. А для этого еще 1.5-2 микросхемы понадобится.

_Ratibor_ 7th October 2011 20:43

Quote:

Originally Posted by zst (Post 421880)
Попробовал более сложную схему на двух микросхемах - не помогло. Надо делать без WAIT. А для этого еще 1.5-2 микросхемы понадобится.

Ну как бы микросхемы есть :)
Схема нужна.

_Ratibor_ 8th October 2011 22:27

Quote:

Originally Posted by zst (Post 421880)
Надо делать без WAIT. А для этого еще 1.5-2 микросхемы понадобится.

У Дельта-С тоже сделано без вайта, торможением тактовой частоты.
Это вообще самый правильный клон. Можно там глянуть как реализовано.
Правда там с интом накосячили :) Тупо кадровую на инт завели.
Если там исправить инт и добавить FF, то фактически фирменный спектрум получится.

Ewgeny7 9th October 2011 00:30

Самый близкий родственник "Ленинграда" - "Скорпион". Что интересно, фрейм скорпа гораздо ближе к "фирменному", например, бордюрный эффект в "Академии" стоит почти на месте.

zst 9th October 2011 13:02

Quote:

Originally Posted by _Ratibor_ (Post 421895)
Ну как бы микросхемы есть :)
Схема нужна.

Вот схема на четырех микросхемах:

http://s017.radikal.ru/i443/1110/24/52073f33e2c0t.jpg

Проверьте, работает ли?

_Ratibor_ 9th October 2011 13:52

zst, чтото меня сомнения гложат по поводу программы testint,
можете попросить чтоб на фирменном спектруме сделали фото экрана этой программы ?

Вот кстати этот тест в trd.

zst 10th October 2011 14:53

Quote:

Originally Posted by _Ratibor_ (Post 422548)
zst, чтото меня сомнения гложат по поводу программы testint,
можете попросить чтоб на фирменном спектруме сделали фото экрана этой программы ?

Вот кстати этот тест в trd.

Да зачем она нам ? Где гарантия, что она правильно работает ? У нас УЖЕ сделан правильный INT. И положение и длительность. Как у "HARLEQUIN". Вот на него и надо равняться в вопросах совместимости с оригиналом.

Желательно конечно по всем приведенным выше программам для тестирования скриншоты с оригинального Спектрума 48K. Пока такой есть только у Ewgeny7. AQUAPLANE он уже протестировал.

Надо проверить на этой игре приведенную выше доработку для Ленинграда.

_Ratibor_ 10th October 2011 15:18

Quote:

Originally Posted by zst (Post 422980)
Да зачем она нам ? Где гарантия, что она правильно работает ? У нас УЖЕ сделан правильный INT. И положение и длительность. Как у "HARLEQUIN". Вот на него и надо равняться в вопросах совместимости с оригиналом.

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

Ewgeny7 10th October 2011 15:52

Quote:

Originally Posted by _Ratibor_ (Post 422987)
Попроси чтоб запустили ее на фирменном спектруме и сфотографировали экран.

Да-да, Вадим, попроси меня запустить это на фирменной машине!
Как попросишь, я сразу посмотрю! :)

Есть тапок этой программы?

_Ratibor_ 10th October 2011 16:06

Quote:

Originally Posted by Ewgeny7 (Post 422999)
Да-да, Вадим, попроси меня запустить это на фирменной машине!
Как попросишь, я сразу посмотрю! :)

:)

zst 10th October 2011 16:30

Quote:

Originally Posted by Ewgeny7 (Post 422999)
Да-да, Вадим, попроси меня запустить это на фирменной машине!
Как попросишь, я сразу посмотрю! :)

Есть тапок этой программы?

Ewgeny7, запустите, пожалуйста, тестовые программы на оригинальном ZX SPECTRUM+ и сделайте скриншоты к ним.

Ссылки на программы и примерный вид экранов в них есть там -- http://www.zx.pk.ru/showpost.php?p=421104&postcount=167

Ewgeny7 10th October 2011 18:44

1 Attachment(s)
Извините за задержку, тестирую программы. Компьютер - оригинал "Spectrum+" и MultIDE.
Вот картинко теста.

Ewgeny7 10th October 2011 18:49

1 Attachment(s)
А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.

Ewgeny7 10th October 2011 18:52

1 Attachment(s)
Что такое ULAtest я не знаю, и картинки не понял. Но, вот она:

_Ratibor_ 10th October 2011 18:53

Quote:

Originally Posted by Ewgeny7 (Post 423080)
А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.

Спасибо.
Вот этого я и ожидал, вернее именно этого положения инта, хотя это и вообще все карты путает :)

Ewgeny7 10th October 2011 18:55

1 Attachment(s)
Однако, Vectron работает как положено.

Ewgeny7 10th October 2011 18:56

Quote:

Originally Posted by _Ratibor_ (Post 423086)
Вот этого я и ожидал, вернее именно этого положения инта, хотя это и вообще все карты путает

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

_Ratibor_ 10th October 2011 19:06

Quote:

Originally Posted by Ewgeny7 (Post 423089)
Тест, написанный без реала, показывает исключительно предположения :)

Да в данном случае это не столь важно, важно смещение полосок.
Просто кто мне сможет объяснить один факт ?
У меня на одном клоне белая полоска смещена по отношению к желтой точно также, в VECTRONе бордюрные полосы совпадают идеально, горизонт в AQUAPLANE тоже совпадает идеально, а вот тарелка в DARK STAR находится не по середине, а слева экрана, вернее даже на четверть заходит в лево за пределы экрана(не экранной области, а именно всего экрана телевизора).

Ewgeny7 если можно, то сделай фото тарелки в DARK STAR.

Ewgeny7 10th October 2011 19:13

Начало INTа не по-кошерному, вот и уехало. Обрати внимание, где на картинке начинается INT у англичанина. Это место с трудом, но видно с правой стороны.

---------- Post added at 18:09 ---------- Previous post was at 18:08 ----------

Такое впечатление, что там замешан задний фронт сигнала screen/border.

---------- Post added at 18:13 ---------- Previous post was at 18:09 ----------

Точнее, момент когда включается бордюр.

Ewgeny7 10th October 2011 19:17

1 Attachment(s)
Quote:

Originally Posted by _Ratibor_ (Post 423102)
сделай фото тарелки в DARK STAR

Посередине:

_Ratibor_ 10th October 2011 19:21

Quote:

Originally Posted by Ewgeny7 (Post 423105)
Точнее, момент когда включается бордюр.

Да понятно что чел делал программу не на фирменном спектруме.
Вот я и попросил протестировать эти все программы и игры, чтоб сделать хоть сколько-нибудь правильное мнение. И только после этого доводить до ума Ленинград-1 и другие клоны.

---------- Post added at 20:21 ---------- Previous post was at 20:20 ----------

Quote:

Originally Posted by Ewgeny7 (Post 423114)
Посередине:

Вот тут то и засада у меня.
Почему совпадает все, за исключением тарелки ?
Блин, вроде в ней еще и порт ФФ замешан, а у меня он сейчас отключен.

Ewgeny7 10th October 2011 19:27

Порт ФыФы забудь. Положение по горизонтали бордюрной картинки зависит от начала INTа по горизонтали В СТРОКЕ. Я на самодельных клонах на ПЛИСе видел к чему приводит неправильный момент начала. Горизонтальные полоски будут на месте, а вот вертикальные переходы съезжают.

zst 10th October 2011 20:47

Quote:

Originally Posted by Ewgeny7 (Post 423123)
Порт ФыФы забудь. Положение по горизонтали бордюрной картинки зависит от начала INTа по горизонтали В СТРОКЕ. Я на самодельных клонах на ПЛИСе видел к чему приводит неправильный момент начала. Горизонтальные полоски будут на месте, а вот вертикальные переходы съезжают.

У меня в Ленинграде тоже порта FF еще нет, но тарелка есть. Тоже не совсем совпадает. Но тут может влиять отсутствие торможения порта FE.

А на какой картинке видно положение INT в оригинальном клоне ?

---------- Post added at 20:47 ---------- Previous post was at 20:41 ----------

Quote:

Originally Posted by Ewgeny7 (Post 423105)
Начало INTа не по-кошерному, вот и уехало. Обрати внимание, где на картинке начинается INT у англичанина. Это место с трудом, но видно с правой стороны.
Такое впечатление, что там замешан задний фронт сигнала screen/border.
Точнее, момент когда включается бордюр.

INT начинается в начале кадрового синхроимпульса. А в строке - положение в начале экранной области.

Как он мог попасть вправо ? Видимо программа работает в медленной памяти или не учитывает торможение порта FE или при обращении к медленной памяти при отображении экрана.

На Ленинграде без WAIT полоска была в другом месте, а на реале изображается позже из-за этих задержек

_Ratibor_ 10th October 2011 22:20

Quote:

Originally Posted by zst (Post 423171)
А на какой картинке видно положение INT в оригинальном клоне ?

Вот:
Quote:

Originally Posted by Ewgeny7 (Post 423080)
А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.
http://zx.pk.ru/attachment.php?attac...8&d=1318254536



---------- Post added at 23:20 ---------- Previous post was at 22:41 ----------

Quote:

Originally Posted by zst (Post 423171)
INT начинается в начале кадрового синхроимпульса. А в строке - положение в начале экранной области.

В идеале да, но вот кадровый синхроимпульс может быть чуть больше, чуть меньше, соответственно и инт уйдет в сторону.
Думаю правильней инт настраивать с помощью порта ФФ, по программе ULA Test 3. Так получится настроить инт с точностью до такта.

Вот сейчас сфотографировал у себя на одном клоне(не ленинград-1):

Test Int 1.10(фактически как на фирменном):
http://s017.radikal.ru/i419/1110/b8/5f5afea2e0adt.jpg

Aqua Plane(фактически как на фирменном):
http://s015.radikal.ru/i331/1110/fb/f47f2716488ft.jpg

VECTRON(фактически как на фирменном):
http://s017.radikal.ru/i407/1110/5c/66824093dc68t.jpg

DARKSTAR(а вот тут засада):
http://s017.radikal.ru/i407/1110/69/67282324c80dt.jpg

zst 10th October 2011 22:33

Quote:

Originally Posted by _Ratibor_ (Post 423218)
Вот:

Вот сейчас сфотографировал у себя на одном клоне(не ленинград-1):
DARKSTAR:
http://s017.radikal.ru/i407/1110/69/67282324c80dt.jpg

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

А почему AQUAPLANE почти совпадает - есть медленная память ?

_Ratibor_ 10th October 2011 22:38

Quote:

Originally Posted by zst (Post 423259)
Наверно начало INT связано с началом строчного синхроимпульса, а надо привязать к левой границе экранной области. Обычно в этот момент сбрасываются в ноль счетчики знакомест в строке.

Инт сейчас сделан как мы сделали в Ленинграде на тм2 от кадрового синхроимпульса.
Судя по VECTRON и DARKSTAR надо ИНТ задержать на тактов 40-50, а то он чутка раньше приходит.

Quote:

Originally Posted by zst (Post 423259)
А почему AQUAPLANE почти совпадает - есть медленная память ?

Есть.

zst 11th October 2011 11:11

Quote:

Originally Posted by _Ratibor_ (Post 423264)
Инт сейчас сделан как мы сделали в Ленинграде на тм2 от кадрового синхроимпульса.
Судя по VECTRON и DARKSTAR надо ИНТ задержать на тактов 40-50, а то он чутка раньше приходит.

Значит у компьютеров есть отличие в тактировании счетчиков строк. Например, одном берется строчный синхроимпольс, а в другом - бордер в строке.

Доработку в Ленинграде по новой схеме еще не пробовали ?

Ewgeny7 11th October 2011 11:39

1 Attachment(s)
[offtop]
Вадим, понравился мне твой КИТ на аватаре. Поэтому я сделал из него ZX-КИТ :)
[/offtop]

zst 11th October 2011 11:43

Quote:

Originally Posted by Ewgeny7 (Post 423415)
[offtop]
Вадим, понравился мне твой КИТ на аватаре. Поэтому я сделал из него ZX-КИТ :)
[/offtop]

Мне такой цветной тоже нравится. Подари ?

_Ratibor_ 11th October 2011 11:49

Quote:

Originally Posted by zst (Post 423406)
Доработку в Ленинграде по новой схеме еще не пробовали ?

Пока нет.

Ewgeny7 11th October 2011 11:55

Quote:

Originally Posted by zst (Post 423416)
Подари ?

Ну разумеется, я для этого и делал :)

_Ratibor_ 11th October 2011 12:22

zst, сейчас поставил между выходом тм2 и землей кондер 68n - тарелка сдвинулась вправо. Чтоб полностью она встала на место надо примерно 0,1 мкф,
но если ставлю сразу 0,1 мкф, то тарелка совсем исчезает.
Сейчас поставлю лн1 и использую два элемента от нее и между ними поставлю 3 кондера, два по 47n и один 22n. Думаю тарелка встанет тогда на место.

zst 11th October 2011 12:51

Quote:

Originally Posted by _Ratibor_ (Post 423433)
zst, сейчас поставил между выходом тм2 и землей кондер 68n - тарелка сдвинулась вправо. Чтоб полностью она встала на место надо примерно 0,1 мкф,
но если ставлю сразу 0,1 мкф, то тарелка совсем исчезает.
Сейчас поставлю лн1 и использую два элемента от нее и между ними поставлю 3 кондера, два по 47n и один 22n. Думаю тарелка встанет тогда на место.

Можно еще проинвертировать сигнал записи в триггер/регистр цвета бордера.

_Ratibor_ 11th October 2011 12:57

Quote:

Originally Posted by zst (Post 423440)
Можно еще проинвертировать сигнал записи в триггер/регистр цвета бордера.

Чтото не понял, можно поподробней ?

zst 11th October 2011 13:03

В триггер ТМ9 данные записываются по положительному фронту сигнала. Если сигнал проинвертировать, то положительный фронт будет в другой момент времени.


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

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