PDA

Просмотр полной версии : LENINGRAD-2010. Сборка, наладка, расширение.



Страницы : [1] 2

zx-kit
07.07.2011, 15:08
Печатная плата сделана на базе файлов moxjemi (http://zx.pk.ru/showpost.php?p=263963&postcount=1) и материалов с сайта http://sblive.narod.ru/ZX-Spectrum/Leningrad48k/Leningrad48k.htm
Цель данной версии - устранение основных ошибок на старой печатной плате и добавление мелких улучшений для упрощения сборки при сохранении основной схемы, расположения элементов и дорожек.

Изменения в печатной плате по сравнению с оригинальным Ленинградом:

1. Первые площадки под микросхемы сделаны квадратными.
2. Ширина дорожек увеличена до 0.5 мм. Немного изменена форма дорожек.
3. Диаметр переходных отверстий уменьшен до 0.6 мм.
4. Печатная плата покрыта синей паяльной маской.
5. Добавлено небольшое монтажное поле около разъема клавиатуры для возможности замены узла чтения с магнитофона на схему с К561ЛН2.
6. Справа, возле микросхем ОЗУ, добавлено монтажное поле шириной 7 площадок чтобы можно было распаять даже микросхемы в корпусах DIP-28, DIP-32, DIP-40.
7. Диаметр отверстий на монтажных полях увеличен до 1 мм, чтобы можно было вставлять и припаивать штыревые разъемы или разъемы IDC.
8. Убраны площадки под вторую микросхему ПЗУ.
9. Добавлены площадки для возможности установки микрохемы FLASH в корпусе DIP-32 вместо ПЗУ. Прошивку для Ленинграда записывать во FLASH с адреса #С000.
10. Возле триггера К555TM9 добавлены площадки под два диода и резистор 1кОм, чтобы запись в регистр BORDERа производилась при A0=0.
11. Ниже Z80 добавлены площадки под резистор подтяжки 470 Ом на тактовые импульсы для Z80.
12. Ниже микросхемы схемы генератора 14 МГц добавлены площадки под второй резистор 470 Ом с целью увеличения стабильности работы.
13. Возле микросхемы K555ИР9 предусмотрены площадки для установки RC цепочки для подачи сигнала на 1 вывод. Можно заменить проволочной перемычкой.
14. Видеовыход для подключения к телевизору через SCART сделан на транзисторах.
15. Висящие в воздухе входы R и S триггеров К555TM2 подключены к +5В.
16. Входы счетчика D4 К555ИЕ7 настроены для кварца 14 МГц (10 вывод на +5В, а 1,9,15 - на землю). У меня в старом Ленинграде было так и работает, хотя во многих описаниях - не так.
17. Резисторы подтяжки 10К для шины данных Z80 заменены на резисторную сборку, общий вывод резисторов - снизу сборки.

Собранная плата с разъемами для подключения питания и платы VGA&PAL:
http://i040.radikal.ru/1107/f6/e78bcca58a59t.jpg (http://i040.radikal.ru/1107/f6/e78bcca58a59.jpg)


Дополнительные элементы:
http://s53.radikal.ru/i140/1107/01/572ee0a6f24ct.jpg (http://s53.radikal.ru/i140/1107/01/572ee0a6f24c.jpg)

Сборка/припаять:

Два диода (катоды в общей точке) и резистор 1 кОм возле микросхемы К555ТМ9 (чтобы запись в регистр BORDERа производилась при A0=0).
Резистор 470 R ниже микросхемы схемы генератора 14 МГц (с целью увеличения стабильности работы).
Конденстор 2.2 nF между выводами 4 и 7 микросхемы К555ЛЕ1 (настройка круга в символе (с) ).
Резистор 470 R ниже Z80 (подтяжка тактовых импольсов Z80 для повышения стабильности).
Конденстор 560 pF между выводами 6 и 7 микросхемы К555ЛЛ1 (настройка количества тактов в строке = 896).
Проволочную перемычку возле микросхемы K555ИР9. (возможно вместо нее пайка RC цепочки для подачи сигнала на 1 вывод для настройки границ знакомест при подключении не через видеоадаптер VGA&PAL).
Диод параллельно резистору 10К в цепи сброса Z80 катодом к 16 выводу микросхемы К555ИР9 (для формирования сброса после пропадания питания).
Электролитический конденсатор 100 uFх16V на питание +5В возле микросхем ОЗУ (для уменьшения помех по питанию).
Конденсаторы 0.1 uF по всей плате (для уменьшения помех по питанию).
Проволочную перемычку с нижней стороны платы (устранение ошибки на плате, фото приведено ниже).


Ошибка на печатной плате - отсутствует короткая дорожка - припаять перемычку:
http://s009.radikal.ru/i308/1107/17/647caa4d35dft.jpg (http://s009.radikal.ru/i308/1107/17/647caa4d35df.jpg)

НАСТРОЙКА, МОДЕРНИЗАЦИЯ, РАСШИРЕНИЕ:

1. Номинал конденсатора C2 в узле формирования сигнала INT = 22 nF.
2. Подключение VGA монитора: (http://www.zx.pk.ru/showpost.php?p=406524&postcount=12).
3. Подключение адаптера PS/2 клавиатуры KEYB&SINC (http://zx.pk.ru/showpost.php?p=406530&postcount=45).
4. Вывод звука на телевизор, монитор, активные колонки: http://www.zx.pk.ru/showpost.php?p=411597&postcount=19
5. Подключение SEGA джойстика как KEMPSTON с помощью К555ЛН1: http://zx.pk.ru/showpost.php?p=440801&postcount=233
6. Подключение шины ZX-BUS: ...
7. Подключение MultIDE: ...
8. Подключение платы расширения 128K+AY: ...
9. ДОРАБОТКА ПОЛОЖЕНИЯ INT И МОДЕРНИЗАЦИЯ ФОРМИРОВАТЕЛЯ WAIT: http://www.zx.pk.ru/showpost.php?p=414859&postcount=29
10. Реализация порта #FF: http://www.zx.pk.ru/showpost.php?p=416678&postcount=96
11. "Медленная" память в Лениграде: http://zx.pk.ru/showpost.php?p=440801&postcount=233
12. Укорачивание сигнала WRBUF для безвайтовой работы: http://zx.pk.ru/showpost.php?p=441997&postcount=260
13. Узел чтения с магнитофона на микросхеме K561ЛН2: http://zx.pk.ru/showpost.php?p=411560&postcount=18
14. Подключение палитры ULAplus: http://zx.pk.ru/showpost.php?p=445085&postcount=267

ДРУГИЕ ССЫЛКИ:

Cхема и монтажка оригинальной платы: http://sblive.narod.ru/ZX-Spectrum/Leningrad48k/Leningrad48k.htm
Список элементов: там же. Рекомендуется использовать такие же микросхемы, как на приведенных выше фотографиях. Узел чтения с магнитофона лучше сделать на К561ЛН2.
Инструкция по настройке (позиционные обозначения могут быть по другой схеме): http://zx.pk.ru/showpost.php?p=67132&postcount=12
Прошивки: можно использовать прошивку OpenSE BASIC с открытым исходным кодом: http://sourceforge.net/projects/sebasic/files/OpenSE%20BASIC/. Прошивку записывать во FLASH с адреса #С000
Тест-прошивки для проверки работы компьютера: http://www.zx.pk.ru/showpost.php?p=397684&postcount=22.
Программа для тестирования ОЗУ в формате .tap: http://zx.pk.ru/showthread.php?p=283577#post283577
Программы для тестирования совместимости с реалом: http://zx.pk.ru/showpost.php?p=421104&postcount=167
Программатор для прошивки FLASH: http://www.zxkit.ru/katalog-1/zxkit-006.
Приобретение печатных плат и деталей для сборки: http://www.zxkit.ru.

zx-kit
28.07.2011, 18:04
В названии тему: "LENINGRAD-2010. Сборка, наладка, расширение" указано расширение. В чем заключается или как планируется расширение?
В том виде как он есть он мало что может. Можно будет собрать схемы:
1. Узел чтения с магнитофона/MP3-плеера на К561ЛН2.
2. Подключение SEGA джойстика как KEMPSTON с помощью К555ЛН1.
3. Подключение VGA монитора.
4. Подключение шины ZX-BUS.
5. Подключение платы расширения 128K+AY.
6. Подключение адаптера PS/2 клавиатуры KEYB&SINC.
7. Подключение MultIDE.

Ссылки на расширения будут добавляться в первый пост.

zx-kit
28.07.2011, 20:39
Кстати, вопрос больше адресован всей аудитории, а не только "zst", так как тема для всех!
Потому не понятно почему за всех "отдувается" Вадим?
Понятно, что само расширение предполагает, но хотелось бы услышать и прочитать мнение и других участников форума!
Да мне Ленинград интересен как простой компьютер, так в нем все понятно. Многое из расширений уже давно есть, но зарыто где-то на форуме и это сразу не найти.

Еще я просто проверил, работает ли плата, которую я предлагаю приобрести.

Так же к ней буду подключать для проверки остальные KIT-ы для Ленинграда.

axel_sunrise
29.07.2011, 04:39
Вадим,вы где то говорили,что хотите прикошачить к ленинграду читалку с СД карт вместо магнитофона,хотелось бы сделать такую доработку

zx-kit
31.07.2011, 00:46
Вадим,вы где то говорили,что хотите прикошачить к ленинграду читалку с СД карт вместо магнитофона,хотелось бы сделать такую доработку
Наверно это MultIDE с адаптером SD->IDE. Через некоторое время планирую заказать платы.

---------- Post added at 01:46 ---------- Previous post was at 01:42 ----------


Вот, в части расширения. Неплохо было бы сделать плату расширения, до уровня ZS256, как об этом было написано в журнале ZX-Ревю, 7-8, 1996, стр. 4. Если надо будет сделаю сканирование страниц этой статьи.
У меня есть книжка, в которой есть описание, как подключить ProfROM с Сервис-Монитором к любому компьютеру. Там есть схема доработки.

Cчитаю, что для игр 48/128К не надо. А для работы есть PC. Планирую плату расширения до 128К: 128К SRAM, 128K FLASH и музыкальный сопроцессор. Будет устанавливаться в слот ZX-BUS. Несколько проводков с разъемом припаивается к Ленинграду для организации второго экрана.

zx-kit
31.07.2011, 17:17
"zst". Вадим, а можно разместить сканированную книжку?
http://www.zx.pk.ru/showpost.php?p=217919&postcount=129

axel_sunrise
01.08.2011, 08:42
3. Подключение VGA монитора.
4. Подключение шины ZX-BUS.
5. Подключение платы расширения 128K+AY.
6. Подключение адаптера PS/2 клавиатуры KEYB&SINC.
7. Подключение MultIDE.

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

zx-kit
09.08.2011, 12:08
http://s47.radikal.ru/i117/1108/b6/a2f6e01f8f32t.jpg (http://s47.radikal.ru/i117/1108/b6/a2f6e01f8f32.jpg)

Общие рекомендации по подключению - http://zx.pk.ru/showpost.php?p=232575&postcount=573

Подключение разъема HU 09F к компьютеру LENINGRAD-2010:

1. GND <- точка входа общий питание
2. +5V <- точка входа питание +5В
3. R <- 7-D36
4. G <- 9-D36
5. B <- 4-D36
6. I <- 12-D36
7. KSI <- 12-D11
8. SSI <- 13-D11
9. F14MHZ <- 6-D1

Оригинальная схема и монтажка Ленинграда: http://sblive.narod.ru/ZX-Spectrum/Leningrad48k/Leningrad48k.htm

http://s57.radikal.ru/i157/1108/f7/d77442610a6at.jpg (http://s57.radikal.ru/i157/1108/f7/d77442610a6a.jpg)


Как припаять ответную часть к плате VGA&PAL: http://zx.pk.ru/showpost.php?p=328801&postcount=802

Более подробно про плату VGA&PAL: http://www.zx.pk.ru/showthread.php?t=10548[COLOR="Silver"]

KJIaBogaB
10.08.2011, 01:05
zst, а нельзя данную плату совместить с VGA разъемом и соответствующим кодером? Нубам вроде меня она бы пришлась по душе.

zx-kit
10.08.2011, 07:21
zst, а нельзя данную плату совместить с VGA разъемом и соответствующим кодером? Нубам вроде меня она бы пришлась по душе.
LENINGRAD+VGA, реализованный на микросхемах мелкой логики на одной плате ?
Но без дополнительной памяти VGA возможен только режим VGA 50 Гц с потерей эффектов на BORDER-е. Да и возможно ли такое ?

И это будет уже не Ленинград, а что-то другое. Вы ведь уже сейчас можете жестко прикрутить плату VGA&PAL к плате Ленинграда, например над тем местом, где раположены транзисторы RGB.

zx-kit
10.08.2011, 09:27
Фото установки платы VGA-выхода вторым этажом на плату LENINGRAD-2010:

http://s013.radikal.ru/i325/1108/ff/e20242f5c2f4t.jpg (http://s013.radikal.ru/i325/1108/ff/e20242f5c2f4.jpg)

http://s009.radikal.ru/i308/1108/94/79ef33db405bt.jpg (http://s009.radikal.ru/i308/1108/94/79ef33db405b.jpg)

http://s006.radikal.ru/i214/1108/da/2cb06a2aa4f5t.jpg (http://s006.radikal.ru/i214/1108/da/2cb06a2aa4f5.jpg)

KJIaBogaB
11.08.2011, 00:10
LENINGRAD+VGA, реализованный на микросхемах мелкой логики на одной плате ?
Но без дополнительной памяти VGA возможен только режим VGA 50 Гц с потерей эффектов на BORDER-е. Да и возможно ли такое ?
Вот вот да - это и хотелось бы. Возможно или нет, не знаю - Вам виднее.
Я скорее всего понял, что я хотел :) В теме про Speccy2007 одноплатный вариант Вы мне ответили про разъем DRB-9F.

Dobryak
22.08.2011, 11:39
Здравия всем. Добавлю и я своих 5 копеек в обсуждение улучшения Ленинград 1. За основу был взят файл платы LENINGRAD-2010 которым любезно поделился Вадим Сабиржанов. Дабы далеко не уйти от оригинала во внешнем виде и добавить удобняки которых мне не хватало я сделал так:

1. Добавил крепежные отверстия по углам, всегда сердце кровью обливалось сверлить дрелькой заводскую плату :)
2. Узел чтения с магнитофона на СА3 и УД6 выкинул со всей обвязкой, поставил на их место 561ЛН2.
3. Добавил отверстия под конденсаторы возле ЛЕ1 и ЛЛ1 (на плате LENINGRAD-2010 они припаяны на микросхемы)
4. Добавил разъем питания от флопа, теперь нормально можно подрубить РС блок питания к плате при настройке и установке в копрус откусив кусок кабеля с разъемом от дохлого блока питания.
5. Поставил на макетное поле РС спикер и завел к нему дорожки.
6. Добавил отверстия под диодами и резисторами (680 Ом + диоды 3шт.) теперь не надо лепить диоды к резикам, можно нормально запаять в плату.
7. Добавил недостающую дорогу на ИР9 (14 нога)
Ну и мелкие косметические изменения: уменьшил дорожки до 0.35 и вылизал их ровность, сигнал SYNC завел до кучи к video и RGB, переходные отверстия спрятал под маску.

Сделал себе 2 платы, спаял, все работает, и наступило счастье.

Фото сего девайса:
http://i020.radikal.ru/1108/5e/37438ad4ea95t.jpg (http://radikal.ru/F/i020.radikal.ru/1108/5e/37438ad4ea95.jpg.html) http://i050.radikal.ru/1108/68/1d832266e774t.jpg (http://radikal.ru/F/i050.radikal.ru/1108/68/1d832266e774.jpg.html) http://s61.radikal.ru/i173/1108/62/3a3ba96a8106t.jpg (http://radikal.ru/F/s61.radikal.ru/i173/1108/62/3a3ba96a8106.jpg.html) http://s52.radikal.ru/i137/1108/aa/bbcf0e7313b6t.jpg (http://radikal.ru/F/s52.radikal.ru/i137/1108/aa/bbcf0e7313b6.jpg.html)

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

http://s005.radikal.ru/i212/1109/9f/125e032f0124t.jpg (http://radikal.ru/F/s005.radikal.ru/i212/1109/9f/125e032f0124.jpg.html)

zx-kit
29.08.2011, 15:02
http://i062.radikal.ru/1108/86/f213b64a0487t.jpg (http://i062.radikal.ru/1108/86/f213b64a0487.jpg)

Некоторые детали новой схемы можно установить на месте деталей узла чтения по старой схеме на КР140УД6 и 521CA3. Это указано в скобках.
Можно резистор 1М не ставить.

---------- Post added at 16:02 ---------- Previous post was at 15:53 ----------

Номинал конденсатора C2 в узле формирования сигнала INT - 22 nF.

zx-kit
29.08.2011, 18:01
Здравия всем. Добавлю и я своих 5 копеек в обсуждение улучшения Ленинград 1. За основу был взят файл платы LENINGRAD-2010 которым любезно поделился Вадим Сабиржанов. Дабы далеко не уйти от оригинала во внешнем виде и добавить удобняки которых мне не хватало я сделал так:
...
5. Поставил на макетное поле РС спикер и завел к нему дорожки.

А я подаю звук на телевизор или другой усилитель звука с резистивного делителя, как в Speccy2007. Верхний резистор делителя 4,7к, нижний - 2,2к. Номиналы могут немного отличаться, но чтобы их соотношение были примерно таким же. На делитель сигнал звука подавать с 2 вывода D39 (TM9).


7. Добавил недостающую дорогу на ИР9 (14 нога)

Да, этой дорожки нет. Доработка показана на фотографии в первом посте.


Ну и мелкие косметические изменения: уменьшил дорожки до 0.35

А я, наоборот, делал потолще - 0.5 мм.


Сделал себе 2 платы, спаял, все работает, и наступило счастье.

Поздравляю.

Добавил в первый пост ссылку на инструкцию по настройке с диаграммами: http://zx.pk.ru/showpost.php?p=67132&postcount=12

Dragoos
29.08.2011, 21:23
А зачем конденсатор возле DD5 не скажете ? Какую роль он играет ??? Интересно просто у меня его нет .И возле DD14 тоже интересно , что за кондер ? Для чего он нужен ?? Без них как бы нормально работать будет Ленинград-1 ? :) :v2_conf2:

zx-kit
29.08.2011, 21:32
А зачем конденсатор возле DD5 не скажете ? Какую роль он играет ??? Интересно просто у меня его нет .

У меня тоже нет. Есть место под конденсатор между 5 выводом D5 К555ИЕ7 и землей. Но он не припаян. Только стоит конденсатор по питанию.


И возле DD14 тоже интересно , что за кондер ? Для чего он нужен ?? Без них как бы нормально работать будет Ленинград-1 ? :) :v2_conf2:
Конденстор 560 pF между выводами 6 и 7 микросхемы D14 К555ЛЛ1 (настройка количества тактов в строке = 896). Без него частота строк может быть другой. И видеоконвертер VGA&PAL с некоторыми прошивками может не работать. При разведенной на данной плате комбинации входных сигналов установки счетчика D4 К555ИЕ7 (10 вывод на +5В, а 1,9,15 - на землю). У меня в старом Ленинграде было так и работает, хотя во многих описаниях - не так.
Обозначения даны для схемы, на которую есть ссылка в первом посте.

Dobryak
30.08.2011, 10:24
Номинал конденсатора C2 в узле формирования сигнала INT - 22 nF.

Я руководствовался схемой http://www.sblive.narod.ru/ZX-Spectrum/Leningrad48k/LeningradSCH180dpi.tif там кондер С2 33n



А я, наоборот, делал потолще - 0.5 мм.


Так конечно надежнее, но IMHO 0.35 мм красивее :), хотя можно было оставить и 0.5 мм, чисто косметические поправки.


А зачем конденсатор возле DD5 не скажете ? Какую роль он играет ??? Интересно просто у меня его нет.

Без него была метельшащая полоса шириной в одно знакоместо с правой стороны экрана. Убрал подбором кондера.

Dragoos
31.08.2011, 16:33
Конденсатор на 555лл1 тоже подпаял на всякий случай . Возле DD5 тогда не стал уж ,у меня нормально там все показывает.

zx-kit
11.09.2011, 21:48
Планирую заказать в Китае новую версию платы LENINGRAD-2011 с учетом доработок от Dobryak-а (http://www.zx.pk.ru/showpost.php?p=409881&postcount=17).

Также на плату добавлю несколько своих доработок:
Инверторы для подключиния SEGA джойстика как KEMPSTON.
Диод и резистор на сигнал WAIT.
Доработка для более правильного положения INT-а.

...

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

balu_dark
12.09.2011, 04:34
ну тогда может сразу и привязку к черному сделать? И соединить между собой все первые ноги Ру5 ( если номер не путаю) которые в ру5 не подключены а в Ру7 - являются адресом - чтобы при возможном расширении не окутывать все соплями из МГТФ?

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

_Ratibor_
12.09.2011, 07:03
Планирую заказать в Китае новую версию платы LENINGRAD-2011 с учетом доработок от Dobryak-а.

Также на плату добавлю несколько своих доработок:
Инверторы для подключиния SEGA джойстика как KEMPSTON.
Диод и резистор на сигнал WAIT.
Доработка для более правильного положения INT-а.


ну тогда может сразу и привязку к черному сделать? И соединить между собой все первые ноги Ру5 ( если номер не путаю) которые в ру5 не подключены а в Ру7 - являются адресом - чтобы при возможном расширении не окутывать все соплями из МГТФ?

Ну а если еще заменить ир9 на две ир16, чтоб не парится с RC цепочкой, то получится Composite(KAY) (http://sblive.narod.ru/ZX-Spectrum/Composite/CompositePhoto.jpg) :)

Не проще ли сразу делать платы KAY-128 (http://vad.homeip.net/photos/zx_spectrum/kay128.rar)?
Тот же ленинград, только большинство ошибок исправлено и можно спокойно второй ряд рушек припаивать и AY поставить.

http://i040.radikal.ru/1108/8c/af48d2f75257t.jpg (http://i040.radikal.ru/1108/8c/af48d2f75257.jpg)


Плата и по размеру как Ленинград-1 и по расположению корпусов.
Только на макетное поле добавлено 6 корпусов мелкой логики для обслуживания второго этажа рушек и AY-ка, ну и сам AY.

Кстати эти дополнительные 6 корпусов - это фактически чуть ли не полная доработка до 256 кб на ру7 для ленинграда-2 (http://zx.pk.ru/showpost.php?p=198332&postcount=58). Вернее для Ленинграда-2 ее как раз и содрали с КАЯ. Так что на основе этой платы легко можно собрать и 48 ленинград и 128, а если поставить ру7 то и 256 :)
Ну а кому мег понадобится, то вообще не впаивать рушки, а поставить сим(для этого можно на плате рядом с рушками узенькое макетное поле сделать) и вторым этажем припаять одну ир22 и получится ленин с мегом памяти.

А на оставшееся место прилепить безвайтовый контроллер АТ клавы с того же КАЯ-1024.
Плата получится по размеру и цене как Ленинград-1, а по функционалу намного лучше и удобней.
Кто какие расширения хочет(Ленинград-1 48/128/256/1024/AY/AT клава), те и распаивает.

zx-kit
12.09.2011, 10:31
Ну а если еще заменить ир9 на две ир16, чтоб не парится с RC цепочкой, то получится Composite(KAY) (http://sblive.narod.ru/ZX-Spectrum/Composite/CompositePhoto.jpg) :)

Не проще ли сразу делать платы KAY-128 (http://vad.homeip.net/photos/zx_spectrum/kay128.rar)?
Тот же ленинград, только большинство ошибок исправлено и можно спокойно второй ряд рушек припаивать и AY поставить.


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



http://i040.radikal.ru/1108/8c/af48d2f75257t.jpg (http://i040.radikal.ru/1108/8c/af48d2f75257.jpg):
"...выводы для установки кварца немного перенес, не нужно будет выгибать ноги на кварце..."


До, очень похожа на Ленинград. Значит все компьютеры произошли от него. А мы прокладываем еще одну ветвь эволюции. А разве у KAY-128 не было разъема расширения как тут (http://zx.pk.ru/showthread.php?t=2125) ?
http://zx.pk.ru/showpost.php?p=241711&postcount=36


Плата и по размеру как Ленинград-1 и по расположению корпусов.


Скороее Композит, раз стоят ИР16


Только на макетное поле добавлено 6 корпусов мелкой логики для обслуживания второго этажа рушек и AY-ка, ну и сам AY.

Кстати эти дополнительные 6 корпусов - это фактически чуть ли не полная доработка до 256 кб на ру7 для ленинграда-2 (http://zx.pk.ru/showpost.php?p=198332&postcount=58). Вернее для Ленинграда-2 ее как раз и содрали с КАЯ. Так что на основе этой платы легко можно собрать и 48 ленинград и 128, а если поставить ру7 то и 256 :)
Ну а кому мег понадобится, то вообще не впаивать рушки, а поставить сим(для этого можно на плате рядом с рушками узенькое макетное поле сделать) и вторым этажем припаять одну ир22 и получится ленин с мегом памяти.

А на оставшееся место прилепить безвайтовый контроллер АТ клавы с того же КАЯ-1024.
Плата получится по размеру и цене как Ленинград-1, а по функционалу намного лучше и удобней.
Кто какие расширения хочет(Ленинград-1 48/128/256/1024/AY/AT клава), те и распаивает.

Достаточно и 128К, если для игр.
Идея хорошая. Надо посмотреть доработки и добавить. Только вот ИР16 вместо ИР9 ставить посложнее. Может проще триггер на RGB поставить ?

---------- Post added at 11:31 ---------- Previous post was at 10:35 ----------


ну тогда может сразу и привязку к черному сделать?

Имеется ввиду укорачивание строчного синхроимпульса ? Ссылка на рабочую схему доработки есть? Если ставить триггер на RBG, то можно сигнал гащения на его сброс подать.


И соединить между собой все первые ноги Ру5 ( если номер не путаю) которые в ру5 не подключены а в Ру7 - являются адресом - чтобы при возможном расширении не окутывать все соплями из МГТФ?

Это наверно легко сделать.



Ааа, еще вот вспомнил - народ сделайте под кварц нормальную разводку чтобы он был не в плотную к резисторам, чтобы не надо было ему выводы корячить и чтобы можно было его поставить стоя.
Вроде Dobryak это уже сделал (http://www.zx.pk.ru/showpost.php?p=409881&postcount=17)

_Ratibor_
12.09.2011, 10:59
Да, похоже мы изобретаем заново велосипед. Несколько ошибок уже исправили.
А нет ли схемы KAY-128, пригодной для распечатки ?
Я же дал:
http://vad.homeip.net/photos/zx_spectrum/kay128.rar



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


А разве у KAY-128 не было разъема расширения как тут (http://zx.pk.ru/showthread.php?t=2125) ?
http://zx.pk.ru/showpost.php?p=241711&postcount=36


На моем не было(видно на фото). Но там вверху платы(на фото внизу) есть монтажное поле, кому надо мгтфом подсоединят разъем.


Скороее Композит, раз стоят ИР16

Смотри архив, там на первом листе так и написано: Composite 128Kay / KAY-128 :)


Имеется ввиду укорачивание строчного синхроимпульса ? Ссылка на рабочую схему доработки есть? Если ставить триггер на RBG, то можно сигнал гащения на его сброс подать.

Да схемку тут уже сто раз кидали, там один элемент ТМ2. Но он нужен только для доработки ленинграда, Для КАЯ(Композита) это уже не нужно, там видеовыход уже правильно сделан.

P.S. Незачем старичка ленинграда мучать, а полностью делать по вышепреведенной схеме, разве что доработать до 256 тоже по вышепреведенной схеме(там вроде 2 корпуса добавить) и контроллер безвайтовой клавы от КАЙ-1024. Ну и два узких монтажных поля добавить вверху и справа. Если не найдешь печатки кай-128, то можно на основе ленинграда ее сделать, там не так уж и много доработок. Сделать один раз и забыть, зато потом народу легко будет собирать и не парится с доработками и мгтфом. А то народ собирает ленинград и начинается, а как доработать до 128, а как AY прикрутить, а как сим влепить и т.п. А тут кто хочет, тот то и собирает на основе этой платы. Получится немобус влепить - хорошо, не получится, ну и фиг с ним, можно разъем на верхнее монтажное поле прилепить и мгтфом соединить.

zx-kit
12.09.2011, 20:16
Положение сигнала INT в Ленинграде не совсем там относительно кадровой развертки. Это приводит к сильному не совпаданию рисунка на BORDER-е в играх для оригинального Спектрума. Например, горизонт в игре "AQUAPLANE" совсем не совпадает:

http://s012.radikal.ru/i319/1109/8e/517f02e834b2t.jpg (http://s012.radikal.ru/i319/1109/8e/517f02e834b2.jpg)

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

Для изменения момента начала сигнала INT нужно:

Разрезать дорожку, идущую на цепочку C2-D1-R3 от 8 вывода D8.
Подать на цепочку C2-D1-R3 сигнал с 6 вывода D40 (сигнал /KS).


После этого горизонт почти встал на место:

http://s003.radikal.ru/i204/1109/0f/d14d497426ddt.jpg (http://s003.radikal.ru/i204/1109/0f/d14d497426dd.jpg)

После этого в игре "DARK STAR" появилось изображение летательного аппарата в верхней части BORDER-a. Но он дергался. Для устранения была произведена доработка формирователя сигнала WAIT (http://www.sblive.narod.ru/ZX-Spectrum/Leningrad48k/WMG5.zip):

Разрезать дорожку, идущую на 24 вывод Z80 от 5 вывода D9 .
24 вывод Z80 (WAIT) соединить через резистор 10 кОм c +5V.
Разрезать дорожку, идущую на 6 вывод Z80 и резистор подтяжки 470 Ом с 9 вывода D2 (сигнал /RAS).
Подать на 6 вывод Z80 (CLK) и резистор подтяжки 470 Ом сигнал H0 через инвертор.


После этого летательный аппарат на BORDER-е перестал дергаться:

http://s51.radikal.ru/i134/1109/35/cd08e796f0cft.jpg (http://s51.radikal.ru/i134/1109/35/cd08e796f0cf.jpg)

Но в игре "AQUAPLANE" горизонт на место пока не встал. Более точное положение, видимо зависит от порта #FF. Надо дальше читать про компьютер Harlequin (http://www.zxdesign.info/intAck.shtml).

palsw
12.09.2011, 22:16
запустил игру "Aquaplane" на фениксе -изображение как на 2й картинке чуток не совпадает.

_Ratibor_
13.09.2011, 13:16
Для изменения момента начала сигнала INT нужно:

Разрезать дорожку, идущую на цепочку C2-D1-R3 от 8 вывода D8.
Подать на цепочку C2-D1-R3 сигнал с 6 вывода D40 (сигнал /KS).


После этого горизонт почти встал на место:

http://s003.radikal.ru/i204/1109/0f/d14d497426ddt.jpg (http://s003.radikal.ru/i204/1109/0f/d14d497426dd.jpg)

Все равно инт слишком длинный и время его прихода не правильное.

http://s56.radikal.ru/i154/1109/10/66a1fc0c5330t.jpg (http://s56.radikal.ru/i154/1109/10/66a1fc0c5330.jpg)

Неделю назад восстанавливал ленин-2, вот там инт и время его прихода фактически норма:

http://s003.radikal.ru/i203/1109/94/3621f076ed4bt.jpg (http://s003.radikal.ru/i203/1109/94/3621f076ed4b.jpg)

zx-kit
13.09.2011, 14:22
Все равно инт слишком длинный и время его прихода не правильное.

Неделю назад восстанавливал ленин-2, вот там инт и время его прихода фактически норма:

Ссылку на тест пожалуйста дайте.
И если ли в нем данные оригинального Спектрума?

_Ratibor_
13.09.2011, 14:40
Ссылку на тест пожалуйста дайте.

тест Ковалевского:
http://trd.speccy.cz/system/TESI1_10.ZIP


И если ли в нем данные оригинального Спектрума?

Время прихода инта - это белая полоска на бордюре, должна совпадать с желтой полоской - Spectrum 48(вторая сверху справа)

В общем и получается, что в тесте полоска выше чем положено, что в игре тоже выше:
http://s56.radikal.ru/i154/1109/10/66a1fc0c5330t.jpg (http://s56.radikal.ru/i154/1109/10/66a1fc0c5330.jpg)http://s003.radikal.ru/i204/1109/0f/d14d497426ddt.jpg (http://s003.radikal.ru/i204/1109/0f/d14d497426dd.jpg)

Ну и длинну инта надо чуть ли не в два раза укорачивать.

P.S. Вот схема Ленинграда-2, там можно посмотреть как инт формируется:
http://zx.pk.ru/attachment.php?attachmentid=25464&d=1299430703

zx-kit
13.09.2011, 17:05
тест Ковалевского:
http://trd.speccy.cz/system/TESI1_10.ZIP

Время прихода инта - это белая полоска на бордюре, должна совпадать с желтой полоской - Spectrum 48(вторая сверху справа)

Это точно ? Нет ли программы типа нашей tv-setka, но для оригинального Спектрума? Тогда по рисунку можно было бы сразу проверить совпадение INT-а.


P.S. Вот схема Ленинграда-2, там можно посмотреть как инт формируется:
http://zx.pk.ru/attachment.php?attachmentid=25464&d=1299430703

Посмотрю. А как на оригинальном Спектруме SCL-файлы загружают ? Нет ли TAP-версии ?
Привел бы кто результаты этого теста на оригинальном Спектруме.
Может тест сделан на основе теоретических данных, а надо реальные данные.

_Ratibor_
13.09.2011, 18:06
Посмотрю. А как на оригинальном Спектруме SCL-файлы загружают ? Нет ли TAP-версии ?

Вот в WAV для загрузки через зкуковуху, сам этой версией пользуюсь:
http://zx.pk.ru/attachment.php?attachmentid=26881&d=1304265655

zx-kit
13.09.2011, 20:59
Вот в WAV для загрузки через зкуковуху, сам этой версией пользуюсь:
http://zx.pk.ru/attachment.php?attachmentid=26881&d=1304265655

Файл не считывается - скорость загрузки нестандартная. Пробовал через MP3-плеер.

_Ratibor_
13.09.2011, 21:06
Файл не считывается - скорость загрузки нестандартная. Пробовал через MP3-плеер.
Да все там стандартное, у меня на 4 разных клона нормально грузится.

zx-kit
13.09.2011, 21:50
Да все там стандартное, у меня на 4 разных клона нормально грузится.

После настройки эквалайзера загрузил. Вот что показывает:

http://s49.radikal.ru/i124/1109/c3/87c3cb5d4acdt.jpg (http://s49.radikal.ru/i124/1109/c3/87c3cb5d4acd.jpg)

balu_dark
13.09.2011, 21:54
Ну походу - место инта стандартное а вот длительность надо уменьшать. Надо ваять что-то на ТМ2 которую сбрасывать после установки инта.

_Ratibor_
13.09.2011, 22:53
а вот длительность надо уменьшать. Надо ваять что-то на ТМ2 которую сбрасывать после установки инта.
Завтра попробую сделать как в KAY-1024:

http://s43.radikal.ru/i101/1109/54/a0312956898c.jpg

_Ratibor_
14.09.2011, 10:36
Ну блин, сделал из ленинграда пентагон :)
Чтоб зря не резать дорожки, сделал так:
Отсоединил цепочку C2-D1-R3 от 8 вывода D8(отпаял вывод С2 от 8 вывода D8),
Подключил ир16 по вышепреведенной схеме,
выход 10 ир16 подал через инвертор лн1 на цепочку C2-D1-R3.
Загружаю тест, длинна инта нормальная стала, а белая полоса на бордюре совместилась с верхней правой желтой полосой :)

balu_dark
14.09.2011, 12:10
:) зато мультиколор можно пентагоновский теперь смотреть :)

zx-kit
14.09.2011, 12:34
:) зато мультиколор можно пентагоновский теперь смотреть :)
Надо джампер ставить на тип развертки:
1. ZX SPECTRUM
2. PENTAGON-128

_Ratibor_
14.09.2011, 13:03
В общем собрал я сейчас инт по схеме скорпиона на тм2,
вроде инт нормальным стал :)

http://s40.radikal.ru/i089/1109/b4/8acc5455c312.jpg

balu_dark
14.09.2011, 13:36
:) гы-гы . Получилось таки как я сразу и сказал - нужон триггер ТМ2 :)
Кстати - если делается гашение на триггере то у нас будет один свободный элемент - сразу под эту доработку.

_Ratibor_
14.09.2011, 14:06
:) гы-гы . Получилось таки как я сразу и сказал - нужон триггер ТМ2 :)
Кстати - если делается гашение на триггере то у нас будет один свободный элемент - сразу под эту доработку.
Ну да, поставить тм2 - один элемент на инт, другой на привязку к черному.
Высвобождается один элемент лн1.


zst
Вот что получается:
Инт:
http://s40.radikal.ru/i089/1109/b4/8acc5455c312.jpg

H6- берется с 6 ноги DD34.
КС- берется с 6 ноги DD40
INT- идет на 16 ногу проца(предварительно отрезав от 12 ноги DD1).
На рабочей плате можно не отрезать 12 ногу DD1, а отпаиваем цепочку C2-D1-R3 и берем INT- с 8 ноги ТМ2 и кидаем на 13 вывод DD1.

Привязка к черному:
http://s013.radikal.ru/i322/1109/c8/6bf938a7f181.jpg

zx-kit
14.09.2011, 20:13
Согласен с вашей схемой формирования INT. Прикидывал почти такую же:

http://s46.radikal.ru/i114/1109/73/5114069ea1b7t.jpg (http://s46.radikal.ru/i114/1109/73/5114069ea1b7.jpg)

Но сначала попробовал на RC цепочке. Кстати, так можно убрать все RC цепочки из Ленинграда.

Например, чтобы убрать проблему с символом (с) - конденсатор 2.2 nF на 4-D10 - можно:

Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход триггера TM2.
На вход С триггера подать сигнал /TI.
C выхода триггера подать на 2-D11.


Чтобы настроить ровно 224 такта Z80 в строке (конденсатор 560 pF на 6-D14):

C выхода 6-D14 подать сигнал на вход R триггера TM2, а не на 11-D4.
На вход D триггера подать +5V.
На вход С триггера подать сигнал H2.
С выхода триггера подать на 11-D4.


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

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

А какие проблемы решает привязка к черному ? Я подключаю через VGA&PAL, поэтому про эту проблему не знаю.

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

_Ratibor_
14.09.2011, 20:28
Если убираем WAIT, то тогда высвобождается один элемент ЛН1 и один элемент ТМ2, его и можно задействовать под настройку 224 тактов, а проблемму с символом (с) можно решить заменой ир9 на 2 ир16. И добавить всего одну тм2 под инт и привязку к черному. Тогда ничего лишнего не будет.

---------- Post added at 22:28 ---------- Previous post was at 22:18 ----------


А какие проблемы решает привязка к черному ? Я подключаю через VGA&PAL, поэтому про эту проблему не знаю.

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

При использовании VGA&PAL проблеммы не возникает, а проблемма возникает, когда подключаешься в черно-белом через видео или по RGB.
Как раз во время загрузки с магнитофона экран становится нормальным :)
В общем когда на бордюре идет динамика, то все становится нормальным, а когда статика, то экран становится очень и очень темным и цвета практически не различимы.
Вот тут я уже писал про это:
http://zx.pk.ru/showpost.php?p=407558&postcount=103

zx-kit
14.09.2011, 20:34
Если убираем WAIT, то тогда высвобождается один элемент ЛН1 и один элемент ТМ2, его и можно задействовать под настройку 224 тактов, а проблемму с символом (с) можно решить заменой ир9 на 2 ир16. И добавить всего одну тм2 под инт и привязку к черному. Тогда ничего лишнего не будет.

---------- Post added at 22:28 ---------- Previous post was at 22:18 ----------



При использовании VGA&PAL проблеммы не возникает, а проблемма возникает, когда подключаешься в черно-белом через видео или по RGB.
Как раз во время загрузки с магнитофона экран становится нормальным :)
В общем когда на бордюре идет динамика, то все становится нормальным, а когда статика, то экран становится очень и очень темным и цвета практически не различимы.
Вот тут я уже писал про это:
http://zx.pk.ru/showpost.php?p=407558&postcount=103

Это при подключении по RGB через SCART ? В качестве синхоимпульсов используется SINC или черно-белый видеосигнал ?

Еще вопрос - переходы на границах знакомест при подключении через SCART и черно-белый есть ?

_Ratibor_
14.09.2011, 20:48
Это при подключении по RGB через SCART ? В качестве синхоимпульсов используется SINC или черно-белый видеосигнал ?
У меня нет скарта, да это и все равно, у кого скарты, тоже эта же проблемма.
Просто Ч/Б я подключаю к композитному видеовходу телевизора.
А RGB на видеопроц, где должен был быть телетекст.
Так же без разницы что в качестве синхоимпульсов используется SYNC или черно-белый видеосигнал.
В общем это проблемма ленина1 и 2, на других клонах я ее не встречал.

Кстати я забыл, я платку VGA PAL к ленину не подключал, я ее подключал к каю, но на каях нет этой проблеммы. Ленин я цеплял через VGA PAL только к монитору LG F700P, там все нормально было, надо будет к телевизору подключить и проверить.

Еще вопрос - переходы на границах знакомест при подключении через SCART и черно-белый есть ?
Не понял вопроса ?

zx-kit
14.09.2011, 20:55
Не понял вопроса ?

Когда-то в далеком прошлом на телевизоре были тонкие вертикальные линии по границам знакомест на некоторых картинках.
Есть ли такое на Ленинграде на телевизоре ?

_Ratibor_
14.09.2011, 21:01
Когда-то в далеком прошлом на телевизоре были тонкие вертикальные линии по границам знакомест на некоторых картинках.
Есть ли такое на Ленинграде на телевизоре ?

Да не встречал вроде такого.

balu_dark
14.09.2011, 21:12
не только в ленинграде - встречал такое в "Робик"е проверить можно на картинках загрузки игры Myke и помоему Ye Are Kung Fu или както похоже игрушка называлась.

Было и еще несколько игрушек где это хорошо видно - но я уже запамятовал в каких именно.

---------- Post added at 20:12 ---------- Previous post was at 20:11 ----------

Помоему еще это было видно на картинках от ULTIMATE игрушек. всяких там PSSST и Робин фром зе вуд.

_Ratibor_
15.09.2011, 13:05
была произведена доработка формирователя сигнала WAIT (http://www.sblive.narod.ru/ZX-Spectrum/Leningrad48k/WMG5.zip):

Разрезать дорожку, идущую на 24 вывод Z80 от 5 вывода D9 .
24 вывод Z80 (WAIT) соединить через резистор 10 кОм c +5V.
Разрезать дорожку, идущую на 6 вывод Z80 и резистор подтяжки 470 Ом с 9 вывода D2 (сигнал /RAS).
Подать на 6 вывод Z80 (CLK) и резистор подтяжки 470 Ом сигнал H0 через инвертор.


После этого летательный аппарат на BORDER-е перестал дергаться:

Чтото у меня с этим не получается, после переделки вечный сброс или завис при сбросе.
Если просто отрезать WAIT от 24 ноги и подтянуть эту ногу на +5, то все нормально, вернее внешне все нормально, а прогрммы с магнитофона не загружаются нормально.
А если отрезать 6 ногу с резистором от /RAS и подать на нее /H0 то фигвам.
Уточните /RAS менять на /H0 только для 6 ноги проца, а на 4-ые ноги памяти и 9 ногу ЛП5 /RAS оставить ?
Или полностью отрезать этот сигнал от 9 ноги D2(TM2) и подключить к инверсному H0 ?

zx-kit
15.09.2011, 13:58
Чтото у меня с этим не получается, после переделки вечный сброс или завис при сбросе.
Если просто отрезать WAIT от 24 ноги и подтянуть эту ногу на +5, то все нормально, вернее внешне все нормально, а прогрммы с магнитофона не загружаются нормально.
А если отрезать 6 ногу с резистором от /RAS и подать на нее /H0 то фигвам.
Уточните /RAS менять на /H0 только для 6 ноги проца, а на 4-ые ноги памяти и 9 ногу ЛП5 /RAS оставить ?

Или полностью отрезать этот сигнал от 9 ноги D2(TM2) и подключить к инверсному H0 ?
Уточняю:
Меняем только источник тактовых импульсов на Z80. Вместо /RAS подаем /H0 (его надо сделать с помощью инвертора). На другие микросхемы сигнал /RAS идет как и шел.
Н0 - это выход 3-D3 (Я брал с 1-D13). Этот сигнал надо подать на вход инвертора ЛН1. С выхода ЛН1 подать на 6-D20 (CLK Z80). Убедиться, что 6-D20 подтянут к +5V резистором 470 R.

_Ratibor_
15.09.2011, 15:09
Уточняю:
Меняем только источник тактовых импульсов на Z80. Вместо /RAS подаем /H0 (его надо сделать с помощью инвертора). На другие микросхемы сигнал /RAS идет как и шел.
Н0 - это выход 3-D3 (Я брал с 1-D13). Этот сигнал надо подать на вход инвертора ЛН1. С выхода ЛН1 подать на 6-D20 (CLK Z80). Убедиться, что 6-D20 подтянут к +5V резистором 470 R.

Я так и сделал - вечный сброс.

_Ratibor_
15.09.2011, 17:45
В общем почитал я про отрезание сигнала WAIT :(

Hо потом оказалось, что такое проходит не у всех. Вследствии было установлено, что без WAIT'а комп становится более критичен к качеству ОЗУ.

Нашел вот такую доработку на ЛА3:
http://i081.radikal.ru/1109/19/22be998e48dd.jpg

Сейчас попробую сделать.

balu_dark
15.09.2011, 18:17
А так - поплыть могут все времянки помоему. Wait логически более правильный сигнал для задержек, чем изменение фазы клока или пропуск клоков.

_Ratibor_
15.09.2011, 18:59
Собрал я эту доработку, все заработало.
Тарелка в DARKSTAR перестала дергаться.

В общем или ну ее нафиг отрезание вайта,
либо вместо рушек ставить быстрый импорт,
либо лепить доработку на ЛА3.

P.S. Эту доработку нашел тут (http://sblive.narod.ru/ZX-Spectrum/Leningrad48k/LEN2PENT.zip).
Там в файлике LEN2PENT.TXT наглядно про вайт описано.

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


Например, чтобы убрать проблему с символом (с) - конденсатор 2.2 nF на 4-D10 - можно:

Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход триггера TM2.
На вход С триггера подать сигнал /TI.
C выхода триггера подать на 2-D11.


Чтобы настроить ровно 224 такта Z80 в строке (конденсатор 560 pF на 6-D14):

C выхода 6-D14 подать сигнал на вход R триггера TM2, а не на 11-D4.
На вход D триггера подать +5V.
На вход С триггера подать сигнал H2.
С выхода триггера подать на 11-D4.


А можно поточней ?


Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход триггера TM2. На какой вход ?
На вход С триггера подать сигнал /TI.
C выхода триггера подать на 2-D11. С какого выхода, обычного или инверсного ?


Итого вход С описан, уточните по остальным трем ?


Далее:


C выхода 6-D14 подать сигнал на вход R триггера TM2, а не на 11-D4.
На вход D триггера подать +5V.
На вход С триггера подать сигнал H2.
С выхода триггера подать на 11-D4. С какого выхода, обычного или инверсного ?


А что подавать на вход S ?

zx-kit
15.09.2011, 20:45
А можно поточней ?


Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход триггера TM2. На какой вход ?

Сигнал 10-D35 вместо 2-D11 подать на вход D триггера TM2.


На вход С триггера подать сигнал /TI.
C выхода триггера подать на 2-D11. С какого выхода, обычного или инверсного ?

C прямого выхода триггера подать на 2-D11.




Итого вход С описан, уточните по остальным трем ?


Далее:


C выхода 6-D14 подать сигнал на вход R триггера TM2, а не на 11-D4.
На вход D триггера подать +5V.
На вход С триггера подать сигнал H2.
С выхода триггера подать на 11-D4. С какого выхода, обычного или инверсного ?

C прямого выхода триггера подать на 11-D4.





А что подавать на вход S ?
+5V.

_Ratibor_
15.09.2011, 21:16
По второй переделке все понятно, а по первой опять не все указали:


Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход D триггера TM2.
На вход С триггера подать сигнал /TI.
С прямого выхода триггера подать на 2-D11.


А на R и S ?

zx-kit
15.09.2011, 22:00
По второй переделке все понятно, а по первой опять не все указали:


Подать сигнал TI вместо /TI на 9-D35 (IR16).
Сигнал 10-D35 вместо 2-D11 подать на вход D триггера TM2.
На вход С триггера подать сигнал /TI.
С прямого выхода триггера подать на 2-D11.


А на R и S ?
Тоже на +5V.

_Ratibor_
15.09.2011, 22:17
zst, спасибо, теперь все понятно.

Нашел тут схемку порта FF:
http://s003.radikal.ru/i204/1109/fe/528df9ae232f.jpg

Насколько я понял DR0-DR7 брать с выходов ру5 ?
Если да, то вообще удобно получается, налепить сверху ир22 и входа все соединить,
а выхода можно чип резисторами соединить и незаметненько получится.
Останется два элемента лл1 добавить.
/IORQ, /RD, /int, D0-D7 тоже понятно.

Остаются два: BORDER и /WR_ATTR
В ленине есть только /BORDER
Получается его надо инвертировать ?

И где взять /WR_ATTR ?

zx-kit
15.09.2011, 23:16
zst, спасибо, теперь все понятно.

Нашел тут схемку порта FF:

Насколько я понял DR0-DR7 брать с выходов ру5 ?
Если да, то вообще удобно получается, налепить сверху ир22 и входа все соединить,
а выхода можно чип резисторами соединить и незаметненько получится.
Останется два элемента лл1 добавить.
/IORQ, /RD, /int, D0-D7 тоже понятно.

Остаются два: BORDER и /WR_ATTR
В ленине есть только /BORDER
Получается его надо инвертировать ?

И где взять /WR_ATTR ?
Лучше взять схему, которую мы разработали для KAY-2010 (http://zx.pk.ru/showpost.php?p=302523&postcount=244), ведь он произошел от Ленинграда.

Дешифатор портов #FF, КEMPSTON JOYSTICK и клавиатуры:

http://s51.radikal.ru/i133/1007/e3/40340d025fe4t.jpg (http://radikal.ru/F/s51.radikal.ru/i133/1007/e3/40340d025fe4.jpg)

Название сигналов как в оригинальной схеме (http://zx.clan.su/forum/11-71-1).
Распределение входов-выходов регистра ИР23 сделано как на ИР22 оригинальной схемы, чтобы можно было напаять вторым этажом.

Cоответствие названий для KAY-1024 и Ленинграда:
IORD1/ -- /IORD
H2 -- H2
BRD -- /BORDER
*A0 -- A0
*A5 -- A5
15 выв DD36, 37 -- 15 выв D37, 38
*D7...*D0 -- D7...D0

_Ratibor_
15.09.2011, 23:40
Лучше взять схему, которую мы разработали для KAY-2010 (http://zx.pk.ru/showpost.php?p=302523&postcount=244), ведь он произошел от Ленинграда.
Но эта схема не привязана к инт.
Насколько я понял там должно быть при чтении из порта FF совпадение трех сигналов, как на схеме которую я привел выше.
Там инт нужен, причем правильный, который мы получили с помощью тм2.

Да и резисторов на выходах ир23 я не вижу. Нехорошо без них.

balu_dark
16.09.2011, 00:47
Помоему не совсем понимаете смысл порта FF.
Что это за порт?
Если вернуться к истокам - это ВООБЩЕ НЕ ПОРТ!
просто примененная в оригинальном спеке схемотехника - связывала оба ряда памяти( медленную и быструю - первая это 16К начиная с 16384 а вторая это 32К начиная с 32768 до конца памяти).
К быстрой памяти был доступ на запись был по первому требованию. а вот к медленной - только когда выводился бордюр.
Если теперь перейти к нашим баранам - при чтении из существующих портов - читалось значение порта. а при чтении не существующего порта - на шину через эти резисторы подмешивался сигнал из видеопамяти. посему во время вывода бордюра шина была скорее всего в 0 . а вот при выводе экрана - из регистра читалось значение атрибутов.
при этом - это не было привязано ни к бордеру ни к инту! это текущее значение атрибутов.

синхронизацию сделать просто: вывести картинку и зная цвет нужного нам знакоместа - запустить чтение несуществующего порта. как только из него пришел байт с нужным нам цветом - обрываем наш цикл и делаем все остальное.
принцип такой же как и ожидание HALT.

P.S. именно поэтому и зависает игра на машине не оборудованной портом FF - просто она всегда получаетна шине данных либо FF( если у клона шина данных подтянута через 8 резисторов к +5В как например в нашем Ленинград-1) либо будет принимать наводки и читать всякую срань - если компьютер не имеет подтяжки данных к +5( помоему такое есть на пентагон 48).

Соответственно - так как она не дождется нужного ей значения - она никогда не выйдет из цикла ожидания и не приступит к продолжению.

_Ratibor_
16.09.2011, 01:02
Помоему не совсем понимаете смысл порта FF.
Ну насколько я знаю это как то так:


http://s004.radikal.ru/i207/1109/31/df039685e762.jpg


Вот и получается, запись в регистр идет по сигналу /WR_ATTR и гасится сигналом BORDER.
Далее как в фирменном спектруме через резисторы идет на шину данных.
Ну и три сигнала /IORQ, /RD, /INT - когда хоть один из них активен,
выходы ир23 переходят в Z состояние и нефиг мусору в виде атрибутов делать на шине данных.
Все по науке :)

И в чем я не понял смысл ?

balu_dark
16.09.2011, 03:01
в том что выдается все - независимо от инта или чего бы то нибыло!

самый простой порт ФФ если вы не в курсе - народ реализовывал тупо посадив сигналы через 8 резисторов с выхода атрибутного регистра ир23 на шину данных. номинал резисторов если не ошибаюсь был 470 ом и все работало( Обязательным условием для такого случая было отсутствие подтяжки шины данных к +5В). а то как реализовывали остальные - да кто во что гаразд был. если использовать буфер с третим состоянием для подтянутой шины то чтобы получить фф из порта в ненужное время - туда подмешивался BORDER ( полярность оного зависила от конкретной реализации логики выборки). Реализаций порта FF было ну штук 8 минимум. и все - РАЗНЫЕ.

И да - я абсолютно не увидел противоречий моих слов с вашим сканом - я сказал абсолютно тоже самое. И опять така кстати - в вашем тексте ну НЕТ никаких слов что сюда надо подмешивать INT. вот про вопрос - почему нет INT в схеме порта - я вам и ответил что он НЕ НУЖЕН а вот если вы считаете обратное - то не понимаете принцип работы ФФ порта - я вам принцип и разьяснил! Что я сделал не так?

_Ratibor_
16.09.2011, 08:55
И опять така кстати - в вашем тексте ну НЕТ никаких слов что сюда надо подмешивать INT. вот про вопрос - почему нет INT в схеме порта - я вам и ответил что он НЕ НУЖЕН а вот если вы считаете обратное - то не понимаете принцип работы ФФ порта - я вам принцип и разьяснил! Что я сделал не так?
А зачем тогда /IORQ, /RD ? Причем они также присутствуют в схеме zxt.
Как работает "фирменный" порт ФФ я знаю. А оно нам надо в полной мере ?
Давайте тупо 1 вывод ир23 посадим на землю или тупо на ир22 резисторов одних налепим, нафига лишние провода.
Да для того чтобы во время этих сигналов шина данных не была замусорена, т.к. там могут быть более полезные данные.
Цель ФФ(глюк возведенный в ранг фичи) - это атрибуты, а во время инта никаких атрибутов там впринципе не должно быть(см. положение инта в кадре).

Что это за порт?
Если вернуться к истокам - это ВООБЩЕ НЕ ПОРТ!
просто примененная в оригинальном спеке схемотехника - связывала оба ряда памяти( медленную и быструю - первая это 16К начиная с 16384 а вторая это 32К начиная с 32768 до конца памяти).
К быстрой памяти был доступ на запись был по первому требованию. а вот к медленной - только когда выводился бордюр.
Если теперь перейти к нашим баранам - при чтении из существующих портов - читалось значение порта. а при чтении не существующего порта - на шину через эти резисторы подмешивался сигнал из видеопамяти. посему во время вывода бордюра шина была скорее всего в 0 . а вот при выводе экрана - из регистра читалось значение атрибутов.
при этом - это не было привязано ни к бордеру ни к инту! это текущее значение атрибутов.
Вот и я о том же, когда приходит инт, никаких атрибутов на шине данных уже не может быть в принципе.
И получается еще как привязано к инту. Вернее инт должен быть правильным и в правильном месте.
Еще раз прочитайте что сами и написали и вдумайтесь:
Сигналами BORDER и /WR_ATTR мы гарантируем что в регистр(ир23) попадут ТОЛЬКО атрибуты, а сигналами /IORQ, /RD, /INT мы гарантируем что на шине данных во время появления хоть одного из этих сигналов шина данных не будет замусорена, т.к. она нужна для более важных дел.

А вот зачем на схеме zst A0 и A5 ?

P.S. zst я кстати понял почему у меня на ленинграде-2, а теперь и на ленинграде-1 во время работы тест-пзу, что Вы мне зашивали, после каждого удачно пройденного теста небыло мельтешения на бордюре.
Если инт не правильный то бордюр мельтишит(как бы черно белая рябь бежит), а если инт правильный то бордюр замирает.

zx-kit
16.09.2011, 11:47
А зачем тогда /IORQ, /RD ? Причем они также присутствуют в схеме zxt.

Как и для любого другого порта чтение происходит когда /IORQ и /RD равны 0.


Как работает "фирменный" порт ФФ я знаю. А оно нам надо в полной мере ?
Давайте тупо 1 вывод ир23 посадим на землю или тупо на ир22 резисторов одних налепим, нафига лишние провода.
Да для того чтобы во время этих сигналов шина данных не была замусорена, т.к. там могут быть более полезные данные.
Цель ФФ(глюк возведенный в ранг фичи) - это атрибуты, а во время инта никаких атрибутов там впринципе не должно быть(см. положение инта в кадре).
Вот и я о том же, когда приходит инт, никаких атрибутов на шине данных уже не может быть в принципе.

А во время INT с шины данных будет считываться #FF, так как INT происходит во время BORDER-а, поэтому порт #FF не открывается.

Это уже обсуждалось с этого поста и ниже (http://zx.pk.ru/showpost.php?p=305833&postcount=343)




И получается еще как привязано к инту. Вернее инт должен быть правильным и в правильном месте.
Еще раз прочитайте что сами и написали и вдумайтесь:
Сигналами BORDER и /WR_ATTR мы гарантируем что в регистр(ир23) попадут ТОЛЬКО атрибуты, а сигналами /IORQ, /RD, /INT мы гарантируем что на шине данных во время появления хоть одного из этих сигналов шина данных не будет замусорена, т.к. она нужна для более важных дел.

По приведенной вами схеме регистр выдаст данные только тогда, когда все три сигнала равны 0, а такой комбинации, наверно, не бывает. Да и если ее довести до рабочего состояния - зачем нагружать шину данных лишними резисторами, если можно открывать порт #FF только в момент чтения из незанятого порта.
Кстати сейчас в Ленинграде при чтении из порта #FF читается состояние кемпстон джойстика. Поэтому та схема не будет работать без доработок.



А вот зачем на схеме zst A0 и A5 ?


A0 - это адрес клавиатуры, A5 - это адрес кемпстон-джойстика. Если один из этих адресов равен 0, то открываются мультиплексоры клавиатуры и кемпстона. Если оба равны 1, то открывается порт #FF в моменты, когда нет BORDER-а. Сигнал BORDER перед использованием надо задержать на время отображения одного байта, так как только через это время в мультиплексоры КП13 и регистр порта #FF запишутся действительные данные атрибутов. Это делается с помощью триггера ТМ2.



P.S. zst я кстати понял почему у меня на ленинграде-2, а теперь и на ленинграде-1 во время работы тест-пзу, что Вы мне зашивали, после каждого удачно пройденного теста небыло мельтешения на бордюре.
Если инт не правильный то бордюр мельтишит(как бы черно белая рябь бежит), а если инт правильный то бордюр замирает.

Рисунок на BORDER-е может быть разным в одной и той же программе также и при разном количестве тактов в строке или разном количестве строк в кадре. А в Ленинградах нельзя быть уверенным, что у них одинаковая развертка на разных компьютерах. Для проверки этого, надеюсь, напишут программу для тестирования развертки (http://www.zx.pk.ru/showpost.php?p=415722&postcount=59).


Если параметры неправильные, экран будет отличаться или мелькать.

balu_dark
16.09.2011, 16:15
ZST - может чтобы не обрубать все остальные порты напалмом - вместо ЛА3 элемента применить ЛА2 и немного изменить формирование сигнала Keyboard и Kempston?
просто тогда оно станет отзываться тупо только на адрес FF. Единственно если цеплять ТРДОС придется брать IORD после него.

Тогда резисторы уж 1000 пудов будут не нужны ибо читать будет строго из одного порта.

zx-kit
16.09.2011, 21:01
ZST - может чтобы не обрубать все остальные порты напалмом - вместо ЛА3 элемента применить ЛА2 и немного изменить формирование сигнала Keyboard и Kempston?
просто тогда оно станет отзываться тупо только на адрес FF. Единственно если цеплять ТРДОС придется брать IORD после него.

Тогда резисторы уж 1000 пудов будут не нужны ибо читать будет строго из одного порта.

Чего то мы уже из Ленинграда делаем KAY-2010 или PENTAGON-128...
А надо бы остановиться на:
Z80 3.5 МГц
RAM 48К
Звук- BEEPER
Загрузка с магнитофона
Порт #FF
Механическая клавиатура
Черно-белый видеовыход и SCART
KEMPSTON JOYSTICK
Правильный INT
Настройка работы без конденсаторов
Без дисковода
Без ZX-BUS

balu_dark
16.09.2011, 23:06
:) не делаем :)
Просто на случай если кто-то будет цеплять периферию типа АУгрика или еще чего нибудь - с текущей версией схемы - он будет иметь гемор в виде задавливания любых сигналов с любых портов кроме ФФ, 254 и 31го что приведет к перегреву ИР и возможному подлому бёрну с ее стороны :)

_Ratibor_
18.09.2011, 16:41
Как проверить правильность работы порта FF ?
Не то что он вообще есть и как то работает, а именно правильно работает ?

zx-kit
18.09.2011, 17:26
Как проверить правильность работы порта FF ?
Не то что он вообще есть и как то работает, а именно правильно работает ?

Возможно игры: Arkanoid, Sprite, Cobra (http://www.zxdesign.info/keyboardtest.shtml)
В игре RENEGADE после смерти игра не должна зависать.

Попробуйте программу Floatspy (http://ramsoft.bbk.org.omegahg.com/floatingbus.html#FLOATINGBUS).
С помощью ее тестировали "Harlequin" (http://www.zxdesign.info/interruptTest.shtml).

_Ratibor_
18.09.2011, 19:19
Попробуйте программу Floatspy (http://ramsoft.bbk.org.omegahg.com/floatingbus.html#FLOATINGBUS).
С помощью ее тестировали "Harlequin" (http://www.zxdesign.info/interruptTest.shtml).
Чтото там в описании букв много и все не по русски :)

zx-kit
18.09.2011, 19:25
Чтото там в описании букв много и все не по русски :)
Нужно скачать TAP версию программы FloatSpy и запустить. Программа записывает в верхние знакоместа экрана атрибуты с кодами от 64 до 95. Потом пытается считать их из порта #FF. Количество тактов от INT до отображения левого верхнего знакоместа должно быть 14347, как в оригинальном клоне.

Кнопками Q, A и другими (показаны на экране) можно настроить параметры измерения. Программа отображает байт атрибутов, который читается при настроенном временном интервале.

_Ratibor_
18.09.2011, 19:45
В общем когда тест загрузился, то тест показывает:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 255
I/O PORT: 255

А дальше что с этим делать ?

zx-kit
18.09.2011, 19:54
В общем когда тест загрузился, то тест показывает:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 255
I/O PORT: 255

А дальше что с этим делать ?

Кнопками Q и A (или другими методом тыка) изменять число (IN TIME) в надежде найти байт (IN BYTE), отличный от 255.

_Ratibor_
18.09.2011, 21:02
Кнопками Q и A (или другими методом тыка) изменять число (IN TIME) в надежде найти байт (IN BYTE), отличный от 255.
Нашел ближайшее в 14469, байт 95.

zx-kit
18.09.2011, 21:08
Нашел ближайшее в 14469, байт 95.
А рядом значения совпадают с 1 строкой атрибутов? Нужно найти положение байта 64.
После этого скорректировать положение INT, чтобы число было 14347 (для уверенности в этом требуется проверка на оригинале).

_Ratibor_
18.09.2011, 21:13
Подключал ФФ так:
ир23 посадил на ир22, питание и входа соединил напрямую, а выхода через резистор 1к.
Сигнал Н2 через инвертор подал на 11 вывод ир23.
/IORD и /BORDER подал на входы лл1, а с выхода лл1 на 1 вывод ир23.

порты клавы и джойстика доработал по вашей схеме(ла3+лн1+лл1).

zx-kit
18.09.2011, 21:25
Подключал ФФ так:
ир23 посадил на ир22, питание и входа соединил напрямую, а выхода через резистор 1к.
Сигнал Н2 через инвертор подал на 11 вывод ир23.
/IORD и /BORDER подал на входы лл1, а с выхода лл1 на 1 вывод ир23.

Порты клавы и джойстика доработал по вашей схеме(ла3+лн1+лл1).

Можно так - почти так, как надо. Сигнал /BORDER надо бы задержать триггером, чтобы не было ложного считывания в начале строки атрибутов посл левого бордера. Для начала надо найти положение первого и остальный байтов атрибутов в верхней строке. Учтите, там 8 раз должны считываться одни последовательности, так как атрибут общий на 8 строк пикселов.

Тут было много доработок. Уточните:
Какой у вас Ленинград: 1,2 или 3 ?
Положение и длина INT на TM2?
Вид экрана в играх DARK STAR и AQUAPLAN как у меня ?
Есть уверенность в параметрах развертки - в строке 224 цикла, 312 строк в кадре (лучше измерить частоту мультиметром или чем-то еще) ?

_Ratibor_
18.09.2011, 22:01
Тут было много доработок. Уточните:
Какой у вас Ленинград: 1,2 или 3 ?
Положение и длина INT на TM2?
Вид экрана в играх DARK STAR и AQUAPLAN как у меня ?
Есть уверенность в параметрах развертки - в строке 224 цикла, 312 строк в кадре (лучше измерить частоту мультиметром или чем-то еще) ?
Чистый Ленинград-1.
кварц на ровно на 14.
Входа на D4 распаяны так: 15, 1, 9 на землю, а 10 на +5.
Из доработок, только инт на тм2 по схеме выше и привязка к черному на тм2, также по схеме выше.

Ну и фф с доработкой порта клавиатуры и джойстика я тоже уже в предыдущем сообщении описал.


Вид экрана в играх DARK STAR и AQUAPLAN как у меня ?
Есть уверенность в параметрах развертки - в строке 224 цикла, 312 строк в кадре (лучше измерить частоту мультиметром или чем-то еще) ?

AQUAPLAN также, бордюрная линия чуть выше экранной.
DARK STAR - тарелка мерцает, т.к. вайт вернул назат.


---------- Post added 19.09.2011 at 00:01 ---------- Previous post was 18.09.2011 at 23:38 ----------

В общем от 11000 до 20000 пролистал, кроме 95 и 15 ничего не нашел.

balu_dark
18.09.2011, 22:14
IORD по какой схеме? по схеме ZST или стандартный от Ленинград-1 с ЛЛ1 ?
Если по схеме Ленинграда то он не катит - надо добавить выборку порта более точно.
и если выборка по адресу есть - то можно снизить сопротивление резисторов до 470 ом.

_Ratibor_
18.09.2011, 23:00
IORD по какой схеме? по схеме ZST или стандартный от Ленинград-1 с ЛЛ1 ?
Если по схеме Ленинграда то он не катит - надо добавить выборку порта более точно.
На выборку порта ФФ идет чистый IORD(думаю в данном случае это не столь важно).
На выборку клавы и джойстика доработанный(без доработки порт фф вообще никак не увидеть, т.к. джойстик забивает шину).

---------- Post added at 01:00 ---------- Previous post was at 00:54 ----------

Кто нибудь знает, есть ли в природе программа по которой на 100% точно до такта можно настроить инт(положение и длительность) как на фирменном Спектруме-48

balu_dark
19.09.2011, 00:11
На выборку порта ФФ идет чистый IORD(думаю в данном случае это не столь важно).

Есть ли у вас машина? Если есть - вы на заправке тоже пытаетесь заправить ее вставив одновременно 4 пистолета в горловину бака?

По поводу настройки как в оригинальном 48к - их выпускалось какминимум 4 варианта моделей только самим Синклер ресерч - не говоря о множестве местных клонов во многих странах зарубежья. Проблема в том что не во всех фирмах производителях ПО были именно ZX Spectrum 48 by Sinclair Research c резиновой клавой. Поляки - писали игры на униполбритах, испанцы на амстрадах, американцы на таймексах. и какбы не было 100% соответствия таймингов.

Самое главное - почему не будет у вас соответствия - отсутствие так называемой contented memory. Медленной памяти в Ленинграде тупо нет - и код выполняемый в разных адресах памяти - выполняется с одинаковой скоростью. А в оригиналах это не так - посему количество тактов от начала бордера - будет разным для обоих частей памяти.

Посмотрите тут по форуму была тема об клоне SpeccyBob и его продолжении компьютере Crome. Вот в последнем клоне человек провел афигительную работу по правильной эмуляции ULA всех таймингов и всех эффектов оригинального спека. Плюс он же - издал книгу о внутреннем устройстве оригинальной ULA плюс получил схему этой самой ULA с применением высокократного микроскопа и построением по схеме соединений в кристалле - электрической принципиальной схемы.

Ознакомьтесь. Он кстати очень хорошо там прошелся по инту, эмуляции ФФ порта и эффекта СНЕГ который тоже применялся в некоторых играх но не виден ни на одном нашем клоне.

Сорри - память подводит! не Chrome a Harlequin. Читать тут : http://www.zxdesign.info/
формирователь Wait : http://www.zxdesign.info/docs/waitGen-1.17.pdf
тут указано как он тестил тайминги и каким софтом http://www.zxdesign.info/softwareTest.shtml
тут еще немного софта для тестов http://wizard.ae.krakow.pl/~jb/qaop/tests.html

---------- Post added at 23:07 ---------- Previous post was at 22:21 ----------

Добавлю еще ссылок http://scratchpad.wikia.com/wiki/Floating_bus
это описание работы порта FF.
А это анализ его работы : http://www.zxdesign.info/contentionTest2.shtml

---------- Post added at 23:11 ---------- Previous post was at 23:07 ----------

Вот еще : http://ramsoft.bbk.org.omegahg.com/floatingbus.html
это к слову о приближении Ленинграда-1 к оригиналу - надо либо реализовать все что есть по ссылкам и получить оригинал, либо не парить мозги себе и другим. Ибо без полной переделки схемы - оригинал не выйдет. И да - почитайте хоть что-то по схемотехнике.

goodboy
19.09.2011, 00:43
и эффекта СНЕГ который тоже применялся в некоторых играх но не виден ни на одном нашем клоне.
примеры в студию - я кроме игры vectron ничего вспомнить не могу.

zx-kit
19.09.2011, 01:00
AQUAPLAN также, бордюрная линия чуть выше экранной.
DARK STAR - тарелка мерцает, т.к. вайт вернул назат.

С Wait каждый раз атрибуты считываются из разных мест.


В общем от 11000 до 20000 пролистал, кроме 95 и 15 ничего не нашел.
95 = 01011111 (цвета 011 и 111) .
15 = 00001111 (цвета 001 и 111)

Попробуйте по моей схеме с задержкой бордера и простую программу для проверки порта атрибутов #FF:

10 PRINT IN 255; " "; : GO TO 10

При запуске программы на экран будет выводиться последовательность цифр, где наряду с 255 должны иногда проскакивать 56 (цвета 111 и 000).

Если менять цвета атрибутов экрана командами PAPER=... и INK =..., то значения должны соответственно меняться.




Самое главное - почему не будет у вас соответствия - отсутствие так называемой contented memory. Медленной памяти в Ленинграде тупо нет - и код выполняемый в разных адресах памяти - выполняется с одинаковой скоростью. А в оригиналах это не так - посему количество тактов от начала бордера - будет разным для обоих частей памяти.

Пока мы предполагаем, что программа выполняется в быстрой памяти и у Ленинграда WAIT убран.



Посмотрите тут по форуму была тема об клоне SpeccyBob и его продолжении компьютере Crome. Вот в последнем клоне человек провел афигительную работу по правильной эмуляции ULA всех таймингов и всех эффектов оригинального спека. Плюс он же - издал книгу о внутреннем устройстве оригинальной ULA плюс получил схему этой самой ULA с применением высокократного микроскопа и построением по схеме соединений в кристалле - электрической принципиальной схемы.

Ознакомьтесь. Он кстати очень хорошо там прошелся по инту, эмуляции ФФ порта и эффекта СНЕГ который тоже применялся в некоторых играх но не виден ни на одном нашем клоне.


Сорри - память подводит! не Chrome a Harlequin. Читать тут : http://www.zxdesign.info/


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


формирователь Wait : http://www.zxdesign.info/docs/waitGen-1.17.pdf
тут указано как он тестил тайминги и каким софтом http://www.zxdesign.info/softwareTest.shtml
тут еще немного софта для тестов http://wizard.ae.krakow.pl/~jb/qaop/tests.html


Вот это может пригодиться для проверки.



Добавлю еще ссылок http://scratchpad.wikia.com/wiki/Floating_bus
это описание работы порта FF.
А это анализ его работы : http://www.zxdesign.info/contentionTest2.shtml
Вот еще : http://ramsoft.bbk.org.omegahg.com/floatingbus.html

Как раз отсюда программу floatspy.tap Ratibor и запустил.



это к слову о приближении Ленинграда-1 к оригиналу - надо либо реализовать все что есть по ссылкам и получить оригинал, либо не парить мозги себе и другим. Ибо без полной переделки схемы - оригинал не выйдет. И да - почитайте хоть что-то по схемотехнике.
Мы уже достаточно близко приблизились к оригиналу.

_Ratibor_
19.09.2011, 01:55
Есть ли у вас машина? Если есть - вы на заправке тоже пытаетесь заправить ее вставив одновременно 4 пистолета в горловину бака?

Да до фонаря, в данном конкретном случае, можно вообще 1 ногу ир22 на землю посадить пока отстраиваю. Клава, джойстик и т.п. просадят резисторы порта ФФ и он им никак мешать не будет. Главное клаву с джойстиком доработать, а я это сделал. А полностью правильно дешифрировать его труда не составляет - одна ла2 и делов то, только все это баловство.


По поводу настройки как в оригинальном 48к - их выпускалось какминимум 4 варианта моделей только самим Синклер ресерч - не говоря о множестве местных клонов во многих странах зарубежья. Проблема в том что не во всех фирмах производителях ПО были именно ZX Spectrum 48 by Sinclair Research c резиновой клавой. Поляки - писали игры на униполбритах, испанцы на амстрадах, американцы на таймексах. и какбы не было 100% соответствия таймингов.


Не важно где кто что и как делал, важен фирменный ZX Spectrum 48 by Sinclair Research c резиновой клавой.


Самое главное - почему не будет у вас соответствия - отсутствие так называемой contented memory. Медленной памяти в Ленинграде тупо нет - и код выполняемый в разных адресах памяти - выполняется с одинаковой скоростью. А в оригиналах это не так - посему количество тактов от начала бордера - будет разным для обоих частей памяти.

Все это мелочи.
Важен телевизионный кадр:

http://www.zxdesign.info/images/hvidtime.png


Также известно когда инт должен в кадре приходить:
The ZX Spectrum generates an interrupt at the start of each TV frame, so that's one every 50th of a second. The traditional description is that the interrupt occurs when the electron beam is in its fly-back to the top of the screen. Careful measurement has shown that on a standard 48K ZX Spectrum exactly 14336 T-states pass from the interrupt generation to the first display byte is being sent to the TV. Many programs rely on this timing to function properly, and it is often used in conjunction with the floating bus behaviour.

http://www.zxdesign.info/images/intTiming.png

И память тут не при чем, все от тактов проца считается. Все это в Ленинграде можно добится минимальными переделками. Поправить кадровую и положение инта.



это к слову о приближении Ленинграда-1 к оригиналу - надо либо реализовать все что есть по ссылкам и получить оригинал, либо не парить мозги себе и другим. Ибо без полной переделки схемы - оригинал не выйдет.
Никто не собирается из ленинграда делать фирменный спектрум.
Всего лишь более-менее надо подогнать инт и дешифрацию портов клавы, джойстика и фф. Ну и вайт по возможности.

---------- Post added at 03:55 ---------- Previous post was at 03:35 ----------

zst, остались еще заморочки с магнитофонным входом.
Вот выдержка из доки по доработке ленинграда-2:

http://i034.radikal.ru/1109/ec/6c80b4001430.jpg

goodboy
19.09.2011, 02:06
в 128ой модели порта #FF уже не было и arcanoid был переиздан,задержка при отображении экрана там была сделана по другому

balu_dark
19.09.2011, 04:39
И память тут не при чем, все от тактов проца считается. Все это в Ленинграде можно добится минимальными переделками. Поправить кадровую и положение инта.

Первое предложение справедливо только для безвайтовых машин.
В вайтовых машинах количество тактов генератора НЕ ВСЕГДА равно количеству тактов команд - многие команды из-за прихода сигнала WAIT могут занимать другое количество тактов. по ссылкам был рассчет реального количества тактов процессора. ибо бордюрные еффекты формируются не реальными тактами CLK, а рассчетом продолжительности каждой команды в цикле вывода бордюрной картинки.

посему сомнительна цель _Ratibor_ публикующего сомнительной работо способности схемы, не признающего правила соединений. Но упорно отстаивающего ошибочную точку зрения. И опять повторю свой тезис - точного соответствия сигналов таки не удастся добиться без кардинальной переработки схемы Ленинград-1. А с переработкой количество порезов - соединений будет нерационально высоко со сборкой самого Ленинграда - проще действительно собрать другой комп.
Как вариант не колхозить на логике и применить какую нибудь CPLD на 44 контакта.

к ZST я как бы вопросов вообще не имел. Зря принял мои слова на свой счет. Что до (недословно) "чуть подрихтуем инт и вэйт" - ну как раз и получится кай или пентагон :)

Хотя мне кажется что производство Кай - с учетом его измененной схемотехники но используемой идеологии Ленинград(а), таки более рационально.

---------- Post added at 03:39 ---------- Previous post was at 03:36 ----------


в 128ой модели порта #FF уже не было и arcanoid был переиздан,задержка при отображении экрана там была сделана по другому

Ну скорее всего уже по HALT синхронизировались как и демостроители. Хотя тут : http://ramsoft.bbk.org.omegahg.com/floatingbus.html
таки утверждают что в 128к то что мы называем FF портом так же присутствует. хотя возможно что речь идет о первом варианте 128к до того как проект купила фирма Амстрад( если не путаю).

А нет ли ссылок на оригинальные TAP или TZX версии обоих вариантов арканоида?

goodboy
19.09.2011, 10:57
А нет ли ссылок на оригинальные TAP или TZX версии обоих вариантов арканоида?
http://www.worldofspectrum.org/infoseekid.cgi?id=0000255

_Ratibor_
19.09.2011, 11:31
посему сомнительна цель _Ratibor_ публикующего сомнительной работо способности схемы, не признающего правила соединений. Но упорно отстаивающего ошибочную точку зрения. И опять повторю свой тезис - точного соответствия сигналов таки не удастся добиться без кардинальной переработки схемы Ленинград-1. А с переработкой количество порезов - соединений будет нерационально высоко со сборкой самого Ленинграда - проще действительно собрать другой комп.
Как вариант не колхозить на логике и применить какую нибудь CPLD на 44 контакта.
Прежде чем писать всякий бред, научись читать.
И какие это я правила соединений не признаю ?
А схемы я выкладывал, дак это все отсюда (http://sblive.narod.ru/ZX-Spectrum/index.htm) взяты.
И еще раз специально для танкистов - нет цели собрать оригинальный спектрум из ленинграда, а всего лишь исправить грубые ошибки и минимально доработать для того чтоб хоть как то приблизится к нормальной работе.
И это практически все уже сделано.


Е
формирователь Wait : http://www.zxdesign.info/docs/waitGen-1.17.pdf

Там не формирователь Waita, а игра с тактовой. Что и предлагал в упрощенном виде Kirill Frolov, чью схему я приводил выше, причем она работает.


---------- Post added at 13:31 ---------- Previous post was at 12:58 ----------

В общем проинвертировал /BORDER
Теперь при запуске теста:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 65
I/O PORT: 255


Нужно найти положение байта 64.
После этого скорректировать положение INT, чтобы число было 14347 (для уверенности в этом требуется проверка на оригинале).

Соответственно 64 в 14346

btime, stime, ulatest3 - все три после запуска сбрасывают комп.

_Ratibor_
19.09.2011, 14:46
zst
В общем пока вот как соединил + резисторы на выходах ир23:

http://s60.radikal.ru/i170/1109/13/2bba8e03214e.jpg

zx-kit
19.09.2011, 14:55
В общем проинвертировал /BORDER

Точно, в Ленинграде /BORDER инверсный, по сравнению с BRD в KAY-е.


Теперь при запуске теста:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 65
I/O PORT: 255

Соответственно 64 в 14346

Интересно, в 14345 какое значение?
Если добавить триггер, то будет как раз 13347 и не будет левых значений атрибутов.

Тогда текущая схема доработки без резисторов будет выглядеть так:


http://s61.radikal.ru/i172/1109/4a/6eb37aff3d17t.jpg (http://s61.radikal.ru/i172/1109/4a/6eb37aff3d17.jpg)

_Ratibor_
19.09.2011, 15:11
Если добавить триггер, то будет как раз 13347 и не будет левых значений атрибутов.
Да закончились 555тм2, сейчас поищу, может найду 1533тм2 :)

zx-kit
19.09.2011, 15:15
Да закончились 555тм2, сейчас поищу, может найду 1533тм2 :)

Интересно, в 14345 какое значение?

_Ratibor_
19.09.2011, 16:14
Интересно, в 14345 какое значение?

65, но может и 64. До этого 2-3 раза показывает 15, а потом FF. А выше от 64 и дальше.
В этой проге как то не очень стабильно бывает показывает.
Вот в ulatest3 там сразу всю карту показывает, но она при запуске сбрасывает комп. Может не совсем корректно в WAV конвертируется, хотя пробовал раза три. Пробовал другой прогой конвертить, там вообще после загрузки пишет ошибку. Попробовал сейчас плагин для винампа, который сразу проигрывает tap файл - тоже после загрузки сброс.

---------- Post added at 18:14 ---------- Previous post was at 17:24 ----------


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

zx-kit
19.09.2011, 17:18
А может сперва инт подогнать немного, а потом уже порт ФФ.
А то вроде считается от инта, а он немного не на месте.
Если триггер не ставить, то читаться данные будут сразу как кончится бордер в строке. Но в этот момент данные еще неправильные. Сначала выставляется адрес со счетчиков, потом RAS и CAS, а уже затем читается реальный байт атрибутов из ОЗУ и записывется в ИР23.

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

_Ratibor_
19.09.2011, 18:29
Может добавить отдельную микросхему памяти для быстрой памяти, раз без WAIT глючит на некоторых процессорах?
Да глючит то не изза проца, а из-за памяти(а может еще изза 155 серии).
Тот же Harlequin безвайтовый собран с быстрой памятью, но весь на микросхемах HC, да и то для задержки там мудрили с тактами.
ИМХО ну его нафиг этот вайт пока. Как с интом разберусь и ФФ, помудрю опять с тактами.

---------- Post added at 20:29 ---------- Previous post was at 19:33 ----------



Тогда текущая схема доработки без резисторов будет выглядеть так:


http://s61.radikal.ru/i172/1109/4a/6eb37aff3d17t.jpg (http://s61.radikal.ru/i172/1109/4a/6eb37aff3d17.jpg)
Нашел 1533тм2 и спаял точно по этой схеме.
Итог - тот же только в профиль.
Разницы пока не вижу в общем.

balu_dark
19.09.2011, 19:23
помедленнее бы ТМ2 чтобы задержка на ней была по существеннее. 555(а то и 155) самое то - 1533 думаю шустровата больно.

---------- Post added at 18:23 ---------- Previous post was at 18:20 ----------

Или попытаться второй элемент этой тм поставить в качестве повторителя.

_Ratibor_
19.09.2011, 19:36
Все это шаманство с бубном, надо сперва составить список программ, игр и демок, чтоб по ним визуально оценивать. Из тех что сдесь приведены работает только одна - floatspy. А btime, stime, ulatest3, fusetest не работают на Ленинграде.
Вычитал что в Mask III - Venom Strikes Back (1988)(Gremlin Graphics) используется мультиколор в надписи на верху. Ну и полоса бордюрная внизу для инта.
Полоса на бордюре выше экранной примерно на столькоже как в Aqua Plane.
А мультиколор вверху - разницы не заметил что в моем варианте, что в варианте zst.
Вот как то так :)


P.S. В общем пишите кто знает в каких прогах, демах, играх можно проверить инт и порт ФФ.
И желательно описать что там должно быть и в каком месте, а так же где скачать, желательно в tap.

P.P.S. Вот тут (http://www.worldofspectrum.org/infoseekid.cgi?id=0000255) собрано 5 разных арканоидов, вернее арканоид то один и тотже, а вот синхронизация разная(SpeedLock 2, SpeedLock 5 и т.п.).

balu_dark
19.09.2011, 20:01
Судя по скринам Aquaplan после полной доводки тактирования, вайтирования и интирования в компьютере Арлекин - полоска и у него выше. Хотя все остальное - шок и так далее - великолепно. Посему мысли 2 - надо достать хоть один оригинал 48к чтобы на нем запустить именно акваплан. мысль вторая - возможно в акваплане и не должно оно совмещаться.

goodboy
19.09.2011, 20:20
опрос порта #FF был в игре Cobra, позже её как и арканоид переиздали. также смотрите игры Fire и SideWize. в игре sentinel после старта замеряется кол-во тактов за прерывание (три варианта для 48/128/+3) и идёт скролл на бордюре.

_Ratibor_
19.09.2011, 20:22
также смотрите игры Fire
И что в ней смотреть ?

goodboy
19.09.2011, 20:33
И что в ней смотреть ? в оригинале есть опрос порта #ff

_Ratibor_
19.09.2011, 20:48
в оригинале есть опрос порта #ff
Опрос может быть и есть, а вот как это визуально определяется ?

Загрузил sentinel с worldofspectrum, написано - Original release. Никаких скролов на бордюре не вижу.

zx-kit
19.09.2011, 21:19
Судя по скринам Aquaplan после полной доводки тактирования, вайтирования и интирования в компьютере Арлекин - полоска и у него выше. Хотя все остальное - шок и так далее - великолепно. Посему мысли 2 - надо достать хоть один оригинал 48к чтобы на нем запустить именно акваплан. мысль вторая - возможно в акваплане и не должно оно совмещаться.

Ewgeny7 проверил на ZX SPECTRUM+ - бордюр на месте, как и положено.
Вот фото акваплана:
http://scorpion-zs.narod2.ru/DSCN9122.JPG

Брал файл с WOSa.

Harlequin вроде тоже допилили (http://www.zxdesign.info/testSuccess.shtml), но каким-то непонятным способом.

balu_dark
19.09.2011, 21:31
Ага - значит я смотрел более старую статью - в ней он еще Шок тестил.
А по поводу непонятного способа - там они такты считали хитро както и типа судя по описанию - у Арлекина есть небольшое отличие в 2 такта. Но вроде оно не повлияло особо.

_Ratibor_
19.09.2011, 21:33
Harlequin вроде тоже допилили (http://www.zxdesign.info/testSuccess.shtml), но каким-то непонятным способом.
Там Int вот как формируется:

http://s016.radikal.ru/i336/1109/ba/d77236030bf1.jpg

balu_dark
19.09.2011, 21:33
Кстати - ZST а можеш померять(посмотрет осцилом) частоту клока на процессоре, сигнал WAIT и INT на этом спек+ ?

zx-kit
19.09.2011, 21:40
Там Int вот как формируется:

Да INT у нас уже нормальный. Там схема в два раза сложнее, чем в Ленинграде.

Только у оригинального клона при обращении к медленной памяти и к порту #FE во время работы видеоконтроллера происходит задержка. За счет этого горизонт в Акваплане появляется позже (от момента INT), чем если бы задержки не было. Или после INT программа работает в медленной памяти или часто обращается к #FE.

Но в Harlequin WAIT не используется.

---------- Post added at 22:40 ---------- Previous post was at 22:39 ----------


Кстати - ZST а можеш померять(посмотрет осцилом) частоту клока на процессоре, сигнал WAIT и INT на этом спек+ ?

У меня нету оригинального. Я чисто теоретически рассуждаю, a Ratibor экспериментирует.

ale2k
19.09.2011, 21:48
вот тут по тактам все описано __http://sblive.narod.ru/ZX-Spectrum/SpeccyBob/SpeccyBob.htm
и фотки правильно работающих программ есть

balu_dark
19.09.2011, 22:36
У меня нету оригинального. Я чисто теоретически рассуждаю, a Ratibor экспериментирует.

Бррр так скрин который ты давал с эмулятора чтоли? я думал это с тв тюнера и реала.

_Ratibor_
19.09.2011, 22:41
zst, надо бы еще вот какой момент прояснить:
Привожу два отрывка из брошурки но настройке Ленинграда.

http://i044.radikal.ru/1109/b5/6de892501400.jpg

http://s015.radikal.ru/i332/1109/89/babbf5fa2e8a.jpg

Сейчас у меня стоит кварц на 14 Мгц, а D4 распаян по формуле приведенной в главе 6,
хотя в таблице из первой главы получается как для 13.5 Мгц.

Да и схема как бы в общем расчитана на 14.5 Мгц.

И где правда ?

Это раз.
Два: Даже если настроим синхру, а кварец будет отличный от 14.5 Мгц, то все равно фигня получается.

zx-kit
19.09.2011, 23:06
Бррр так скрин который ты давал с эмулятора чтоли? я думал это с тв тюнера и реала.

По моей просьбе Ewgeny7 запустил Aquaplane на своем реале, подключенном через тв-тюнер.

Вот как выглядит на моем Ленинграде без WAIT начало игры Vectron (есть рисунок на бордере):

http://s15.radikal.ru/i189/1109/4e/94ad57075606t.jpg (http://s15.radikal.ru/i189/1109/4e/94ad57075606.jpg)

---------- Post added 20.09.2011 at 00:06 ---------- Previous post was 19.09.2011 at 23:59 ----------


zst, надо бы еще вот какой момент прояснить:
Привожу два отрывка из брошурки но настройке Ленинграда.

Сейчас у меня стоит кварц на 14 Мгц, а D4 распаян по формуле приведенной в главе 6,
хотя в таблице из первой главы получается как для 13.5 Мгц.

Да и схема как бы в общем расчитана на 14.5 Мгц.

И где правда ?

Это раз.
Два: Даже если настроим синхру, а кварец будет отличный от 14.5 Мгц, то все равно фигня получается.

Там неточные данные и у Ленинграда проблемы с настройкой счетчиков. Кварц лучше использовать на 14 МГц, как в большинстве клонов - зачем лишние трудности.

Я подобрал положение перемычек для 14 МГц так, чтобы было ровно 448 точек в строке. Конденсатор на 6 выводе ЛЛ1 обязателен. Без него VGA&PAL не работал, а он был настроен ровно на 448 точек. Также можно измерить частоту строчных синхроимпульсов. Если счетчики настроены неправильно, то частота будет сильно отличаться от 15625 Гц. Хотя телевизор может и показывать. Подозреваю, что некоторые Ленинграды у людей неправильно настроены и бордюрные эффекты показывают неправильно.

Если бы было не ровно, то и изображение в бордюрных эффектах типа DARK STAR не было бы правильным даже при подключении к телевизору.

_Ratibor_
19.09.2011, 23:29
Там неточные данные и у Ленинграда проблемы с настройкой счетчиков.
А какие точные ?


Кварц лучше использовать на 14 МГц, как в большинстве клонов - зачем лишние трудности.
Дело не в трудностях, главное чтоб его заставить правильно работать.


Я подобрал положение перемычек для 14 МГц так, чтобы было ровно 448 точек в строке. Конденсатор на 6 выводе ЛЛ1 обязателен.
Как выставлены перемычки и какой кондер ?


Также можно измерить частоту строчных синхроимпульсов. Если счетчики настроены неправильно, то частота будет сильно отличаться от 15625 Гц.
У меня тестер простенький, не знаю насколько точно частоту меряет,
проверил сейчас им - 15.52 кГц.


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

zx-kit
19.09.2011, 23:33
А какие точные ?


Дело не в трудностях, главное чтоб его заставить правильно работать.


Как выставлены перемычки и какой кондер ?

Входы счетчика D4 К555ИЕ7 настроены для кварца 14 МГц (10 вывод на +5В, а 1,9,15 - на землю). У меня в старом Ленинграде было так и работает, хотя во многих описаниях - не так.

Конденсатор 560 pF между выводами 6 и 7 микросхемы К555ЛЛ1 (настройка количества тактов в строке = 896).


У меня тестер простенький, не знаю насколько точно частоту меряет,
проверил сейчас им - 15.52 кГц.


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

_Ratibor_
19.09.2011, 23:40
Входы счетчика D4 К555ИЕ7 настроены для кварца 14 МГц (10 вывод на +5В, а 1,9,15 - на землю). У меня в старом Ленинграде было так и работает, хотя во многих описаниях - не так.

У меня также.
Так что вот эта формула получается правильная:

http://s015.radikal.ru/i332/1109/89/babbf5fa2e8a.jpg


Кварц лучше использовать на 14 МГц, как в большинстве клонов - зачем лишние трудности.
Дело не в трудностях, главное чтоб его заставить правильно работать.
Тут дело вот в чем - меняя кварц и переделывая D4 под определенный кварц мы во всех случаях получаем одинаковый синхроимпульс, но тактовая то проца во всех случаях будет разная. Вот тут то и получаем рассинхрон бордюрных эффектов и т.п.

zx-kit
20.09.2011, 20:30
Дело не в трудностях, главное чтоб его заставить правильно работать.
Тут дело вот в чем - меняя кварц и переделывая D4 под определенный кварц мы во всех случаях получаем одинаковый синхроимпульс, но тактовая то проца во всех случаях будет разная. Вот тут то и получаем рассинхрон бордюрных эффектов и т.п.
Какая же это правильная работа ? Настраивая одинаковую частоту строк при разных кварцах мы получаем проблему разного количества тактов в строке и кадре. Лучше иметь 224 такта, как в оригинале.

_Ratibor_
21.09.2011, 15:28
Включил сейчас MAGIC-05.
Запустил тест инта - инт приходит вовремя, вторая светху желтая полоска на экране идеально совмещена с белой на бордюре. Но длинна инта чуть длиньше чем у ленинграда с доработанным интом, но в пределах нормы(гдето в середине НОРМА).
Загрузил игру Aqua Plane.
Горизонт на бордюре выше по отношению к экранному чем у ленинграда.
И что-то мне кажется что совмещение горизонтов зависит от длинны инта.
Что на ленине-1, что на MAGIC-05 инт приходит в одно и тоже время, но длинна разная. У MAGIC-05 инт чуть длиннее и соответственно горизонт на бордюре чуть выше. Вот как то так.

zx-kit
21.09.2011, 15:39
Включил сейчас MAGIC-05.
Запустил тест инта - инт приходит вовремя, вторая светху желтая полоска на экране идеально совмещена с белой на бордюре. Но длинна инта чуть длиньше чем у ленинграда с доработанным интом, но в пределах нормы(гдето в середине НОРМА).
Загрузил игру Aqua Plane.
Горизонт на бордюре выше по отношению к экранному чем у ленинграда.
И что-то мне кажется что совмещение горизонтов зависит от длинны инта.
Что на ленине-1, что на MAGIC-05 инт приходит в одно и тоже время, но длинна разная. У MAGIC-05 инт чуть длиннее и соответственно горизонт на бордюре чуть выше. Вот как то так.
Может у него нет торможения как у Ленинграда, поэтому горизонт выше. У моего без WAIT горизонт тоже выше, чем у вас.

caro
21.09.2011, 15:46
У MAGIC-05 инт чуть длиннее и соответственно горизонт на бордюре чуть выше.Длительность INT в "Магик-05" задается параметрами RC-цепочки C7,R61 (33 nF, 360 Om)
и входными параметрами микросхемы D24 (ЛА3).
Для уменьшения длительности INTа можно попробовать уменьшить емкость C7
или подобрать резистор R61, поставив вместо него подстроечник килоОм на 2.

_Ratibor_
21.09.2011, 16:05
caro, у Вас есть схема "Магик-05" ?

caro
21.09.2011, 16:08
caro, у Вас есть схема "Магик-05" ?
Если есть, киньте пожалуйста на ratib собака mail точка ruКинул.

_Ratibor_
21.09.2011, 16:17
Поймал, спасибо.

balu_dark
22.09.2011, 01:17
Саго - у магика кварц точно на 14Мhz или кратный какойто?

Что до ниже/выше - это зависит от точного количества машинных циклов(не путать к количеством тактов генератора) от момента прихода INT а как мы знаем - они могут варьироваться в зависимости от того как устроен комп - они могут тормозится и wait ом и clk ой.

P.S. был какойто тест который показывал количество не то циклов не то команд между прерываниями - вот его надо запустить на этих 3х тачках и измерить <del>длину писюна</del> скорость работы ленинграда с и без ваит и магика - буден ясен резалт и попросить запустить тест на спектрум+.

goodboy
23.09.2011, 00:11
вот вам две tap версии первого арканоида : ранняя (c опросом порта #FF ) и поздняя (без него).
проверяйте на своих самодельных реалах.

_Ratibor_
23.09.2011, 12:52
Лучше иметь 224 такта, как в оригинале.
Померял сейчас сигналы осцилом:

KS
длина - 1.3 ms
период - 25 ms

SS
длина - 11 µs
период - 80 µs

INT
длина - 11 µs

zx-kit
23.09.2011, 12:56
Померял сейчас сигналы осцилом:

KS
длина - 1.3 ms
период - 25 ms

Должно быть 20 мс



SS
длина - 11 µs
период - 80 µs

Должно быть 64 мкс


INT
длина - 11 µs
Должно быть
9.14 мкс для кварца 14 МГц

Но главное, чтобы было 224 такта Z80 в строке.
Телевизор то может и стерпит несоответствие, а вот программы - не все будут работать правильно.

_Ratibor_
23.09.2011, 13:01
Должно быть 20 мс
Длина или период ?


Должно быть 64 мкс
Длина или период ?


Должно быть 9.14 мкс для кварца 14 МГц
На сколько я знаю должно быть 8 мкс не зависимо не от чего.

zx-kit
23.09.2011, 13:07
Длина или период ?

По телевизионному стандарту период строчной развертки 64 мкс (частота 1/64мкс=15,625 кГц), а период кадровой 20 мс (частота 1/20 мс = 50 Гц).
У вашего Ленинграда частота вроде правильная (http://www.zx.pk.ru/showpost.php?p=416791&postcount=118).


На сколько я знаю должно быть 8 мкс не зависимо не от чего.
Должно быть 32 такта Z80 = 32/3.5 МГц = 9.14 мкс.
Это заложено в вашей доработке на триггере ТМ2 и в теме про Harlequin об этом написано (http://www.zxdesign.info/interrupts.shtml ):


A Z80 interrupt must not be held active for longer than is necessary as this may lead to the Z80 responding to it multiple times. It is documented somewhere that the ZX Spectrum holds the interrupt active for 32 T-states, which is long enough for all instructions to have time to respond to it, but is still long enough for it to be detected more than once.

The Z80 provides a mechanism for indicating acknowledgement of an interrupt, and I propose to use that to clear the interrupt so that we don't hold it active for longer than required, removing the chance of multiple detection. Sinclair probably chose to implement a 32 T-state interrupt period to avoid having to dedicate a ULA pin to the interrupt acknowledge.

_Ratibor_
23.09.2011, 13:45
По телевизионному стандарту период строчной развертки 64 мкс (частота 1/64мкс=15,625 кГц), а период кадровой 20 мс (частота 1/20 мс = 50 Гц).
У вашего Ленинграда частота вроде правильная (http://www.zx.pk.ru/showpost.php?p=416791&postcount=118).
Сейчас спаял вашу доработку:



Чтобы настроить ровно 224 такта Z80 в строке (конденсатор 560 pF на 6-D14):

C выхода 6-D14 подать сигнал на вход R триггера TM2, а не на 11-D4.
На вход D триггера подать +5V.
На вход С триггера подать сигнал H2.
С выхода триггера подать на 11-D4.



Ничего не изменилось, период SS остался 80 мкс

zx-kit
23.09.2011, 15:13
Сейчас спаял вашу доработку:

Ничего не изменилось, период SS остался 80 мкс

Плата - тот же самый Ленинград ? Частота строк 12.5 кГц ? Кварц 14 МГц ?

_Ratibor_
23.09.2011, 19:25
Плата - тот же самый Ленинград ?
Да


Кварц 14 МГц ?
Да


Частота строк 12.5 кГц ?
http://s56.radikal.ru/i152/1109/c5/3f5f265c6f9ft.jpg (http://s56.radikal.ru/i152/1109/c5/3f5f265c6f9f.jpg)

---------- Post added at 18:37 ---------- Previous post was at 17:28 ----------

Блин, еще бы не мешало иногда калибровку осцила проводить :)
Сейчас откалибровал, все встало на свои места:
период строчной развертки 64 мкс, а период кадровой 20 мс.

---------- Post added at 20:27 ---------- Previous post was at 18:37 ----------


вот вам две tap версии первого арканоида : ранняя (c опросом порта #FF ) и поздняя (без него).
проверяйте на своих самодельных реалах.
А в чем заключается работа порта FF в первой версии ?
Как это можно визуально определить ?
Просто я загрузил оба, но разницы не увидел.
Единственно - первая версия даже не загружается без RC цепочки соединяющей магнитофонный вход и выход.
Думал сперва плохо в WAV сконвертил, но потом припаял RC цепочку и игра запустилась.

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

zst, можете нарисовать как в Ленинграде-1 идут сигналы /RAS, /CAS, H0 по отношению друг к другу ?
Типа как тут (http://zx.pk.ru/showpost.php?p=415440&postcount=47) разрисовано.

zx-kit
23.09.2011, 20:02
zst, можете нарисовать как в Ленинграде-1 идут сигналы /RAS, /CAS, H0 по отношению друг к другу ?
Типа как тут (http://zx.pk.ru/showpost.php?p=415440&postcount=47) разрисовано.

Вот черновик от руки:
http://s60.radikal.ru/i167/1109/af/175fc73ceff3t.jpg (http://s60.radikal.ru/i167/1109/af/175fc73ceff3.jpg)

А вот аналогично по вашей ссылке (http://zx.pk.ru/showpost.php?p=415687&postcount=59)
http://i071.radikal.ru/1109/c5/05965942fdfet.jpg (http://i071.radikal.ru/1109/c5/05965942fdfe.png)

_Ratibor_
23.09.2011, 20:34
На верхней диаграмме и на желтом скорпионе - амплитуда /RAS, /CAS и H0 одинакова.
/CAS - это фактически инверсный H0.

Измеряю на своем Ленинграде-1 - сигнал /CAS в два раза по амплитуде длиннее чем H0 и /RAS.

/RAS
http://s40.radikal.ru/i090/1109/38/b6757546e572t.jpg (http://s40.radikal.ru/i090/1109/38/b6757546e572.jpg)

/CAS
http://s50.radikal.ru/i127/1109/c5/7c4c8aafc0cct.jpg (http://s50.radikal.ru/i127/1109/c5/7c4c8aafc0cc.jpg)

Я все это к чему.
При переделке в без вайтовую схему, надо отрезать родной /CAS и вместо него, также как и вместо /CLK подать инверсный H0

Что скажете ?

zx-kit
23.09.2011, 21:39
На верхней диаграмме и на желтом скорпионе - амплитуда /RAS, /CAS и H0 одинакова.
/CAS - это фактически инверсный H0.

Измеряю на своем Ленинграде-1 - сигнал /CAS в два раза по амплитуде длиннее чем H0 и /RAS.

Я все это к чему.
При переделке в без вайтовую схему, надо отрезать родной /CAS и вместо него, также как и вместо /CLK подать инверсный H0

Что скажете ?


В Ленинграде во время бордера (при /BORDER=0) /CAS = /WRBUF.
В принципе, можно сделать, чтобы во время бордера тоже был /CAS. То есть подать /H0.
Вместо /RAS на CLK Z80 надо подать сигнал с выхода элемента 2-И, на который подать сигналы /RAS и /WRBUF.

Тогда появятся лишние элементы, которые можно использовать в доработках:
Цифровой INT: освободится D1 (12-13), а также С2, R3 и диод D1.
Убираем WAIT: освободится D1 (8-9) - можно использовать для нового /CAS и освободится D9 (1-6) - можно использовать для цифрового INT.
Упрощаем /CAS: освободится D13 (11-13) - можно использовать для нового CLK Z80.

_Ratibor_
23.09.2011, 21:57
После того как отрезал wait заработали все тесты - ulatest3, btime и stime

Вот ulatest3, это я как понимаю работа FF
http://i003.radikal.ru/1109/6f/41f45b46679et.jpg (http://i003.radikal.ru/1109/6f/41f45b46679e.jpg)

Что выдает он у Harlequin, можно глянуть тут (http://www.zxdesign.info/softwareTest.shtml).

zx-kit
23.09.2011, 22:13
После того как отрезал wait заработали все тесты - ulatest3, btime и stime

На на CLK Z80 что подается ?


Вот ulatest3, это я как понимаю работа FF
Что выдает он у Harlequin, можно глянуть тут (http://www.zxdesign.info/softwareTest.shtml).

Некоторые столбики совпадают. Значит у нас порт #FF сделан не совсем так как в оригинале. Но уже хорошо.

_Ratibor_
23.09.2011, 22:18
На на CLK Z80 что подается ?

Сейчас сделал как вы и писали:


доработка формирователя сигнала WAIT:

Разрезать дорожку, идущую на 24 вывод Z80 от 5 вывода D9 .
24 вывод Z80 (WAIT) соединить через резистор 10 кОм c +5V.
Разрезать дорожку, идущую на 6 вывод Z80 и резистор подтяжки 470 Ом с 9 вывода D2 (сигнал /RAS).
Подать на 6 вывод Z80 (CLK) и резистор подтяжки 470 Ом сигнал H0 через инвертор.

zx-kit
23.09.2011, 22:25
Сейчас сделал как вы и писали:
То есть, просто /H0, как у меня ? А почему раньше тоже самое не работало ? (http://www.zx.pk.ru/showpost.php?p=415623&postcount=56)

_Ratibor_
23.09.2011, 22:29
То есть, просто /H0, как у меня ? А почему раньше тоже самое не работало ? (http://www.zx.pk.ru/showpost.php?p=415623&postcount=56)
А фиг его знает :)
После того разве что второй резюк на кварц поставил, больше вроде ничего не изменял. Ну и вместо кондера на строчную, поставил тм2. Может изза этого резюка, т.к. сигнал стал более ровным.


Некоторые столбики совпадают. Значит у нас порт #FF сделан не совсем так как в оригинале. Но уже хорошо.

http://www.zxdesign.info/images/screenShot/harFetchIoContMatch.jpg

У нас совпадает только один столбик, 4 слева.
И судя по адресу 14462 задержка на тм2 не нужна, т.к. там уже 5F, а у нас еще 5E.
И может ну ее нафиг эту ир23, а поставить АП5 ?
Правда для доработки она не очень удобная :(

zx-kit
23.09.2011, 23:21
Если убираем WAIT, то тогда высвобождается один элемент ЛН1 и один элемент ТМ2, его и можно задействовать под настройку 224 тактов, а проблемму с символом (с) можно решить заменой ир9 на 2 ир16.
А в KAY-1024 и ZXM-PHOENIX вместо двух ИР16 поставили одну ИР10.

---------- Post added at 00:21 ---------- Previous post was at 00:09 ----------

У нас освободилось несколько инверторов. Нельзя ли сигнал /BK сформировать не на триггере D8, а на младшем разряде счетчика D7?

Тогда освободится еще один триггер ТМ2:
Вместо с 8-D8 на 1-D7 подать сигнал с выхода 8-D12.
Вместо с 8-D8 на 10-D13 подать сигнал с 3-D7.
Вместо с 9-D8 сигнал /BK подать с 3-D7 через инвертор.
Вместо с 11-D7 сигнал FLASH брать с 12-D7.

_Ratibor_
23.09.2011, 23:40
Нельзя ли сигнал /BK сформировать не на триггере D8, а на младшем разряде счетчика D7?
Ну и для чего это ?
Все равно одну тм2 добавить придется:
1 элемент на привязку к черному, 1 на инт.
А освободившийся элемент от wait под 224 такта,
а ир9 заменить на ир10.

zx-kit
23.09.2011, 23:42
Если на CLK Z80 подать /H0, то инвертор D34 (3-4) тоже освобождается.

---------- Post added at 00:42 ---------- Previous post was at 00:40 ----------


Ну и для чего это ?
Все равно одну тм2 добавить придется:
1 элемент на привязку к черному, 1 на инт.
А освободившийся элемент от wait под 224 такта,
а ир9 заменить на ир10.
А на счетчики D5-D6 не потребуется ставить еще один триггер, чтобы строк было четко 312 ? На некоторых схемах ставят конденсатор 1 nF на 5 вход D5.

Есть ли программа, чтобы убедиться, сколько строк/тактов в кадре ?

_Ratibor_
23.09.2011, 23:46
А на счетчики D5-D6 не потребуется ставить еще один триггер, чтобы строк было четко 312 ? На некоторых схемах ставят конденсатор 1 nF на 5 вход D5.
Вы об этом не писали :)


Вместо /RAS на CLK Z80 надо подать сигнал с выхода элемента 2-И, на который подать сигналы /RAS и /WRBUF.
Это ли1 ?

zx-kit
23.09.2011, 23:50
Вы об этом не писали :)

У меня нет на плате, но на схеме KAY-128 почему-то нарисован.



Это ли1 ?
Да, но раз на CLK Z80 можно подать /H0, то этот элемент свободный.

_Ratibor_
23.09.2011, 23:55
Еще бы не мешало отцентровать экран(сдвинуть вправо).

http://www.zxdesign.info/images/hvidtime.png


Вроде это проверить можно программами btime и stime (http://wizard.ae.krakow.pl/~jb/qaop/tests.html).

zx-kit
23.09.2011, 23:58
Еще бы не мешало отцентровать экран(сдвинуть вправо).
На сколько точек ? Строчный синхроимпульc укорочен до 4.57 мкс ? В Ленинграде он 9.14 мкс.

Чтобы укоротить надо для формирования синхросмеси на 13-D11 подать не /SS, а сигнал с выхода элемента ЛЛ1. На один вход ЛЛ1 подать /SS, на другой - H5. Тогда экран возможно сдвинется вправо.

На 15-D36 подать сигнал гашения с выхода элемента ЛА3. На один вход ЛА3 подать /KS, на другой - /SS.
Получается гашение можно сделать без триггера.

_Ratibor_
24.09.2011, 00:10
На сколько точек ?
На знакоместа как минимум 3, может два, т.е. 16-24 точки. Завтра экран сфотографирую.


Строчный синхроимпульc укорочен до 4.5 мкс ? В Ленинграде он 9 мкс.
Не укорачивал, завтра попробую.

_Ratibor_
24.09.2011, 13:01
В общем перепаял я порт FF в вариант без тм2, разницы никакой.
Также задержка на один символ, т.к. по адресу 14462 там должно быть уже 5F, а у нас еще 5E. В общем тм2 вообще ничего не задерживала.
Похоже действительно надо менять ир23 на ап5.

---------- Post added at 12:12 ---------- Previous post was at 11:59 ----------



Чтобы укоротить надо для формирования синхросмеси на 13-D11 подать не /SS, а сигнал с выхода элемента ЛЛ1. На один вход ЛЛ1 подать /SS, на другой - H5. Тогда экран возможно сдвинется вправо.
После этой переделки экран встал фактически на нужное место.

---------- Post added at 14:06 ---------- Previous post was at 12:12 ----------

В общем поигрался я с FF :)
Для управления похоже надо всего два сигнала - BORDER и H3
Ну и похоже АП5 вместо ир23.

http://www.zxdesign.info/images/screenShot/harFetchIoContMatch.jpg

Судя по этому скрину идут 4 байта данных (00 40 01 41), потом порт закрывается и идут 4 байта FF и так далее. Это и обеспечит Н3, вернее /H3. Ну и к нему намешать BORDER. Больше там ничего не нужно.

---------- Post added at 15:01 ---------- Previous post was at 14:06 ----------

Сейчас попробовал следующее:
На 1 ногу ир23 подал /H3,
а на 11 ногу ир23 подал /H1.
Вот что получилось:

http://s40.radikal.ru/i087/1109/ab/88b26ac341c5t.jpg (http://s40.radikal.ru/i087/1109/ab/88b26ac341c5.jpg)

Как видно совпадают почти все столбцы(6 из 8), за исключением 2-х(3 и 6 слева).
В первой и последних двух строках можно не обращать внимания на символы FB, они отсекаются легко с помощью BORDER.

Как видно последовательность 40 40 01 01 совпадает с циклом чтения из памяти по такту H2.
Особенно хорошо это видно по предыдущему фото:

http://i003.radikal.ru/1109/6f/41f45b46679et.jpg (http://i003.radikal.ru/1109/6f/41f45b46679e.jpg)

Похоже надо менять(сдвигать) цикл чтения из памяти, а порт FF на /H3 и /H1 работает правильно.

balu_dark
24.09.2011, 17:00
С портом атрибутов там засада - арлекинец пишет что атрибут в реале приходит за 8 тактов до начала скрина - он это както особенно учитывал. Надо почитать внимательно чего он сделал.

ПыСы - раз уж такой мгтф пошел - по итогу все равно сделаете не Ленинград а чтото другое :) может потом после всех наворотов - сделать таки совсем другую плату? Чтобы не идти опять по пройденному пути и не навешивать на плату километры мгтф. Получив при этом вроде и Ленинград но с полноценными времянками.

zx-kit
24.09.2011, 22:48
С портом атрибутов там засада - арлекинец пишет что атрибут в реале приходит за 8 тактов до начала скрина - он это както особенно учитывал. Надо почитать внимательно чего он сделал.

ПыСы - раз уж такой мгтф пошел - по итогу все равно сделаете не Ленинград а чтото другое :) может потом после всех наворотов - сделать таки совсем другую плату? Чтобы не идти опять по пройденному пути и не навешивать на плату километры мгтф. Получив при этом вроде и Ленинград но с полноценными времянками.

Все это уже сделано в KAY-2010. Если делать то модель 48К. Желательно порт #FF допилить.

_Ratibor_
24.09.2011, 22:54
Желательно порт #FF допилить.
И куда теперь дальше пилить ?

zx-kit
24.09.2011, 23:01
И куда теперь дальше пилить ?

Схему торможения Z80 для медленной памяти (http://www.zxdesign.info/docs/waitGen-1.17.pdf)
Пока не придумал, как прикрутить к Ленинграду. Там учитывается еще обращение к портам с адресами экрана в разных комбинациях с портом #FF.
Тогда Aquaplan заработает. Эффект снега не обязателен.

balu_dark
25.09.2011, 01:45
Все это уже сделано в KAY-2010. Если делать то модель 48К. Желательно порт #FF допилить.
а в нем - точно не нужно паять мгтфом ничего из доработок(или улучшений)?

zx-kit
26.09.2011, 10:43
В KAY-2010 много чего есть:

Z80 на нормальной скорости и TURBO
Звук BEEPER+YAMAHA
Память 1 Мб микросхемами или симом
4 слота ZX-BUS
Контроллер PS/2 клавиатуры без WAIT
KEMPSTON, SINCLAIR1 и SINCLAIR2 джойстики
Цифровой INT
Порт #FF
Четко 312 строк в кадре
Нормальные синхро- и гасящие импульсы в строке.


МГТФ конечно есть, например, регистр порта #FF стоит вторым этажом и его подпаивают двумя проводами. (http://www.zx.pk.ru/showpost.php?p=339441&postcount=96) Но есть отверстия в плате, чтобы эти провода пропустить с нижней стороны. Еще есть несколько мелких доработок проводом.

nick17
27.09.2011, 15:01
Добрый день!!! Собираю помаленьку ленинград по схеме отсюда http://sblive.narod.ru/ZX-Spectrum/Leningrad48k/Leningrad48k.htm
Вопрос такой... Есть память с организацией 512К*8(PROM), подойдет ли она мне, если старшие разряды адреса посадить на землю. Где взять прошивку Биоса, его прошивать с начального адреса в ПЗУ?
Для чего на схеме диоды D2, D3(возле D31) и D4.

_Ratibor_
29.09.2011, 22:00
Схему торможения Z80 для медленной памяти (http://www.zxdesign.info/docs/waitGen-1.17.pdf)
Пока не придумал, как прикрутить к Ленинграду. Там учитывается еще обращение к портам с адресами экрана в разных комбинациях с портом #FF.
Тогда Aquaplan заработает. Эффект снега не обязателен.
Как дела продвигаются ?

zx-kit
30.09.2011, 11:51
Как дела продвигаются ?

Может попробовать так:

http://s06.radikal.ru/i179/1109/eb/789ef930390bt.jpg (http://s06.radikal.ru/i179/1109/eb/789ef930390b.bmp)

_Ratibor_
30.09.2011, 12:15
Это 3 элемента ла3 и 1 элемент ле1 ?

ZXMAK
05.10.2011, 03:23
Но в игре "AQUAPLANE" горизонт на место пока не встал. Более точное положение, видимо зависит от порта #FF. Надо дальше читать про компьютер Harlequin (http://www.zxdesign.info/intAck.shtml).

и не станет, в оригинальном спектруме добавляются WAIT'ы, длительность зависит от того в какой момент времени происходит обращение к памяти, причем WAIT'ы добавляются при обращении к странице где находится видеопамять.
Можно ПЗУ на 16 кил поставить, на адрес подавать номер такта, оставшимися линиями от номера такта коммутировать шину данных ПЗУ на вывод процессора WAIT. В ПЗУ залить таблицу с задержками оригинального спека :)

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

Не подскажешь по какой схеме добавляются WAIT'ы в оригинальном Ленинград-1?

---------- Post added at 02:23 ---------- Previous post was at 02:13 ----------


Положение сигнала INT в Ленинграде не совсем там относительно кадровой развертки. Это приводит к сильному не совпаданию рисунка на BORDER-е в играх для оригинального Спектрума. Например, горизонт в игре "AQUAPLANE" совсем не совпадает:

http://s012.radikal.ru/i319/1109/8e/517f02e834b2t.jpg (http://s012.radikal.ru/i319/1109/8e/517f02e834b2.jpg)



за картинку как выглядит программа на оригинальном ленинграде-1 без модов - огромное спасибо! :v2_dizzy_vodka3:

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

zx-kit
05.10.2011, 19:19
и не станет, в оригинальном спектруме добавляются WAIT'ы, длительность зависит от того в какой момент времени происходит обращение к памяти, причем WAIT'ы добавляются при обращении к странице где находится видеопамять.

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


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

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


как всегда слу чайно наткнулся
http://zxpress.ru/print.php?id=8905


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

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

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

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

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


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

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


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

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


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

http://s48.radikal.ru/i122/1110/d0/8d9bab38300ft.jpg (http://s48.radikal.ru/i122/1110/d0/8d9bab38300f.gif)



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

http://s017.radikal.ru/i418/1112/73/05ca2b52f16et.jpg (http://s017.radikal.ru/i418/1112/73/05ca2b52f16e.png)


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

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


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


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

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


FLOATSPY
(файл ниже)

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

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

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

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

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

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

_Ratibor_
07.10.2011, 13:01
Может попробовать так:

http://s06.radikal.ru/i179/1109/eb/789ef930390bt.jpg (http://s06.radikal.ru/i179/1109/eb/789ef930390b.bmp)

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

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

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

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


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

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


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

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

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

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

_Ratibor_
08.10.2011, 21:27
Надо делать без WAIT. А для этого еще 1.5-2 микросхемы понадобится.
У Дельта-С тоже сделано без вайта, торможением тактовой частоты.
Это вообще самый правильный клон. Можно там глянуть как реализовано.
Правда там с интом накосячили :) Тупо кадровую на инт завели.
Если там исправить инт и добавить FF, то фактически фирменный спектрум получится.

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

zx-kit
09.10.2011, 12:02
Ну как бы микросхемы есть :)
Схема нужна.
Вот схема на четырех микросхемах:

http://s017.radikal.ru/i443/1110/24/52073f33e2c0t.jpg (http://s017.radikal.ru/i443/1110/24/52073f33e2c0.png)

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

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

Вот (http://www.worldofspectrum.org/infoseekid.cgi?id=0021735) кстати этот тест в trd.

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

Вот (http://www.worldofspectrum.org/infoseekid.cgi?id=0021735) кстати этот тест в trd.

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

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

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

_Ratibor_
10.10.2011, 14:18
Да зачем она нам ? Где гарантия, что она правильно работает ? У нас УЖЕ сделан правильный INT. И положение и длительность. Как у "HARLEQUIN". Вот на него и надо равняться в вопросах совместимости с оригиналом.
Да неважно как она работает.
Нужно глянуть что она выдает на фирменном спектруме.
Попроси чтоб запустили ее на фирменном спектруме и сфотографировали экран. Только пусть не сразу фотографируют, а перва обновят данные кнопкой A, а то сразу после запуска она иногда длинну инта не правильно показывает.

Ewgeny7
10.10.2011, 14:52
Попроси чтоб запустили ее на фирменном спектруме и сфотографировали экран.
Да-да, Вадим, попроси меня запустить это на фирменной машине!
Как попросишь, я сразу посмотрю! :)

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

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

:)

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

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

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

Ewgeny7
10.10.2011, 17:44
Извините за задержку, тестирую программы. Компьютер - оригинал "Spectrum+" и MultIDE.
Вот картинко теста.

Ewgeny7
10.10.2011, 17:49
А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.

Ewgeny7
10.10.2011, 17:52
Что такое ULAtest я не знаю, и картинки не понял. Но, вот она:

_Ratibor_
10.10.2011, 17:53
А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.
Спасибо.
Вот этого я и ожидал, вернее именно этого положения инта, хотя это и вообще все карты путает :)

Ewgeny7
10.10.2011, 17:55
Однако, Vectron работает как положено.

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

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

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

Ewgeny7
10.10.2011, 18: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
10.10.2011, 18:17
сделай фото тарелки в DARK STAR
Посередине:

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

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


Посередине:

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

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

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

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

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

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


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

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

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

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

_Ratibor_
10.10.2011, 21:20
А на какой картинке видно положение INT в оригинальном клоне ?

Вот:

А вот тут вас ждет сюрприз! ;)
TestInt. Перезапуски делал, разумеется, картинка не меняется.
http://zx.pk.ru/attachment.php?attachmentid=29868&d=1318254536


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


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

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

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

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

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

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

zx-kit
10.10.2011, 21:33
Вот:

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

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

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

_Ratibor_
10.10.2011, 21:38
Наверно начало INT связано с началом строчного синхроимпульса, а надо привязать к левой границе экранной области. Обычно в этот момент сбрасываются в ноль счетчики знакомест в строке.
Инт сейчас сделан как мы сделали в Ленинграде на тм2 от кадрового синхроимпульса.
Судя по VECTRON и DARKSTAR надо ИНТ задержать на тактов 40-50, а то он чутка раньше приходит.


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

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

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

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

Ewgeny7
11.10.2011, 10:39
Вадим, понравился мне твой КИТ на аватаре. Поэтому я сделал из него ZX-КИТ :)

zx-kit
11.10.2011, 10:43
Вадим, понравился мне твой КИТ на аватаре. Поэтому я сделал из него ZX-КИТ :)

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

_Ratibor_
11.10.2011, 10:49
Доработку в Ленинграде по новой схеме еще не пробовали ?

Пока нет.

Ewgeny7
11.10.2011, 10:55
Подари ?
Ну разумеется, я для этого и делал :)

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

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

_Ratibor_
11.10.2011, 11:57
Можно еще проинвертировать сигнал записи в триггер/регистр цвета бордера.

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

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

_Ratibor_
11.10.2011, 12:55
Помогите расчитать кондер в RC-цепочке.

Должно быть: 240 ом и 150 пик

Какой кондер нужен, если стоит резистор 180 ом ?

goodboy
11.10.2011, 12:59
вывод тарелки в игре висит на прерываниях по IM2.

Ewgeny7
11.10.2011, 13:07
примерно - ток пойдет бОльший в 240/180=1,33 раза. следовательно, для "компенсации" нужен конденсатор 150*1,33=200 пик.

---------- Post added at 13:07 ---------- Previous post was at 12:59 ----------


вывод тарелки в игре висит на прерываниях по IM2
Это не суть важно, все равно это INT.

_Ratibor_
11.10.2011, 14:01
примерно - ток пойдет бОльший в 240/180=1,33 раза. следовательно, для "компенсации" нужен конденсатор 150*1,33=200 пик.

Спасибо.


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

Да нету тут тм9

На кондерах получилось сдвинуть тарелку вправо на процентов 60-70.
Но дальше городить кучу из кондеров и инверторов это не есть гуд.

Как можно задержать инт ?

Исходное положение вот:
http://s017.radikal.ru/i407/1110/69/67282324c80dt.jpg (http://s017.radikal.ru/i407/1110/69/67282324c80d.jpg)

_Ratibor_
11.10.2011, 18:35
Сейчас посчитал, надо задержать ровно на 64 такта.

http://s017.radikal.ru/i417/1110/c3/f78560c5210ct.jpg (http://s017.radikal.ru/i417/1110/c3/f78560c5210c.jpg)

zx-kit
11.10.2011, 19:13
вывод тарелки в игре висит на прерываниях по IM2.
А в AQUAPLANE что происходит после прерывания для определения момента отображения горизонта ?

---------- Post added at 20:13 ---------- Previous post was at 20:11 ----------


Спасибо.



Да нету тут тм9

На кондерах получилось сдвинуть тарелку вправо на процентов 60-70.
Но дальше городить кучу из кондеров и инверторов это не есть гуд.

Как можно задержать инт ?

Исходное положение вот:
http://s017.radikal.ru/i407/1110/69/67282324c80dt.jpg (http://s017.radikal.ru/i407/1110/69/67282324c80d.jpg)
Триггером.

Надо сравнить схему с Ленинградом. Дайте ссылку на схему этого компьютера.

_Ratibor_
11.10.2011, 19:15
Триггером.

Надо сравнить схему с Ленинградом. Дайте ссылку на схему этого компьютера.

Да нету у меня нормальной схемы, скажите примерно что искать ?
Хотябы применительно к ленинграду, а я поищу осцилом подобные сигналы.
Задержать надо ровно на 64 такта.


Написал в личку.

zx-kit
11.10.2011, 23:39
Да нету у меня нормальной схемы, скажите примерно что искать ?
Хотябы применительно к ленинграду, а я поищу осцилом подобные сигналы.
Задержать надо ровно на 64 такта.


Написал в личку.

Можете попробовать найти сигнал осциллографом.
На тактовый вход счетчика строк наверно подается строчный синхроимпульс (/SS в Ленинграде), а можно попробовать подать сигнал бордера в строке (/BS в Ленинграде). По схеме трудно понять что куда идет.

_Ratibor_
11.10.2011, 23:50
На тактовый вход счетчика строк наверно подается строчный синхроимпульс (/SS в Ленинграде), а можно попробовать подать сигнал бордера в строке (/BS в Ленинграде).

Такттовый - это как я понимаю C ?
А что на остальные три ?

zx-kit
12.10.2011, 00:03
Такттовый - это как я понимаю C ?
А что на остальные три ?

В Дельте-С на ЛП5 (2-D14) подается сигнал ССИL. Наверно это строчный синхроимпульс. Этот же сигнал подается на вход счетчика 10-D17. Наверно это счетчик строк. Вместо него на 10 вход счетчика нужно подать сигнал бордера в строке тоже строчной частоты но почти меанд.

Можно попробовать задержать кадровый синхроимпульс на пол-строки с помощью триггера ТМ2. На вход C триггера подать сигнал частотой около 31 кГц (взять с одного из выходов счетчиков). На входы R и S триггера ТМ2 подать 5 вольт. А уже из задержанного кадрового синхроимпульса делать INT.

_Ratibor_
12.10.2011, 15:14
Можно попробовать задержать кадровый синхроимпульс на пол-строки с помощью триггера ТМ2. На вход C триггера подать сигнал частотой около 31 кГц (взять с одного из выходов счетчиков). На входы R и S триггера ТМ2 подать 5 вольт. А уже из задержанного кадрового синхроимпульса делать INT.
А кадровый я как понимаю на вход D завести ?

zx-kit
12.10.2011, 18:36
А кадровый я как понимаю на вход D завести ?
Да, а сигнал с выхода триггера использовать для формирования INT.

_Ratibor_
12.10.2011, 18:39
Ну в общем как-то так получилось:

http://s19.radikal.ru/i192/1110/ac/9745ea7c212at.jpg (http://s19.radikal.ru/i192/1110/ac/9745ea7c212a.jpg)

Колонки поменяны местами .
А отчего это зависит ?
Должно быть 00 40 01 41, а у меня 40 00 41 01

Такое же наблюдал у себя на ленинграде-1

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

zx-kit
12.10.2011, 19:14
Ну в общем как-то так получилось:

http://s19.radikal.ru/i192/1110/ac/9745ea7c212at.jpg (http://s19.radikal.ru/i192/1110/ac/9745ea7c212a.jpg)

Колонки поменяны местами .
А отчего это зависит ?
Должно быть 00 40 01 41, а у меня 40 00 41 01

Такое же наблюдал у себя на ленинграде-1

Непонятно, что программа ULATEST3 измеряет. Может версия не та. Попробуйте ту, что Ewgeny7 запускал.



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

_Ratibor_
12.10.2011, 19:17
Непонятно, что программа ULATEST3 измеряет. Может версия не та. Попробуйте ту, что Ewgeny7 запускал.
Версия таже.
А измеряет она работу порта ФФ.
Сверху видите в первой строке атрибуты ?
Вот потом она и стытывает эти атрибуты из порта ФФ.

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

zx-kit
12.10.2011, 20:21
Версия таже.
А измеряет она работу порта ФФ.
Сверху видите в первой строке атрибуты ?
Вот потом она и стытывает эти атрибуты из порта ФФ.

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

Хорошо. А теперь давайте Ленинград доработаем.

_Ratibor_
12.10.2011, 20:42
Хорошо. А теперь давайте Ленинград доработаем.

Так. На чем мы остановились ?
Int у нас вроде нормальный.
Wait на +5 через резюк припаять ?
И собрать последнюю схему тактовки проца ?

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

Зато теперь хоть есть с чем сравнивать :)

Кстати судя по этому (http://www.zxdesign.info/loadingTest.shtml) на Harlequin игры Dark Star и Aquaplane не очень то и правильно идут.

zx-kit
12.10.2011, 21:02
Так. На чем мы остановились ?
Int у нас вроде нормальный.
Wait на +5 через резюк припаять ?
И собрать последнюю схему тактовки проца ?

Да.



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

Зато теперь хоть есть с чем сравнивать :)

Кстати судя по этому (http://www.zxdesign.info/loadingTest.shtml) на Harlequin игры Dark Star и Aquaplane не очень то и правильно идут.

Смотрите дальше. Сначала пофиксили Dark Star:

http://www.zxdesign.info/intAck.shtml

Потом Aquaplane:
http://www.zxdesign.info/testSuccess.shtml

zx-kit
14.10.2011, 23:31
AQUAPLANE на LENINGRAD-2012:

http://s017.radikal.ru/i437/1110/b8/d2dce734c9e2t.jpg (http://s017.radikal.ru/i437/1110/b8/d2dce734c9e2.jpg)

_Ratibor_
14.10.2011, 23:43
AQUAPLANE на LENINGRAD-2012:

http://s017.radikal.ru/i437/1110/b8/d2dce734c9e2t.jpg (http://s017.radikal.ru/i437/1110/b8/d2dce734c9e2.jpg)

Вы собрали новую тактовку ?
А как в других играх ?

P.S. Все руки не доходят собрать.

balu_dark
15.10.2011, 00:32
ZST - пуляй уж плиз в один пост сразу всю подборку тестовых скринов!
там : Шок,Dark Star, Ulatest, StormLord ( у него в оригинале на наших машинах переодически пропадали спрайты в игре изза кривого инта) и что там еще за проги то были?

_Ratibor_
15.10.2011, 12:40
zst, собрал я новую схемку, но чтото не заработало.
Дальше сброса не идет. Похоже тест памяти не проходит.
/RAS и /CAS остаются как было изначально в ленинграде ?
Или их нужно переделать, как описано тут (http://zx.pk.ru/showpost.php?p=417821&postcount=139) ?
Сейчас у меня /RAS отрезан от CLS, вернее CLS отрезан от /RAS,
а /CAS остался как и был изначально в ленинграде.
wait отрезан и посажен через резюк на +5.

zx-kit
18.10.2011, 18:55
zst, собрал я новую схемку, но чтото не заработало.
Дальше сброса не идет. Похоже тест памяти не проходит.
/RAS и /CAS остаются как было изначально в ленинграде ?
Или их нужно переделать, как описано тут (http://zx.pk.ru/showpost.php?p=417821&postcount=139) ?
Сейчас у меня /RAS отрезан от CLS, вернее CLS отрезан от /RAS,
а /CAS остался как и был изначально в ленинграде.
wait отрезан и посажен через резюк на +5.
Я тоже допаял Ленинград МГТФ-ом до такой степени, что игры идти перестали даже после убирания доработки.

_Ratibor_
18.10.2011, 19:45
Я тоже допаял Ленинград МГТФ-ом до такой степени, что игры идти перестали даже после убирания доработки.
Дак что делать то ? Эта доработка не работает или надо чтото с /ras /cas делать ?

nick17
20.10.2011, 08:21
Добрый день, вопрос по схемотехнике ленинграда-1

На принципиальной схеме стоит сдвиговый регистр ИР16, сдвиг осуществляется по отрицательному фронту тактового вправо. Сигнал снимается с 4 разряда.
По сути тоже самое что синхронный одноразрядный регистр.
К чему такая нецелесообразность использования Сдвигового регистра тут? :)

zx-kit
20.10.2011, 20:34
Добрый день, вопрос по схемотехнике ленинграда-1

На принципиальной схеме стоит сдвиговый регистр ИР16, сдвиг осуществляется по отрицательному фронту тактового вправо. Сигнал снимается с 4 разряда.
По сути тоже самое что синхронный одноразрядный регистр.
К чему такая нецелесообразность использования Сдвигового регистра тут? :)
В Ленинграде для того, чтобы отобразить на телевизоре 8 точек по-горизонтали нужно прочитать два байта из ОЗУ: байт BITMAP (черно-белое изображение) и байт AТРИБУТОВ (код цветов, яркости и мигания восьми точек в строке). Оба байта прочитать не получается. Сначала читается BITMAP, а через время, равное времени отображения четырех точек, байт АТРИБУТОВ. Байт BITMAP преобразуется из параллельного вида в последовательный и дополнительно задерживается на 4 точки с помощью регистра ИР16. Это нужно, чтобы на мультиплексоры КП11, формирующие сигналы RGBI, информация поступала одновременно из двух байтов.

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


zst, собрал я новую схемку, но чтото не заработало.
Дальше сброса не идет. Похоже тест памяти не проходит.
/RAS и /CAS остаются как было изначально в ленинграде ?

Да, ничего не менял.


Сейчас у меня /RAS отрезан от CLS, вернее CLS отрезан от /RAS,
а /CAS остался как и был изначально в ленинграде.
wait отрезан и посажен через резюк на +5.
У меня также, но программы грузятся.

zx-kit
29.11.2011, 01:01
Подключение джойстика от приставки "SEGA" ...

http://i076.radikal.ru/1111/b6/b626a525fd2ct.jpg (http://i076.radikal.ru/1111/b6/b626a525fd2c.jpg)


... в качестве KEMPSTON JOYSTICK:

http://s017.radikal.ru/i428/1111/2f/ee1ef099c797t.jpg (http://s017.radikal.ru/i428/1111/2f/ee1ef099c797.png)


Схема проверена в работе во время отладки отдельных узлов при проектировании следующей версии "LENINGRAD-2012".[COLOR="Silver"]

---------- Post added at 02:01 ---------- Previous post was at 01:25 ----------

Новая версия схемы "медленной" памяти для Ленинграда:

http://s017.radikal.ru/i443/1111/99/b33ee6d769b8t.jpg (http://s017.radikal.ru/i443/1111/99/b33ee6d769b8.png)

_Ratibor_
29.11.2011, 19:10
Новая версия схемы "медленной" памяти для Ленинграда:

http://s017.radikal.ru/i443/1111/99/b33ee6d769b8t.jpg (http://s017.radikal.ru/i443/1111/99/b33ee6d769b8.png)

На втором попробовал, тоже не запустилось.

Случайно оторвался проводок от А14 и все запустилось.
Правда при этом не заработал магнитофонный вход.

Может у Вас еще какие - то изменения есть ?

zx-kit
30.11.2011, 10:47
На втором попробовал, тоже не запустилось.

Случайно оторвался проводок от А14 и все запустилось.
Правда при этом не заработал магнитофонный вход.

Проверьте соответствие выводов микросхем по схеме медленной памяти V1.02
Обратите внимание, что у микросхем 555ЛЕ1 цоколевка элементов нестандартная.
Работает ли Ленинград, если отключить торможение? Для этого отпаять провод от 2-DD1 в схеме медленной памяти и соединить этот вывод с землей.


Может у Вас еще какие - то изменения есть ?
Особых изменений нет. Только сигнал /CAS по упрощенной схеме сделан: /CAS_NEW=/H0
Напомню, что старые сигналы /WAIT и /RAS отключаются от Z80. Но /RAS подается на память К565РУ5.

_Ratibor_
30.11.2011, 13:04
Особых изменений нет. Только сигнал /CAS по упрощенной схеме сделан: /CAS_NEW=/H0
А это не особые изменения ? :)


Проверьте соответствие выводов микросхем по схеме медленной памяти V1.02
Обратите внимание, что у микросхем 555ЛЕ1 цоколевка элементов нестандартная.

Я уже сто раз проверял.
У меня доработка навесом спаяна, сейчас попробую аккуратно на монтажке спаять с минимальной длинной проводов.

---------- Post added at 14:52 ---------- Previous post was at 13:07 ----------


Работает ли Ленинград, если отключить торможение? Для этого отпаять провод от 2-DD1 в схеме медленной памяти и соединить этот вывод с землей.
Сейчас проверил - не работает.
Если использовать старый(обычный) /CAS, то идет постоянный сброс,
а если использовать вместо /CAS - /H0, то черный экран и постоянно красные вертикальные полосы.

---------- Post added at 15:04 ---------- Previous post was at 14:52 ----------

P.S. Просто в безвайтовом варианте, когда на проц подаешь /H0 вместо /RAS работает нормально.

_Ratibor_
30.11.2011, 15:44
P.P.S. Без ПЗУ показывает нормальный матрас.

zx-kit
30.11.2011, 17:04
Я предлагал подать на Z80 сигнал RAS "" (8-D2 на схеме Ленинграда, ТМ2), инвертированный на DD1.2 и задержанный на пол-периода F14MHz на DD4. В результате должен был получиться /RAS, задержанный на 35 ns.



Если использовать старый(обычный) /CAS, то идет постоянный сброс,
а если использовать вместо /CAS - /H0, то черный экран и постоянно красные вертикальные полосы.

P.S. Просто в безвайтовом варианте, когда на проц подаешь /H0 вместо /RAS работает нормально.

Для уточнения: /H0 - это H0, поданный через инвертор.

А в Ленинграде стоит ИР22 или ИР23 ?

_Ratibor_
30.11.2011, 18:27
Я предлагал подать на Z80 сигнал RAS "" (8-D2 на схеме Ленинграда, ТМ2), инвертированный на DD1.2 и задержанный на пол-периода F14MHz на DD4. В результате должен был получиться /RAS, задержанный на 35 ns.

Чтото не совсем понял.
Спаяно все как на последней схеме.
Кстати попробовал инвертировать сигнал RAS "" (8-D2),
т.е. не сразу заводить на 5 ногу D1.2, а через лн1 - ленин начал подавать признаки жизни :)

http://s017.radikal.ru/i430/1111/1a/340cbc8d0744t.jpg (http://s017.radikal.ru/i430/1111/1a/340cbc8d0744.jpg)

Правда вместо второй половины надписи - билиберда какая то.



Для уточнения: /H0 - это H0, поданный через инвертор.

А в Ленинграде стоит ИР22 или ИР23 ?
Про /H0 я в курсе.
Стоит ИР22.

zx-kit
30.11.2011, 18:30
Чтото не совсем понял.
Спаяно все как на последней схеме.
Кстати попробовал инвертировать сигнал RAS "" (8-D2),
т.е. не сразу заводить на 5 ногу D1.2, а через лн1 - ленин начал подавать признаки жизни :)

http://s017.radikal.ru/i430/1111/1a/340cbc8d0744t.jpg (http://s017.radikal.ru/i430/1111/1a/340cbc8d0744.jpg)

Правда вместо второй половины надписи - билиберда какая то.


Про /H0 я в курсе.
Стоит ИР22.

Я переделал по новой схеме доработку в старом Ленинграде и упростил /CAS. Сразу все заработало. То есть у меня на двух Ленинградах она работает.
Без переделки /CAS не работал.

_Ratibor_
30.11.2011, 19:22
Я переделал по новой схеме доработку в старом Ленинграде и упростил /CAS. Сразу все заработало. То есть у меня на двух Ленинградах она работает.
Без переделки /CAS не работал.

Ни по старой, ни по новой у меня не работает.

Может не работать из за того что у меня штук 5 микрух стоит 155 серии ?
D8, D12, D13, D35(155ир1) и D40

zx-kit
30.11.2011, 19:53
Ни по старой, ни по новой у меня не работает.

Может не работать из за того что у меня штук 5 микрух стоит 155 серии ?
D8, D12, D13, D35(155ир1) и D40

D40 у меня тоже 155. Может поможет замена D13 на 555 или на макетке сделать новый сигнал WRBUF на 555 серии.

_Ratibor_
01.12.2011, 08:18
Может поможет замена D13 на 555 или на макетке сделать новый сигнал WRBUF на 555 серии.
Заменил D13 на 555 - не помогло.

_Ratibor_
01.12.2011, 12:54
Поставил на третий ленинград.
Итог: доработка не работает на трех из трех.

Kvazyman
01.12.2011, 13:53
Эх, скорее бы 2012-ый запустили :) Заказал :) Жду как подарка на НГ :)

_Ratibor_
01.12.2011, 15:31
В общем сейчас на третьем удалось запустить доработку :)
Подал на 5 ногу D1.2 вместо RAS "" (8-D2) - /H0 и все заработало.
Вместо /CAS тоже подал /H0.

http://s54.radikal.ru/i146/1112/ec/b14e0595957ft.jpg (http://s54.radikal.ru/i146/1112/ec/b14e0595957f.jpg)

---------- Post added at 17:31 ---------- Previous post was at 16:06 ----------

Погонял сейчас на ленинграде с доработкой тест памяти, нестабильно память работает.

_Ratibor_
01.12.2011, 18:13
Отключил торможение (оторвал провод идущий на 2 ногу D1.1 и посадил эту ногу на землю). Ошибки практически прекратились, всего одна ошибка вылезла за пол часа работы теста памяти.

zx-kit
01.12.2011, 18:32
Отключил торможение (оторвал провод идущий на 2 ногу D1.1 и посадил эту ногу на землю). Ошибки практически прекратились, всего одна ошибка вылезла за пол часа работы теста памяти.
Что за тест ?

_Ratibor_
01.12.2011, 18:38
Что за тест ?

тот что A48MT.SCL или A48MT.TAP
http://zx.pk.ru/showthread.php?p=283577#post283577


В общем глюкнул в оконцовке тест минут через 40 :(
Не стабильно память работает.

Есть идеи ?

balu_dark
01.12.2011, 19:36
А какая скорость памяти? Все ли чипы с одинаковой скоростью? возможно ли поставить на проверку более быстрые чипы. Импорт насколько помню - более привередлив к регенерации.

zx-kit
01.12.2011, 19:49
тот что A48MT.SCL или A48MT.TAP
http://zx.pk.ru/showthread.php?p=283577#post283577


В общем глюкнул в оконцовке тест минут через 40 :(
Не стабильно память работает.

Есть идеи ?

Запустил этот тест. 70 проходов (около 40 минут) - без ошибок. Может процессор у меня не тот. Может вам резистор на тактовую Z80 470 Ом поменьше поставить.

---------- Post added at 20:49 ---------- Previous post was at 20:43 ----------


А какая скорость памяти? Все ли чипы с одинаковой скоростью? возможно ли поставить на проверку более быстрые чипы. Импорт насколько помню - более привередлив к регенерации.

... 80 проходов теста без ошибок. У меня в LENINGRAD-2010 память КР565РУ5В (вместо буквы одна точка). Такая же закуплена для конструкторов LENINGRAD-2012.

_Ratibor_
01.12.2011, 21:04
Может процессор у меня не тот. Может вам резистор на тактовую Z80 470 Ом поменьше поставить.
Хоть как то запустилось у меня на одной плате, на двух других делал так же, но все равно не работало.
На той которая заработала, фиг знает какой проц стоит - белая керамика, а надпись замазана.

balu_dark
01.12.2011, 23:01
zst - насчет памяти - то я _Ratibor_ спрашивал - у тебя то вроде все работает как надо - а у него нет. Вот я и спросил его - может память какая глючная.

_Ratibor_
01.12.2011, 23:16
balu_dark, память стоит на двух ру5г, на одном ру5в.
На всех трех в безвайтовом режиме работает стабильно, тест гонял по пол дня - ни одного глюка.

zx-kit
02.12.2011, 05:24
balu_dark, память стоит на двух ру5г, на одном ру5в.
На всех трех в безвайтовом режиме работает стабильно, тест гонял по пол дня - ни одного глюка.
Какие сигналы при это подавались на /CAS РУ5 и /CLK Z80 ?

_Ratibor_
02.12.2011, 10:17
Какие сигналы при это подавались на /CAS РУ5 и /CLK Z80 ?

В безвайтовом режиме все три работают: при этом /CAS стандартный, а на тактовую проца идет /H0.

С доработкой запустился один из трех: при этом вместо /CAS идет /H0 ,
а на 5 ногу D1.2 вместо RAS "" (8-D2) тоже /H0.
Но не стабильно при этом ленин работает.

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