CXEMATEKA.RU, © 2016 | Sign Up! | По-русски

ZX Spectrum «Ленинград 48к» - сборка, наладка, увеличение памяти, доработки, схемы, видео

Name: Константин Айги (CXEMATEKA.RU)


«То, что не удаётся запрограммировать на ассемблере, приходится паять» (http://bash.im/quote/398169)

Когда-то «ZX Spectrum» стал одним из моих первых персональных компьютеров. На нём я постигал азы программирования – от бейсика до ассемблера. И тут уместно будет вспомнить народную мудрость: «То, что не удаётся запрограммировать на ассемблере, приходится паять». Поэтому параллельно я подробно изучал схематехнику компьютера «ZX Spectrum». И так, постепенно, хобби переросло во вполне профессиональную деятельность в составе группы спектрумистов «FFC Computers». Я занимался тогда русификацией игр, дискетированием «ленточных» программ, ремонтом и доработкой Спектрумов (1995-1997 гг.)

За три года профессиональной деятельности в этой сфере через мои руки прошло огромное количество клонов Спектрума. Приносили в ремонт и другие компьютеры, но всё же Спектрумов было подавляющее большинство. И даже однажды мне довелось подключать отечественный контроллер дисковода к фирменному Спектруму 128k (тогда это была большая редкость).

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

Начиная с этой публикации, постепенно буду делиться накопленной информацией. Думаю, многое будет полезно поклонникам Спектрума, да и не только )

«Как сделать компьютер? | Building ZX Spectrum 128k clone + Beta Disk Interface + AY-3-8910 (YM2149F)»

Как-то нашел у себя сразу несколько оригинальных плат популярнейшего клона Спектрума – «Ленинград 48k». И тогда я решил непременно собрать эту систему с полным апгрейдом до версии 128k с контроллером дисковода и, разумеется, музыкальным сопроцессором. Весь этот процесс я заснял на видео (смотрите выше) с подробными комментариями. Ниже привожу схемы, по которым работал и подробный план апгрейда.

Принципиальная схема компьютера «Ленинград 48k»

Вариант 1:

Источник: http://sblive.narod.ru/

Вариант 2:

Источник: http://zxbyte.ru/

Вариант 3:

Источник: http://micronc.ru/

Монтажная схема компьютера «Ленинград 48k»

Монтажная схема:

Источник: http://sblive.narod.ru/

Схема на просвет адаптированная для печати:

Источник: http://sblive.narod.ru/

Увеличение памяти компьютера «Ленинград 48k» до 128k

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода
для импортной памяти 41256 DRAM, регенерация в 256 циклов:

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода
для отечественной памяти 565РУ7, регенерация в 512 циклов:

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода
при использовании двух линеек памяти 565РУ5:

Для всех доработок используем 7 дополнительных микросхем:

eD1 - К555(1533)ТМ9 (устанавливается поверх D31)
eD2 - К555(1533)КП11 (устанавливается поверх D30)
eD3 - К555(1533)ЛЕ1 (устанавливается поверх D2)
eD4 - К555(1533)ЛА3 (устанавливается поверх D40)
eD5 - К555(1533)ЛЛ1 (устанавливается поверх D34)
eD6 - К555(1533)ЛИ1 (устанавливается поверх D8)
eD7 - К555(1533)ЛЛ1 (устанавливается поверх D13)

План соединений при апгрейде памяти (41256 DRAM, регенерация в 256 циклов):
01. eD1-1 -> D20-26 (RESET)
02. eD1-2 -> eD2-2
03. eD1-5 -> eD2-11
04. eD1-7 -> eD2-14
05. eD1-15 -> eD3-8
06. eD1-9 -> eD3-10
07. eD1-3 -> D32-12 (D0)
08. eD1-4 -> D32-15 (D1)
09. eD1-6 -> D32-16 (D2)
10. eD1-11 -> D32-19 (D3)
11. eD1-13 -> D32-2 (D4)
12. eD1-14 -> D32-5 (D5)
13. eD1-10 -> D17-13 (2-й экран) – отрезать от земли
14. eD1-12 -> eD7-2 (Выбор ПЗУ 128k)
15. eD7-1 -> D1-10 -> eD7-10 (Выбор TR-DOS инвертированный)
16. D1-11 -> через 10к к +5B
17. D1-11 -> D29-1 (отрезать от +5B)
18. eD7-3 -> D29-27 (отрезать от +5B)
19. eD2-3 -> eD2-13
20. eD2-13 -> eD4-4 -> D10-11 (A14)
21. eD2-10 -> eD4-5 -> eD3-3 -> D10-12 (A15)
22. eD2-15 -> D33-8 (GND)
23. eD2-1 -> eD4-6
24. eD2-4 -> D16-10 (отрезать от A14)
25. eD2-9 -> D16-13 (отрезать от A15)
26. eD2-12 -> eD5-12
27. eD3-1 -> eD4-1
28. eD3-2 -> D41-9 (A1)
29. eD3-4 -> eD4-2
30. eD3-5 -> D14-12 (WR)
31. eD3-6 -> D14-13 (OUTIORQ)
32. eD3-9 -> eD4-3
33. eD5-13 -> D3-2 (H1)
34. eD5-11 -> D21-1...D28-1 (41256 DRAM)
35. eD5-10 -> D10-13
36. eD5-9 -> D9-8 (WE)
37. eD5-8 -> D21-3...D28-3 (41256 DRAM) - отрезать от D9-8

Для соединений я использовал провод МГТФ 0.12. Термостойкая оплетка сохраняет провода в целости при плотном монтаже, а небольшое сечение провода позволяет легко перекидывать соединения со стороны пайки на сторону монтажа деталей через любые свободные отверстия на печатной плате, как показано на фото:

Другие доработки компьютера «Ленинград 48k»

Схема доработок:

1. Стабилизация тактового генератора
2. Нормализация строчной развертки (для кварца частотой 14000 КГц)
3. Стабилизация кадровой развертки
4. Корректировка прорисовки линий (дуги, окружности и т.п.)
5. Установка ПЗУ 27C512
6. Доработка сигнала INT

Схема подключения контроллера XT-клавиатуры Profi:

Схема «читалки» с магнитофона на К554СА3:

Источник: http://service4u.narod.ru/

Этапы сборки, немного фоток

Оригинальная плата «Ленинград 48k» 1988:

Оригинальная плата «Ленинград 48k» 1988

«Ленинград 48k» в сборе:

«Ленинград 48k» в сборе:

«Ленинград 48k» с контроллером XT-клавиатуры Profi:

«Ленинград 48k» с контроллером XT-клавиатуры Profi

«Ленинград 128k» в сборе:

«Ленинград 128k» в сборе

«Ленинград 128k» с контроллером дисковода и музыкальным сопроцессором:

«Ленинград 128k» с контроллером дисковода и музыкальным сопроцессором

«Ленинград 128k» с контроллером дисковода, музыкальным сопроцессором и дисководами:

«Ленинград 128k» с контроллером дисковода, музыкальным сопроцессором и дисководами

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

Да, да, контроллер тогда стоил 75 тысяч рублей )) И обратная сторона ценника порадовала не меньше – выяснилось, что он нарисован на куске перфокарты!!! ;)

Да... В этом есть определенный философский подтекст: ценник на контроллер носителя информации нового поколения нарисован на обрывке носителя информации старого поколения... )

Полезные файлы:

  1. Имя файла: DIZZY_5r_48k.zip (109K)
    MD5: e55b3dd84cba8895ebcce6b4efbe5607

    Игра «DIZZY 5». Русифицированная версия игры,
    адаптированная мной в 1996 году для спекртрума 48k.
    В архиве игра в трех форматах: TAP, HOBETA, SCL.

    Скачать: http://www.cxemateka.ru/v1/DIZZY_5r_48k.zip

  2. Имя файла: wildseyr.zip (68K)
    MD5: 62511c9b12f42794053805e140af3009

    Игра «Сеймур на Диком Западе» (русифицированная мной в 1996 году).
    В архиве игра в формате SCL.

    Скачать: http://www.cxemateka.ru/v1/wildseyr.zip

  3. Имя файла: test48k.bin (2,0K)
    MD5: 4bf68803c17aa614b7fbfa939549eaec
    Контрольная сумма прошивки: 85E7

    Тестовая прошивка 48k (модифицированная версия -
    убрал нудную процедуру заполнения экрана, ненужную проверку ПЗУ).

    Скачать: http://www.cxemateka.ru/v1/test48k.bin

  4. Имя файла: test128k.bin (2,0K)
    MD5: 5247c2d7d5c77d270d98d6c0080493da
    Контрольная сумма прошивки: E413

    Тестовая прошивка 128k.

    Скачать: http://www.cxemateka.ru/v1/test128k.bin

  5. Имя файла: sos48k_only.bin (16K)
    MD5: 4c42a2f075212361c3117015b107ff68
    Контрольная сумма прошивки: 1F64

    Стандартная операционная система
    для «ZX Spectrum» 48k (1982 Sinclair Research Ltd).

    Скачать: http://www.cxemateka.ru/v1/sos48k_only.bin

  6. Имя файла: 27512.bin (64K)
    MD5: 77cec243abe304ba3603b63b88709cae
    Контрольная сумма прошивки: 9135

    Комбинированная прошивка для ПЗУ 27512:

    Банк 0 - Пусто.

    Банк 1 - TR-DOS Version 5.5H Copyright (C) 1993 by Rst7.
    MD5: de4131214186667b9fb4022343d34444
    Контрольная сумма: 3F81

    Банк 2 - SOS 128k (Стандартная ОС для «ZX Spectrum» 128k).
    MD5: 97da465c399ff70b907dfd8291e8f9d3
    Контрольная сумма: 266E

    Банк 3 - SOS 48k (Стандартная ОС для «ZX Spectrum» 48k).
    MD5: 6e09e5d3c4aef166601669feaaadc01c
    Контрольная сумма: 2C86

    Скачать: http://www.cxemateka.ru/v1/27512.bin

Где взять детали для сборки?

Сначала надо заказать печатную плату в любой специализирующейся на этом деле конторе. Набор файлов gerber & excellon для изготовления платы: http://www.cxemateka.ru/v1/Leningrad48k.rar (Источник: http://sblive.narod.ru/).

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

ТТЛ-логика, предпочтительнее 1533 (аналог 74ALS) или 555 (аналог 74LS):
1533ЛН1 (74ALS04) - 2 шт.
1533ТМ2 (74ALS74) - 3 шт.
1533ТМ9 (74ALS174) - 1 шт.
1533ИЕ7 (74ALS193) - 4 шт.
1533ЛЕ1 (74ALS02) - 1 шт.
1533ЛП5 (74ALS86) - 1 шт.
1533ЛА3 (74ALS00) - 1 шт.
1533ЛИ1 (74ALS08) - 1 шт.
1533ЛЛ1 (74ALS32) - 1 шт.
1533КП11 (74ALS257) - 8 шт.
1533КП13 (74ALS298) - 2 шт.
1533ИР22 (74ALS373) - 1 шт.
1533ИР9 (74ALS165) - 1 шт.
1533ИР16 (74ALS295) - 1 шт.
1533ЛА4 (74ALS10)- 1 шт.

КМОП:
561ИЕ10 (4520) – 1 шт.

Процессор:
Z80 – 1 шт.

Постоянная память:
EPROM 27C64 - 2 шт. или одна EPROM 27C128 (для версии 48k)

Оперативная память:
565РУ5 - 8 шт. или 565РУ7 - 8 шт. (первые выводы РУ7 нужно будет соединить между собой и заземлить /для версии 48k/)

Вместо 565РУ7 можно ставить зарубежные аналоги: 41256/41257 DRAM, MB81256/MB81257 DRAM.

Кроме того, в Спектрум можно ставить динамическую память большего объема и соотв. потребуется меньшее кол-во микросхем. Как это делается, расскажу в следующем материале.

Узел чтения с магнитофона рекомендуется собирать по приведенной выше схеме на К554СА3 (зарубежный аналог IL311ANM).



Useful post + 14 | Useless post - 0
Friday, December 9, 12:41:30 2016    
Константин Айги (CXEMATEKA.RU)
Name: Ольга Король
Фото у тебя Супер! )

Очень интересное видео! Мне понравилось как ты делаешь и рассказываешь ) Круто! ;) МолодчАга! ;)

Useful comment + 4 | Useless comment - 0
Monday, January 2, 21:31:09 2017 | post link    

<<<< 17 16 15 14 13 12 11 10 9 8 7 6 >>>>

Name: Кирилл Лукьянов
Коллеги, всем доброго времени суток =). Некоторое время назад я решил последовать примеру Константина и собрать Leningrad 48k, заказав печатную плату по гербер файлам, с сайта sblive.narod.ru и необходимые компоненты. Собрал это все воедино и приступил к отладке. Опыта у меня в схемотехнике маловато, посему первым делом хотел задать пару вопросов на тему "в правильном ли я направлении двигаюсь" =).

На гуглодоках веду некоторые заметки о том что уже сделано и с чем пришлось побороться (https://docs.google.com/document/d/1qpZ1uW-L1_6tNiQVoyhyLvp4zAgAx_uJC0F-pQk67Z8/edit?usp=sharing). Так же присутсвуют мысли в слух, которые можно игнорировать ;).

Сейчас нахожусь на моменте подключения собранной спеки к телевизору. В моем распоряжении есть AKAI LEA-24K39P. Для подключения хочу использовать SCART. Провод спаял. Для приведения напряжений так же собрал делитель напряжений. По осциллограммам вроде бы что-то похожее на правду на SCART приходит.

На форумах читал, что у Leningrad 48k синхросигнал имеет слишком длинную LOW-фазу (у меня примерно 9 мкс), а нужно около 4.6 мкс. И нашел схемку с тем как можно выполнить доработку.

Так же встречался с информацией о том, что в некоторых телевизорах RGB-вход на SCART может быть не разведен, несмотря на то, что видеопроцессор телевизора имеет RGB входы, и что можно доработать и телик чтобы SCART стал полноценным.

Сейчас у меня есть два важных вопроса:
1) Есть ли способ проверить распаян ли RGB-вход на SCART'е телевизора (в пользовательской документации особо ничего не нашел)?
2) Обязательно ли выполнять доработку для нормализации длительности SYNC сигнала?

Ну и в общем: В правильном ли я направлении иду? =)

Заранее спасибо, всем откликнувшимся.

Useful comment + 0 | Useless comment - 0
Tuesday, October 1, 23:37:54 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Константин Айги (CXEMATEKA.RU)
Кирилл,

> Есть ли способ проверить распаян ли RGB-вход на SCART'е телевизора

Можно разобрать и посмотреть ) Но скорее всего там полный SCART, как и на большинстве современных ТВ.

> Обязательно ли выполнять доработку для нормализации длительности SYNC сигнала?

Да, без доработок видеовыхода тут не обойтись. Действительно, у «Ленинграда» синхросигнал вдвое длиннее нормы. В принципе, исправления этого сигнала может быть достаточно, чтобы подружить компьютер со скартом. Я как-то делал подобную доработку по этой схеме:



Источник: http://zxbyte.ru/leningrad_video_out.htm

P.S. Кстати, я эту схему немного упростил, использовав 1 корпус ЛА4 вместо ЛА1+ЛИ1. ЛА4 содержит три элемента И-НЕ, соотв. первый элемент И-НЕ можно использовать вместо ЛА1, а объединив выход второго элемента И-НЕ с третьим элементом И-НЕ с замкнутыми входами, мы получим в сумме элемент И (замену ЛИ1).

Useful comment + 1 | Useless comment - 0
Thursday, October 3, 09:53:47 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Vadim
Кирилл, на моём капризном SAMSUNG. Все эти доработки не дали результата. Картинка была, но с искажениями и периодически "прыгали" кадры. Полистав книгу Chris Smith - The ZX Spectrum ULA. How to design a microcomputer, пришёл к решению:


Картинка стабильна. Искажений нет. Дешифратор можно заменить на логику, но понадобится больше микросхем.

Useful comment + 0 | Useless comment - 0
Thursday, October 3, 13:20:31 2019 | post link    
Posts: 51
Name: Кирилл Лукьянов
Константин, Вадим, спасибо. На следующей неделе приедут дополнительные микросхемы для доработок. Буду пробовать. Потом отпишусь о том, какой способ помог.
Useful comment + 0 | Useless comment - 0
Saturday, October 5, 13:57:39 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Владимир
Здравствуйте, Константин. Подскажите,пожалуйста,почему мерцает экран, а курсор выводится без мерцания? Компьютер-"Ленинград-48к". Спасибо за Ваши видео и ответы на вопросы.
Useful comment + 0 | Useless comment - 0
Sunday, October 6, 21:05:12 2019 | post link    
Name: Константин Айги (CXEMATEKA.RU)
Владимир, flash включается по седьмому биту байта из области атрибутов (вход 6 D31), вход 7 D31 должен быть на нуле. Диоды D2, D3 и резистор R4 формируют логический элемент И. Когда на выходе 12 D31 единица, flash активен (цвета PAPER и INK меняются местами в такт сигнала FLASH управляемым инвертором D11.A). Вот весь этот узел и нужно тщательно проверить.
Useful comment + 0 | Useless comment - 0
Monday, October 7, 03:08:44 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Владимир
Константин, спасибо, буду проверять.
Useful comment + 0 | Useless comment - 0
Friday, October 11, 07:37:21 2019 | post link    
Name: Кирилл Лукьянов
Константин, здравствуйте. Пока ждал прихода микросхем выполнил доработку по варианту №1 (http://zxbyte.ru/leningrad_video_out.htm), для которого у меня все было. Увы, увидеть картинку на экране так и не удалось =].

После доработки синхроимпульс сократился в длине с 9 мкс до ~4.45 мкс, что близко к требуемым 4.6 мкс, но все же не равно. Я так же разобрал свой телик, и дорожки идущие от SCRAT'а куда-то на плату, там обнаружил, т.е. шансы на то, что SCART RGB умеет - увеличились.

Я наснимал некоторое количество осциллограмм в схеме с доработками. Не могли бы ли вы на них взглянуть, похожи ли они на правду, или что-то все же в схеме я накосячил =).

Картинки и описание текущего состояния в очередном гуглодокументе: https://docs.google.com/document/d/1Z52CRG3mma6fP_VbG3gwHf90yzvsDjrfQkJqR142aNg/edit?usp=sharing

Заранее спасибо.

Useful comment + 0 | Useless comment - 0
Tuesday, October 15, 03:27:20 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Vadim
Кирилл, доработки кадровой и строчной выполнены?



Если нет, то сделать доработки.

Если да, то можно "поиграть" кварцами с большей частотой до 15 МГц.


Useful comment + 0 | Useless comment - 0
Tuesday, October 15, 12:31:50 2019 | post link    
Posts: 51
Name: Константин Айги (CXEMATEKA.RU)
Кирилл,

> Синхроимпульс периодически, раз в 20 мс, примерно на 1 мс меняет полярность.
> Период в 20 мс говорит о кадровой развертке в 50 кадров в секунду, что правильно,
> однако правильно ли, что он меняет полярность, а не полностью гасится в 0?

Да, именно так это и должно тут выглядеть.

И в целом, судя по осциллограммам, все сигналы в пределах допустимого.

Для примера, снял показатели с некоторых своих плат.

1. Классический «Ленинград» с укороченным синхросигналом:
Синхросигнал: длительность – 4.583 мкс, частота – 16.180 кГц (далеко не норма)
Частота строк (SS): длительность – 9.125 мкс, частота – 16.190 кГц (тоже не норма)
Частота кадров (KS): длительность – 0.9885 мс, частота – 51.88 Гц

Несмотря на то, что не все сигналы тут в норме, этот «Ленинград» отлично дружит со скартом – стабильная, чёткая картинка.

2. «Композит» (плата, основанная на «Ленинграде», с заводскими доработками):
Синхросигнал: длительность – 2.25 мкс (слишком короткий), частота – 15.630 кГц
Частота строк (SS): длительность – 9.125 мкс, частота – 15.630 кГц
Частота кадров (KS): длительность – 1.024 мс, частота – 50.07 Гц

«Композит» тоже со скартом дружит. Правда картинка немного дергается. Похоже из-за некоторой нестабильности сигналов. Это можно вылечить при помощи конденсаторов )

3. Есть ещё классический «Ленинград» без доработок по синхросигналу:
Синхросигнал: длительность – 9.125 мкс (слишком длинный), частота – 15.610 кГц
Частота строк (SS): длительность – 9.125 мкс, частота – 15.610 кГц
Частота кадров (KS): длительность – 1.024 мс, частота – 50.02 Гц

Эта плата со скартом не дружит. Синхросигнал слишком длинный...

Ещё добавлю, что я подключаю эти компьютеры к скарту через усилитель, который короткими проводами припаян к разъему скарта. А от подключаемого компьютера к усилителю идёт уже длинный RGB+Sync шнур:



P.S. На 16-й вход скарта обязательно нужно +5В подавать, иначе телевизор не перейдёт в RGB-режим.

Useful comment + 0 | Useless comment - 0
Tuesday, October 15, 15:06:08 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Vadim
Кирилл, если под рукой есть Arduino, то можно проверить какие сигналы SCART-вход "переварит" с помощью следующей схемы:



и скетча:
/*
Vertical Bars Pattern PAL TV Signal Generator with Arduino

*/

#include
#include

///////////////////////////////////////////////////////////////////////////////////////
// Pins where the 2-bit DAC is connected

#define PINA0 6 // LSB, 1 kOhm resistor
#define PINA1 7 // MSB, 330 Ohm resistor

// PINA1 PINA0 OUTPUT
// 0 0 0.0V - Sync level
// 0 1 0.3V - Black level
// 1 0 0.6V - Gray level
// 1 1 1.0V - White level

#define LEVEL_SYNC PORTD &= ~(1 << PINA1); PORTD &= ~(1 << PINA0);
#define LEVEL_BLACK PORTD &= ~(1 << PINA1); PORTD |= 1 << PINA0;
#define LEVEL_GRAY PORTD |= 1 << PINA1; PORTD &= ~(1 << PINA0);
#define LEVEL_WHITE PORTD |= 1 << PINA1; PORTD |= 1 << PINA0;
///////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////
inline void vsync_pulse()
{
LEVEL_SYNC;
_delay_us(30);
LEVEL_BLACK;
_delay_us(2);
}

///////////////////////////////////////////////////////////////////////////////////////
inline void equal_pulse()
{
LEVEL_SYNC;
_delay_us(2);
LEVEL_BLACK;
_delay_us(30);
}
///////////////////////////////////////////////////////////////////////////////////////
inline void hsync_pulse()
{
LEVEL_BLACK;
_delay_us(2); //2.2us
LEVEL_SYNC;
_delay_us(5); //4.6us
LEVEL_BLACK;
_delay_us(7); //6.9us
}

///////////////////////////////////////////////////////////////////////////////////////
int main()
{
register unsigned int line;

/* NOTE THAT THE SIGNAL GENERATED BY THIS PROGRAM HAS A NOT VERY ACCURATE TIMING SO
IT IS POSSIBLE THAT THE IMAGE BLINKS ON YOUR TV SCREEN OR DOESN'T SHOW AT ALL,
THIS PROGRAM WRITTEN IN C (INSTEAD OF ASSEMBLER) IS ONLY A PROOF OF CONCEPT */

line = 0;
DDRD = 0xFF; // PORTD, all pins are outputs

while(1)
{

if (line == 313)
{
line = 1;
}
else
{
line++;
}


switch(line)
{
case 1:
case 2:
vsync_pulse();
vsync_pulse();
break;

case 3:
vsync_pulse();
equal_pulse();
break;

case 4:
case 5:
case 310:
case 311:
case 312:
equal_pulse();
equal_pulse();
break;

default:
// Image scanline (not a sync line)

hsync_pulse(); // Horizontal Sync, lenght = 14us

LEVEL_GRAY;
_delay_us(8);
LEVEL_BLACK;
_delay_us(14);
LEVEL_WHITE;
_delay_us(8);
LEVEL_BLACK;
_delay_us(14);
LEVEL_GRAY;
_delay_us(6);
//50us in total
}
}
}

Useful comment + 0 | Useless comment - 0
Tuesday, October 15, 17:47:17 2019 | post link    
Posts: 51
Name: Кирилл Лукьянов
Константин, Вадим и вновь спасибо за советы.

Я решил первым делом попробовать вывести композитный сигнал, чтобы начать с малого.
Картинку я получил (https://youtu.be/Af9xZeLnXhE).

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

Отдельное спасибо за идею с Arduino. Действительно надо попробовать сформировать нужный сигнал программно и убедится окончательно, что RGB есть или его нет =).

Useful comment + 0 | Useless comment - 0
Tuesday, October 15, 23:48:05 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Роман E-mail: Kr1033eu1@inbox.ru
Доброго времени суток, господа и товарищи форумчане! Подскажите, кто-нибудь покупал или собирал контроллер кравиатуры по Камилю Каримову? Плата называется ZXMC1 или ZXMC2 , две версии с небольшими отличиями? Если есть такие поделитесь опытом. Плату я собрал, прошил и контроллер и микросхему ATF16V8, подключил. Привключении с подключенной платой на экране 4 вертикальные полосы, две черные две белые. Без платы работает все штатно. Помимо собран контроллер дисковода С48 и подключен, работает как с дисководом так и с USB адаптером без проблем. За ранее благодарю за помощь.
Useful comment + 0 | Useless comment - 0
Thursday, October 17, 02:21:48 2019 | post link    
Name: Константин Айги (CXEMATEKA.RU)
Роман, вот тут про похожую проблему с подключением ZXMC2:
https://zx-pk.ru/threads/609-zx_multi_card.html?p=351713&viewfull=1#post351713

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

Useful comment + 0 | Useless comment - 0
Thursday, October 17, 12:36:20 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Кирилл Лукьянов
Константин, забыл открыть доступ по ссылке. Поправил, теперь должно показываться.
Useful comment + 0 | Useless comment - 0
Thursday, October 17, 16:17:52 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Кирилл Лукьянов
Константин, доброго времени суток.
В общем обе проблемы почти устранил.

Дребезг пикселей оказался, как я и предположил, следствием подвешенных в воздухе первых ног аналогов РУ7, которые я использую. Это исправилось быстро и легко.

А вот с дерганьем кадра возник небольшой вопрос.
Причина видимо в том, что требуется доработка "подергивания" кадров (http://zxbyte.ru/leningrad_video_out.htm).
Косвенное доказательство тому (https://youtu.be/eV0r9pc3SdI). При подключении щупа осциллографа, картинка появляется. Щуп обладает емкостью, видимо достаточной для стабилизации изображения.

Единственный вопрос в том, какой тип конденсатора лучше всего применить в данной доработке. Если я правильно прочитал номинал конденсатора из статьи, там установлен 1 микрофарад. Т.е. предлагается использовать емкость от 330 нФ до 1200 нФ. Осталось понять что за тип конденсатора нужен. Подойдет ли металлопленочный (https://www.chipdip.ru/catalog/import-film-capacitors?x.323=DxK&x.324=myK&locid=saint-petersburg-vosstaniya-8a)?
Или лучше взять что-то другое? Дело в том, что я попробовал собрать сборку из корректирующих конденсаторов, которые ставил на микросхемы. Так вот они как-то не помогли от слова совсем. Т.к. из-за длительности импульсов в 10-30 нс они видимо фильтровали этот сигнал как помеху, и уровень после установки такой сборки, даже на 400 нФ оказывался в логической единице.

Заранее спасибо за совет.

Useful comment + 0 | Useless comment - 0
Sunday, October 20, 21:09:41 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Константин Айги (CXEMATEKA.RU)
Кирилл, для стабилизации кадровой развертки, 11-й вывод D6 заземляется через конденсатор 100-1000 пикофарад. Номинал подбирается опытным путем. Практичнее использовать мелкие керамические конденсаторы, но тут важен не тип и размер, а номинал.

В моём случае подошел конденсатор на 200 пФ:
https://www.cxemateka.ru/v1/Other.png

Подробнее об этом можно почитать в книжке «Ленинград-1 наладка и ремонт»:
https://www.cxemateka.ru/ru/building_zx_spectrum_128k_clone_beta_disk_interface_ay_3_8910_ym2149f/p95

Useful comment + 0 | Useless comment - 0
Monday, October 21, 15:33:29 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Кирилл Лукьянов
Константин, все удалось.
Картинка появилась (стабильная работа случилась на 390 пФ, на 200 пФ очень редко но подергивание оставалось).

Тестовая прошивка +- завелась, с небольшими артефактами на старте (https://youtu.be/KCFLhvetqIs).

А вот SOS48 видимо работает, судя по морганию одного из знакомест, но вот все остальное не очень (https://youtu.be/rUvQB0-hydU). Прошивал ту прошивку, что на этой странице сверху (sos48k.bin). Распилил ее на две части по 8 КБайт. В правый слот на плате (D29) поставил младшую часть прошивки, в левый (D41) старшую часть прошивки. Прошивка проверена, на микросхеме точно все ок. Еще один момент, вместо 27С64 у меня стоят 28С64В, чтобы не париться с ультрафиолетом, по идее это электростираемые аналоги 27С64, так что должны бы работать нормально.

На форуме есть пара записей с похожими симптомами за 2017 год. Хотя конечно странно, что тест ОЗУ работает, а SOS нет =). Кстати когда я втыкал тестовую прошивку, я подключал только одну микросхему, но полагаю это не должно играть роли.

Буду рад за идеи, куда посмотреть еще, кроме ЛП5 и счетчиков =).

Заранее спасибо.

Useful comment + 0 | Useless comment - 0
Wednesday, October 23, 09:08:11 2019 | post link    
Кирилл Лукьянов
Posts: 7
Name: Константин Айги (CXEMATEKA.RU)
Кирилл, плавный старт компьютера обеспечивается конденсатором C1 (и резистором R5). Легко исправность этой связки проверить осциллографом. После нажатия кнопки сброса, уровень на выводе 26 процессора должен плавно подниматься с 0 до 1.

Только сейчас заметил, сверху была ссылка на файл sos48k.bin (MD5: 6e09e5d3c4aef166601669feaaadc01c). Это вторая половинка прошивки для 128k - стандартная ОС для 48К с некоторыми модификациями. Лучше в чистый Спектрум 48К прошивать это (в статье тоже ссылку поменял):
http://www.cxemateka.ru/v1/sos48k_only.bin
MD5: 4c42a2f075212361c3117015b107ff68

И в D41 прошивается младшая часть прошивки #0000-#1FFF, а в D29 старшая часть: #2000-#3FFF

Useful comment + 0 | Useless comment - 0
Wednesday, October 23, 16:59:55 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Роман E-mail: kr1033eu1@inbox.ru
Доброго времени суток, спасибо всем откликнувшимся в особенности Константину за наводку. Разобрался в проблеме, все оказалось до боли просто, недотрав в цепи сигнала IORQE и его замыкание на одну из ног АП6 из-за слишком мелких дорожек, очень маленького расстояния между ними и все это по причине некачественного напечатанного трафарета, это из первого, из второго неверно прошитые фьюзы, полапатил форумы поизучал даташиты и все заработало. Теперь имеется на моем варианте еще и карта ZXMC 2 со всеми ее примочками. Отдельное слово благодарности хочу выразить Камилю Каримову разработчику сего чуда, откликнулся объяснил некоторые нюансы, у него имеются конструкторы этих плат (свою травил сам) за недорого с уже прошитыми микросхемами Меги 8515 и АФТ плюс кто незнает в карте возможно обновление прошивки без программатора по RS-232, сам не проверял, у меня есть программатор. Карта работает стабильно есть некоторые пока неясные моменты с совместной работой QC 3.11 но это опять же могут быть мои косяки, в планах так же проверить и заюзать все возможности карты, а именно загрузка tap через ZXMC2? загрузка через карты CD/MMC. в карте реализована прикольная Фитча, горячими клавишами вызывается подпрограммы контроля мыши, клавиатуры, часов реального времени, и подпрограмма загрузчика, самое прикольное загрузка аж завораживает. Вообщем я доволен. в планах корпус из орг стекла 6мм (для надежности) и отдельная плата со всякими разъемами выводами вольт амперметром и т д! Константин спасибо Вам!!!
Useful comment + 1 | Useless comment - 0
Wednesday, October 23, 23:29:27 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Всем привет! Помогите пожалуйста опознать железяку: https://yadi.sk/i/To2P0NYY_qy7UA интересно с какого устройства, явно не компьютер.
Константин, может Вы знаете?

Useful comment + 0 | Useless comment - 0
Friday, November 1, 14:23:21 2019 | post link    
Name: Юрий E-mail: yura3816@gmail.com
Добрый день уважаемый Константин Айги и знатоки. Помогите с проблемой, укоротил строчный синхро импульс на своем Ленинграде 48к на микросхеме ЛА2 и сделал привязку к черному на микросхеме ТМ2, изображение появилось стабильное но появилась полоса с левой стороны, экран какбы сдвинут в право получается. Может кто сталкивался с подобным. Вот фото https://photos.app.goo.gl/SoASow6iHwipPWDB6 https://photos.app.goo.gl/v64GDZCNMFVj7G2SA
https://photos.app.goo.gl/9XQgvCNZmMSiDFCr9

Useful comment + 0 | Useless comment - 0
Thursday, November 7, 14:27:21 2019 | post link    
Name: Константин Айги (CXEMATEKA.RU)
Роман, не за что!

Максим, что это не знаю, но предположу, что это фрагмент какого-то промышленного оборудования. Помню, в своё время, кто-то мне говорил, что много Z80-х процессоров попадают в самодельные Спектрумы из старых станков и прочего подобного оборудования )

Юрий, похоже, что сигнал гашения получился слишком длинный в результате введения привязки к уровню черного. Рекомендую попробовать переделать эту доработку по схеме примененной в компьютере «Композит»:

Useful comment + 0 | Useless comment - 0
Saturday, November 9, 11:01:25 2019 | post link    
Константин Айги (CXEMATEKA.RU)
Posts: 310
Name: Юрий E-mail: yura3816@gmail.com
Вобщем, разобрал старую дороботку, и сделал по схеме которую вы рекомендовали выше на трёх микросхемах по моему на ЛИ1, ЛА1,ТМ2, полоса ушла, по композиту изображение отличное, но по RGB картинка немного дергается, что самое странное когда сигнал синхры подключаю не на sync а на video то картинка не дёргается, осцылограф будет через месяц, остаётся только догадываться что это может быть
Useful comment + 0 | Useless comment - 0
Saturday, November 9, 14:17:50 2019 | post link    
Name: Роман E-mail: kr1033eu1@inbox.ru
И снова всем привет. Вообщем посидел некоторое время в интернете плюс погоняв немного карту ZXMC-2 стало понятно, что проблема не в моих руках и есть такая же проблема у других людей именно карты ZXMC-2 и самого Quick Commander-а. На форуме https://zx-pk.ru/threads/24069-qc-3-11-i-zxmc-2.html разбирали эту проблему, но решения так и не нашли. Обращаюсь к форумчанам, может кто сталкивался с этой проблемой?
Useful comment + 0 | Useless comment - 0
Saturday, November 9, 17:22:37 2019 | post link    
Name: Юрий E-mail: yura3816@gmail.com
Константин может есть предположения что это может быть? вот видео с поддергиванием кадра https://photos.app.goo.gl/tzXfu9zxa4ELKjZeA
Useful comment + 0 | Useless comment - 0
Sunday, November 10, 09:25:38 2019 | post link    
Name: Юрий E-mail: yura3816@gmail.com
Вобщем вопрос по поводу того что экран дергается решен, просто добавил резисторы по 100 ом и все стало стабильно. Спасибо Константин, схемку что дали приму на заметку, вот вобщем по какой схеме делал доработку, все получилось просто супер, результатом доволен, проверил уже на четырех разных телевизорах ж.к. везеде работает стабильно картинка отличная https://photos.app.goo.gl/tVHffpwsMw3aW6A96 https://photos.app.goo.gl/wF94n1EkvxJuA1uh6
https://photos.app.goo.gl/Q4e4pweyVkoXKh9V7

Useful comment + 0 | Useless comment - 0
Sunday, November 10, 12:34:18 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Константин, спасибо за ответ! В общем разобрался с этой неизвестной платой, восстановил обрезанные провода и о чудо эта хреновина заработала. Это что-то типа бегущих огней, цветомузыки и т.п. имеется 8 каналов, в ПЗУ зашито 24 программы. В общем штука интересная, но бесполезная. Пойдет на запчасти для новенького Пентагона 128)))
Useful comment + 0 | Useless comment - 0
Tuesday, November 19, 14:46:31 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Всем привет! Добрался до своего старенького КР-05, который когда-то раскурочил. Поменял пару битых счетчиков К555ИЕ7 (поставил 155 серии, других пока нет). С установленным процессором (без ПЗУ) есть бледная картинка, но нет матраца, экран и бордюр поочередно моргают. На шине данных тишина, ну т.е. +5в. Может, кто подскажет в какую сторону копать?
Useful comment + 0 | Useless comment - 0
Monday, November 25, 20:55:50 2019 | post link    
Name: Maks Maksov E-mail: garret.tenb@gmail.com
Добрый день. Хотелось бы уточнить один нюанс и я надеюсь Вы сможете мне помочь. У меня есть Ленинград 48К, он одно время работал исправно, но однажды перестал грузиться с пзу и стоял в режиме "матраса". Когда я обзавелся программатором и купил пару микросхем Winbond 27C512 с доступом 70, и прошил их, я ничего не получил кроме пустого экрана. Грузится компьютер, потом матрас, а потом пустой экран. Начал играть с адресами на флеше, пробовал с адреса 08000, пробовал всю память забить прошивкой, но ни с одного адреса она не подгрузилась, так же пробовал шить с адреса 0C000 и тоже ничего.

И так вопрос:

С какого адреса надо начинать прошивать Бэйсик?

PS: Надеюсь на Вашу авторитетную поддержку.

Useful comment + 0 | Useless comment - 0
Tuesday, November 26, 15:20:56 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Появились сигналы на шине данных, которые должны быть при отображении "матраса". Процессору "не нравилась" форма сигнала тактового генератора. Но матрас на экране так и не появился...
Useful comment + 0 | Useless comment - 0
Tuesday, November 26, 17:28:08 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Константин скажите пожалуйста, если на 14-х (MD0-MD7) ножках всех ОЗУ по осциллографу не понятно что (шум какой-то), то им хана да?
Useful comment + 0 | Useless comment - 0
Tuesday, November 26, 18:14:23 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Отпишусь еще раз сюда, может кто ответит...)))
ОЗУ проверил - рабочие, пришлось выпаивать и кроватки впаивать. Вставил ОЗУ, ПЗУ, проц. и проверил разные сигналы на плате осциллографом: WRBUF-есть, RAS-есть, INFV-есть, INT-есть, WAIT-есть, SCR-есть, WR-есть, TH-есть, H0-H7-есть, БС-есть, БК-есть, КС-есть, СС-есть, CAS-нет(H), IORQ-нет(H), RD-нет(L), IORD-нет(H), WE-нет(H). Не знаю в чем проблема, будем искать...

Useful comment + 0 | Useless comment - 0
Tuesday, December 3, 17:32:09 2019 | post link    
Name: Максим E-mail: ixide@mail.ru
Нашел две сопли: линия CAS коротила с плюсом а RD с землей. Исправил, появились сигналы CAS, RD и WE. IORQ и IORD так и нет, ищем дальше...
Useful comment + 0 | Useless comment - 0
Tuesday, December 3, 18:23:30 2019 | post link    
Name: Damask E-mail: Janerige@gmail.com
Привет, Константин!
У меня пк оризон-микро. Я пытаюсь подключить ay-3-8910 по схеме https://zxpress.ru/article.php?id=11995
Только микросхемы у меня другие,импортные аналоги. Похоже, что проблема в подключении к 1,75мгц, я так думаю. Если подключить как советуют к выводу 12 микросхемы ие7, то сыплятся артефакты и пк нормально не загружается. Если его отключить вовсе, то на экране черный квадрат с тонкими красными полосами. Методом тыка (не научно, но читабельной схемы нет, и частоту измерить нечем) подключился к 13 ноге одной из ие7. Загружается, артефактов нет, но и звука нет. Что я делаю не так? Схему проверял много раз. Грешу на источник 1,75мгц.
Если есть рабочее решение, буду благодарен!

Useful comment + 0 | Useless comment - 0
Sunday, December 15, 14:32:29 2019 | post link    
Name: 156
Damask. Найдите куда идет контакт от 6 ножки Z80.
Скорей всего к оной из ног (3,2,6,7) ИЕ7. Если к 3 то ищите 1,75 на 2 ноге, если на 2 то на 6, если на 6 то на 7.
Назначение контактов у ИЕ5 и ИЕ7 разное, в статье схема для получения 1.75 на отдельной ИЕ5.

Useful comment + 0 | Useless comment - 0
Monday, December 16, 01:43:20 2019 | post link    
Name: Damask E-mail: janerige@gmail.com
Спасибо за ответ, 156!
Вывод 6 z80 подключен к микросхеме к155лл1 к выводу 11. больше никуда не ведет.
Я так понимаю придется делать отдельный генератор? Сейчас посмотрю, может в других клонах вывод 6 тоже так подключен.

Useful comment + 0 | Useless comment - 0
Monday, December 16, 04:18:35 2019 | post link    
Name: 156
А 12 и 13 выводы с этой лл1?
Useful comment + 0 | Useless comment - 0
Monday, December 16, 04:28:21 2019 | post link    
Name: Damask E-mail: janerige@gmail.com
156, 12 вывод подключен к 4 ноге ее же, и к 13 и 2 ноге к555ла3.
13 вывод к 6 ноге кр1533тм2

Useful comment + 0 | Useless comment - 0
Monday, December 16, 05:04:25 2019 | post link    
Name: 156
Damask.
3 вывод кр1533тм2 ( к 6 ноге которого подключен 13 вывод лл1) должен идти к 5 ножке нужной ИЕ7. На 2 ноге нужной ИЕ7 должен выходить 1.75.
Вот тут я могу ошибаться. Схему можно найти тут -https://zx-pk.ru/threads/6435-vosstanovlenie-quot-orizon-micro-quot/page4.html , но для меня она почти не читаемая...

Useful comment + 1 | Useless comment - 0
Monday, December 16, 05:50:26 2019 | post link    
Posts: 2

<<<< 17 16 15 14 13 12 11 10 9 8 7 6 >>>>

Download all comments!

Hits: 1,281,289

Name or Nickname (Required):
E-mail (Optional):
Message (Required):
You can post comments anonymously but it is recommended to register here.

Programmed & Designed by Constantine Aygi
©2016 CXEMATEKA.RU